Glyph Lefkowitz wrote:
On Feb 21, 2010, at 8:00 PM, Alexandre Quessy wrote
Hello everyone,
I have done something similar to this, but I used the children IO
stream to control them. Maybe I should have done that using some
higher level protocol, such as AMP or PB.
    
Using a higher-level protocol is generally better, if for no other reason that it gives you a framework within which to document your design decisions.  It's much easier to say "An AMP command with a 'foo' String argument and a 'bar' Integer argument" than to say "The first two bytes of the message are the length of the first argument.  The next n bytes are the first argument.  The first argument shall be interpreted as... (etc, etc)"
I'm working on an interface right now to the spread toolkit, (http://spread.org), which implements virtual synchrony, (http://en.wikipedia.org/wiki/Virtual_synchrony).

For distributed, symmetric, fault tolerant parallelism in small to medium scale with high reliability, this might be an option.

--rich