Other ORBs also support multi-threading, e.g., HP ORB Plus supports thread-per-request, PowerBroker from Expersoft supports a thread-pool model and ORBeline supports thread-per-session. They don't know what models that NEO supports.
They'll be covering the concurrency models of these other ORBs in their future columns.
To be honest, they think you'll be rather disappointed in the performance of MT ORBs at this point. They've been running a lot of benchmarks on our 20 CPU SMP Solaris platform using MT Orbix and aren't getting very good results yet...
Some overhead is due to the way that MT Orbix implements its threading model, which is very general and powerful, but inefficient due to high-levels of context switching. They are aware of the problem and are working to correct this in subsequent releases.
Other overhead is inherent in using certain concurrency model (such as thread-per-object) on contemporary multi-processors. If you'd like to see a more general explanation of this (i.e., not specific to CORBA) take a look at here.
That is, the server must be able to receive data addressed to its IP address that corresponds to the ATM interface, which is *not* the same as the host name. With Orbix and ORBeline this is possible by tweaking various command-line or environment options. However, with PowerBroker these doesn't seem to be an obvious way to make the server listen to a specific IP address.
However, we can't find any way to access the underlying socket descriptor in PowerBroker in order to set the socket size to the maximum. We can find a few include files related to sockets that had public member functions such as "getHandle", but we could not figure out how to use these classes with the PowerBroker server implementation.
We applied a brute force method to set the socket sizes. We defined a method in the interface that acts as a pre-processing routine that is called by the client before we start the measurements. In this method, we iterate through the socket descriptors from 3 to "MAX" and set the socket queue sizes.
Thus far, the performance we obtained transferring 64 MB of data between two hosts over an ATM network using PowerBroker has been very poor, compared to results we obtained for the other ORB implementations we've been testing. However, I suspect that part of the problem centers on our not having figured out the proper hooks to set the options described above.
Back to my Home Page