Bridging two distributed Erlang node groups ?

Joachim Durchholz <>
Mon Feb 9 18:29:21 CET 2004


Miguel Barreiro wrote:

>> a very high latency, low throughput point-to-point link (like worst
>> case 500 seconds, 4 kbits/sec :-) which I believe precludes making
>> the two nodes groups
> 
> Uh, interplanetary erlang? :-)

Seems more like satellite-relayed communications.
(Actually Nigel says so in his second message...)

> IMHO you really really don't want to run TCP over a link with 500 sec
> latency, and the (default) communications among beam machines runs
> over TCP.

Actually that's not a serious problem. You have to tweak some IP 
parameters to make this work properly, but it's being done all the time. 
Not that I'd expect an actual IP stack being used for satellite 
communication.

But whatever the protocol, Nigel will have to live with these latencies.

To answer the question whether this is feasible with Erlang, the 
question is not whether Erlang can live with a nonstandard protocol 
(from what I have seen, it's not very difficult to make Erlang use a 
different protocol).
The real question is whether the Erlang message passing mechanism will 
work reasonably with latencies on that order of magnitude. If message 
passing is entirely asynchronous, I see no problems that wouldn't be 
present with any other approach; however, if there's any handshake 
involved, the latency will probably become unacceptable.

It might to test any hypotheses in this area using a delaying TCP driver 
for Erlang. That driver could be done as a simple wrapper around the 
existing TCP driver, so it wouldn't be too difficult to do (and help to 
gain experience with writing Erlang networking drivers).

Regards,
Jo
--
Currently looking for a new job.




More information about the erlang-questions mailing list