On Mon, Nov 24, 2008 at 6:41 PM "dokondr" <[EMAIL PROTECTED]> wrote: > > Any ideas how Clojure can be used for distributed concurrent > applications ? > To my mind it should be possible to implement in Clojure mechanism > similar to Erlang light-weight processes running on distributed > 'nodes' that can be addressed by 'ports' to send them 'commands'. > How this can be done with Clojure 'agents'? > An obvious solution would be to create an 'agent proxy' on every node > that will maintain a list of its agents and will forward (send ...) > messages to other nodes, as well as receive messages addressed to its > own agents from remote nodes and then deliver these messages to > correct agents. > Addressing scheme and message protocols should be developed as well. > Other ways to provide for communication between nodes? >
There was some talk about Clojure running on terracotta (www.terracotta.org) which is a distributed JVM (a single JVM instance running on distributed nodes). Depending on how well terracotta can pull it off, clojure's own implementation may remain simple. However, I am wondering if having a "clojure conscious" distributed version of agents, STM, Threads and the global namespace can prove to be better at efficiency and providing time-memory-network_traffic guarantees to the programmer. Immutability of objects and the design of the global and thread local namespace should reduce implementation hassles a lot. I will really appreciate some comments. Pinocchio --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~----------~----~----~----~------~----~------~--~---
