Hello Tim and Konrad, I am interested in distributed parallel computing too ... I have prior experience coding with MPI and c .. but that besides the point .. while I was looking at options with clojure .. I recently came across swarmiji. https://github.com/amitrathore/swarmiji I don't know much to make any technical analysis of the tool .. just thought of throwing what little I knew in to the pot .. would love to hear any technical analysis from either of you or anybody else...
I come from the scientific computing community .. the likes of Computation Fluid Dynamics and related topics.. large matrix operations and such stuff.. Sunil. On Wed, Dec 22, 2010 at 2:20 PM, Konrad Hinsen <konrad.hin...@fastmail.net>wrote: > On 22 Dec 2010, at 09:28, Tim Daly wrote: > > Clojure works well for concurrency but does not really address >> the parallel question well. For that I've turned to MPI. >> I am working on using MPI from Clojure. >> > > That's a topic I am very interested in as well, although unfortunately I > never find the time to really do something. Some random thoughts based on > what I did look at in the past: > > 1) Parallel computing vs. distributed computing: these are two different > levels of complexity in my opinion. Parallel computing in a shared-memory > environment (e.g. fork/join style) is a much simpler problem than parallel > computing on distributed-memory systems, where you have to take care of > distributing data among the machines and try to minimize data exchange in > addition to balancing CPU load. There are some interesting approaches in > Clojure's par branch for the first problem. The second one deserves to be > tackled as well, but we should use another label than "parallel" to reduce > confusion. > > 2) MPI via Java - which one do you plan to use? > > 3) Exchanging data between nodes: as far as I know many Clojure data types, > in particular closures, are not serializable yet. > > 4) Efficient data exchange between nodes: it would be nice to able to > profit from MPI's efficiency for large homogeneous data sets (read: arrays) > in Clojure as well. Java arrays should be easy to handle efficiently, but > Clojure code tends to avoid them. Perhaps primitive-type vectors could be > transferred as arrays as well? > > 5) High-level layer: MPI is much too low-level for daily use. For > distributed programming in Clojure, I'd like to have a higher-level model > which abstracts away the synchronization issues that lead to deadlocks, race > conditions, and ultimately a miserable life for programmers. There are some > good ideas in the PGAS languages that would perhaps work fine in a Clojure > context as well. > > > These are some links others might find interesting. >> > > At first glance this looks promising - they are on my "to watch" list. > Thanks! > > Konrad. > > > -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to clojure@googlegroups.com > Note that posts from new members are moderated - please be patient with > your first post. > To unsubscribe from this group, send email to > clojure+unsubscr...@googlegroups.com<clojure%2bunsubscr...@googlegroups.com> > For more options, visit this group at > http://groups.google.com/group/clojure?hl=en > -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en