[omniORB] Local transport [ was co-locationoptimizations etc]

Sai-Lai Lo S.Lo@uk.research.att.com
12 Apr 2000 16:56:03 +0100


The short answer is that the code for the shared memory and SCI transport
described in the paper has never been released publicly.

The SCI transport was written to use a specific hardware and a custom
driver that I doubt it is of any use to anyone other than people that have
the same hardware and driver.

While the shared memory transport may be useful generally, I'm not happy
with the semantics of SysV shared memory API and the way the
transport use the API. In short, it is easy to leave orphan shared memory
segment if the client and/or server crashes.

There is also the issue of whether one wants to insert a local transport
profile into the IOR of an object. This seems to be a common practice with
other ORBs. I think this is not a satisfactory solution. It is frequently a
requirement that an object's IOR has to be the same even after the server
is restarted. To maintain this property one has to resort to pinning down
the IIOP port number. It is rather hairy if one has to pin down the local
transport endpoint as well. 

Local transport optimization is the next thing I'm going to do (after the
SSL transport). The current plan is to run a "local transport coordinator"
per machine which keep track of the local rendevous points of the servers
running on that machine. When the client determines that the server is
omniORB running on the same machine, it contacts the coordinator to get its
local rendevous point. If that fails it falls back to vanilla IIOP.

This is all work in progress and will be merged into omniORB 3 in the not
so distant future. To read more about the development plan, please search
the archive for my posting a while back (topic: GIOP 1.2 support).

Sai-Lai

>>>>> Jeff Graham writes:

> But I noticed in the omni report  "The Implemetation
> of a High Performance ORB over Multiple Network Transports" (TR.98.4.pdf)
> that there exists several other optimizations of which I am especially
> interested in the "shared memory" transport and the "SCI" transport.

> Do you know if these are supported in Omni3 and how to force their use, since
> according to Table 2 page 12 of the report, the shared memory transport
> is faster than the local loopback device and the SCI transport is
> superior in some aspects.

-- 
Sai-Lai Lo                                   S.Lo@uk.research.att.com
AT&T Laboratories Cambridge           WWW:   http://www.uk.research.att.com 
24a Trumpington Street                Tel:   +44 1223 343000
Cambridge CB2 1QA                     Fax:   +44 1223 313542
ENGLAND