[erlang-questions] local vs. distributed differences?

Richard Andrews <>
Sat Apr 4 14:04:50 CEST 2009


> reading the McErlang stuff, i learned that message delivery order is
> only guaranteed when things aren't distributed. (looking around on the
> net, it i've heard that it is further only when you have multiple
> messages going from the same sender to the same receiver.)
> 
> so it sounds like taking a multi-actor local system and then trying to
> scale out by moving to a bigger distributed system could turn up some
> interesting "bugs". what are people's experience with this?

In my experience order of delivery *is* guaranteed between any *two* processes. You can consider the vaguaries of network propagation time as being similar to unpredictable scheduling of processes.
 
The same problem exists within a single node. eg. given processes A, B and C where A sends two messages to C and B sends one messages to C - the messages at C may be ordered:
 A1,A2,B1 or
 B1,A1,A2 or
 A1,B1,A2
depending on the relative scheduling of A and B. But A2 will always be after A1 in the mailbox. Same is true between nodes except that some messages may not be delivered at all.


      Yahoo!7 recommends that you update your browser to the new Internet Explorer 8.Get it now.



More information about the erlang-questions mailing list