
Swarm: A true distributed programming language  - prakash
http://blog.locut.us/main/2008/10/7/swarm-a-true-distributed-programming-language.html
======
russell
Continuations are really neat devices. You can make any kind of flow-of
-control construct out of them. IIRC they were originally invented to formally
model the GOTO. However, in their full glory they are mind numbingly difficult
to understand and probably to debug. Basically in the Swarms model you are
passing around a chunk of program state to do the computation, and with it,
all the problems that data encapsulation is supposed to solve. I thing
debugging would be hugely difficult. Contrast this with message passing where
only the relevant values are sent, not the whole computational state.

The article says that 3.5% of instructions cause a continuation to be sent.
That's a huge percentage. A program would spend all its time marshaling and
unmarshaling.

One of the things that you want to do to increase efficiency is to promote and
exploit locality. You want to cluster the closely related objects on the same
node to reduce network traffic and latency. Constant moving of objects or a
bad distribution strategy is going to hurt that. I once worked on a
distributed database with automatic replication to ransom nodes. Performance
was killed by constant network chatter. The design goal was 1000 nodes, in
reality it maxed out at 16.

------
gsmaverick
Neat project. I think this is how we are going to fully take advantage of the
cloud resources we have right now.

