[Spread-users] Using Spread in a single system for local IPC
mgillen at bbn.com
Tue Nov 14 11:08:17 EST 2006
Alessandro Muzzetta wrote:
> I have a question regarding the use of Spread inside a system with soft
> real-time requirements.
> There are a group of processes residing in the same machine. The
> communications scenarios are two:
> 1) Sharing some data with many processes through shared memory. The
> sharing process would update the shared memory and let other processes
> access it in read-only mode.
> 2) Passing and receiving commands from processes through dedicated FIFOs.
> Spread, however, has a more straightforward API and can be used for both
So you'd use a single-daemon-single-host configuration where all processes are
on the same host?
> My doubt is if its performance would be comparable to the native IPC
> system calls, given that the processes require soft real time
Well, there's only one way to find out: write some quick performance tests and
find out just what the overhead of each approach is. I'm sure this list would
be interested in any results you produce.
However, you should note that there are some fundamental differences between
the shared-memory approach you describe and using Spread. For example, if you
have a high-rate data-producer, and a low-rate data-consumer that only cares
about the latest data, then a Spread version would necessarily be more
inefficient. But whether that's an issue (and if so, whether it's an issue
you care about) really depends on the type of application you're building.
More information about the Spread-users