Re: newbie: Shared Memory (What makes Orbit fast ?)
- From: Michael Meeks <michael ximian com>
- To: Juergen Fuhrmann <fuhrmann wias-berlin de>
- Cc: <orbit-list gnome org>
- Subject: Re: newbie: Shared Memory (What makes Orbit fast ?)
- Date: Thu, 1 Nov 2001 17:06:16 -0500 (EST)
Hi Juergen,
On Thu, 1 Nov 2001, Juergen Fuhrmann wrote:
> I am currently evaluating ORBs for a possible use in a distributed
> numerical simulation environment.
Sounds great.
> * Orbit is described to be fast on intra-machine communication. How
> this goal has been achieved ?
In ORBit stable by massively unrolled stubs / skels. In ORBit2 we
are using some more intelligent approaches, but as yet these are not as
fast as we would like :-) either way ORBit2 is simpler and more functional
that ORBit stable.
> * Is it possible to use shared memory transport, are there plans ? I
> looked up the sources and did not find SystemV IPC (TAO uses this but
> the source tree is huuuuge...)
I considered this once, and I had an idea recently about it; we
use Unix Domain Sockets for high speed local communications ( lots faster
than going via the full IP stack ). The problem with shared memory ( for
me ) is integrating it with the polling mainloop in most Gnome programs.
ie. it's relatively easy to setup the shmem segments etc. but to notify of
data arriving you have to use some signaling mechanism - which if it's a
UDS anyway, you might as well send the data too for small messages.
> * Is Orbit able to handle messages with e.g. one million floating
> point values ? -- In the ideal case, on two machines, there would
> happen something, and on a single machine, the two processes would
> share the memory rather than copy the data.
Well :-) 4 or 8x10^6 is a lot of bytes I don't know that ORBit2
will provide you with a nice abstraction for sending that sort of size
block of data, indeed I am sure that until we optimize that particular
code path it will be relatively slow.
Of course - the real benefit of ORBit2 is seen in-proc where we
simply map straight to the other method, but then you'd have to use
threads to parallel process - and ORBit2 whilst supposedly thread safe has
not been heavily tested for those loads.
So ... doesn't sound hopeful, but then - I don't know of anything
that will solve your problem any better.
HTH,
Michael.
--
mmeeks@gnu.org <><, Pseudo Engineer, itinerant idiot
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]