next up previous contents
Next: Remote Object Invocation Up: An Assessment of CORBA Previous: Server Scaling Behaviour   Contents

Assessment

From what we learned from the previous sections we conclude that the transport layer used for ORB communication is not the limiting factor of the maximum upcall rate. Any message based IPC mechanism other than sockets can be used to achieve a slight improvement. Shared memory transport is not straightforward to include into the ORB core as the OMG architecture requires a connection oriented messaging layer. Wrapping shared memory into such an interface causes loss of efficiency when exchanging small messages because of the need for separate notification. When making intramachine calls with large parameter data it is recommended to separate control and data information: a method should be invoked using the ORB with a parameter that represents a reference to a shared memory region. The receiver can then access the data and operate on them without making a private copy. Concerning overall performance, we conclude that CORBA in its current specification and available implementations is not yet suited for intramachine communication or data acquisition systems. Some of the reasons can be summarised as follows:

Although not yet well suited for high performance interprocess communication or fast control systems, CORBA provides features that credits it for other applications, namely the management of the computing cluster:

We will explain the possibilities of CORBA for building a cluster management system in greater detail in chapter 6.3.

Although we have to face the fact that current ORB technology is not suitable for deployment in high-speed data acquisition system, the object-oriented communication paradigm is still applicable. It is a natural link between distributed object-oriented components. In the next chapter, we present a custom toolkit for remote object invocation. We apply what we have learned from the CORBA evaluation to shrink the performance gap between the application and the bare communication channel. Furthermore, we have learned that we have to take independence of the transport layer into consideration from the beginning on. Providing efficient models for concurrent server architectures will also be an issue that is tackled in the next chapter. It has to be included as we learned that the scaling of CORBA is also limited by it's concurrency policies.


next up previous contents
Next: Remote Object Invocation Up: An Assessment of CORBA Previous: Server Scaling Behaviour   Contents
Johannes Gutleber
1999-10-29