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
-~----------~----~----~----~------~----~------~--~---

Reply via email to