Erlang nodes can communicate over the network if they find each other. You can send a message to any process (differ from OS process) through its Pid – even if the process is on another node.
Although you don't have to know where processes are, it is still up to the erlang programmer to
... [More]
decide which node initially spawns a task on which node as there is no inherent way to make use of multiple nodes , even though they recognize each other & can message-pass between them.
Hence, this project attempts to load-balance the task of spawning tasks across multiple nodes . The steps involved can be isolated into a couple of distinct problems.
Steps
1. deciding which node needs to spawn a task
2. communicating across these nodes
3. maintaining a record of nodes, added /removed nodes ,etcThis project in its essence, deals with the first part and the implementation of the message passing begins with the "messenger.erl" program located at http://www.erlang.org/doc/getting_started/conc_prog.html and will be ported to different message-passing, load-balancing and node-information maintenance based on feedback,suggestions ,comments, and further changes inspired by the growing involvement of the erlang community & encouragement from #erlang in particular.
However, since the project is still in its early stages - better clarity & flexibility about which node takes load, but which node gets the result & how to communicate with least latency, is sought for.
For a fault-tolerant and inbuilt version provided within erlang , check the pool module
pool can be used to run a set of Erlang nodes as a pool of computational processors. It is organized as a master and a set of slave nodes and includes the following features:
* The slave nodes send regular reports to the master about their current load.
* Queries can be sent to the master to determine which node will have the least load.
src: http://erlang.org/doc/man/pool.htmlAlso online http://code.google.com/p/bspawner/wiki/HowTo http://code.google.com/p/bspawner/wiki/TODO
Other interesting placeshttp://erlang.org/doc/man/pool.html http://www.tornkvist.org/gitweb?p=mbrain.git;a=summary http://code.google.com/p/plists/ http://www.erlang.org/doc/reference_manual/distributed.html http://eddie.sourceforge.net #erlang More for information , ping ! bosky101 on #erlang and the web. [Less]