I think you have to decide what you are aiming for.  Is this a "solution" or
another tool in the toolkit.  I think Rich noted a while back that Clojure
can access many distribution technologies.  So if you want a solution right
now you can wrap one of those up and off you go.

If you want a "distributed clojure" you need to spend a little time working
out the most appropriate abstraction for Clojure to use (This is where Rich
excels IMHO, he always has a well thought out, coherent set of abstractions
he wants to support and is ruthless in trading things off against them).

So may question would be, how should Clojure do parallel computation? rather
than what features should it have?  Then you can see what is available for
leverage.

For example, if you think the best parallel abstraction for Clojure is CSP
because the implecations are well understood then you could look at JCSP as
an initial implementation.  If you think an Actor model is better then find
an Actor implementation.

(My own predjudice is to stick with a pure java toolkit with a simple
install rather than a load of dependencies)

Just my c/2.

Cheers

Tom

2009/1/30 Kevin Downey <redc...@gmail.com>

>
> have you looked at the available java frameworks like hadoop? there is
> also some kind of java interface to erlang
> instead of reinventing the wheel again...
>
> On Thu, Jan 29, 2009 at 6:15 AM, Greg Harman <ghar...@gmail.com> wrote:
> >
> > One of Clojure's big selling points (obviously) is the support for
> > concurrent programming. However, the performance gains you get with
> > this concurrency hits a scalability wall once you're fully utilizing
> > all the cores available in your server. The next step, of course, is
> > to add additional servers.
> >
> > So, I've been mulling over the idea of putting together a framework
> > for distributed applications. I think it should deal with issues such
> > as:
> >
> > * Locating, assessing, and registering CPUs
> > * Division of large jobs into smaller sub-jobs
> > * Dispatching of jobs, including optimization planning (send more jobs
> > to faster CPUs)
> > * Failure recovery
> > * Seamless code integration (so that this can be retrofit as an
> > optimization) both "horizontally" and "vertically"
> >   * Horizontal = take one time-consuming task and parallelize it
> >   * Vertical = take two sequential tasks and pipeline them across
> > different servers
> >
> > Is anybody already working on something similar? Is this already on
> > the Clojure language roadmap as something to be added after 1.0?
> >
> > Any design advice or feature requests if I were to put something like
> > this together?
> >
> > -Greg
> > >
>
>
>
> --
> And what is good, Phaedrus,
> And what is not good—
> Need we ask anyone to tell us these things?
>
> >
>

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

Reply via email to