Applications continue to grow in size and sophistication. Spreading applications across multiple processors and network nodes increases complexity due to interprocess communication, but there are ways to simplify this. The trick is to provide transparent communication facilities.
Most multiprocessor operating systems aren't that transparent when processes move from symmetrical multiprocessing (SMP) environments to distributed environments. Typically, application programmers turn to TCP/IP or protocols built on top of it. This is fine for cross-platform applications or those that work with third-party software, like Web browsers. However, this type of communication is less efficient than a transparent, cohesive interprocess communication system like those available from OSE Systems and QNX. Check out "Multiprocessor Messaging" (see p. 90) for more details.
Integration of multiprocessor communication with the operating system has other implications in areas such as encryption, security, and management. These features are often added on top of other protocols like SOAP, but they lack the efficiency and simplicity of integrated solutions.
As a systems designer, what approach works best for you? Drop me an e-mail note. I'm interested in hearing about your experiences.