I'm thinking about applications like SETI@home and folding@home, that
distribute processing tasks across huge numbers of PCs, taking advantage
of shared cycles to run long-running, data intensive jobs that can be
parallelized -- and more generally about the BOINC platform
(http://boinc.berkeley.edu).
Seems to me that Erlang would be a great platform for such things. Sort
of wondering if anybody has played with anything along such lines.
Miles Fidelman
--
In theory, there is no difference between theory and practice.
In practice, there is. .... Yogi Berra
_______________________________________________
erlang-questions mailing list
erlang-q...@erlang.org
http://erlang.org/mailman/listinfo/erlang-questions
I have a project called CloudI (http://cloudi.org) that provides a SOA framework that allows you to connect CloudI distributed Erlang clusters together with ZeroMQ bridges, to surpass the distributed Erlang fully connected network topology limitations. When doing things that way, you would create CloudI services that communicated through message passing using the CloudI API, and the internal routing takes care of service communication (through ZeroMQ or distributed Erlang messaging). Its an open source project (BSD license), so you host it yourself "for greater good".
- Michael
As has been said, the fully connected mesh practically limits you to
50 - 150 nodes, at least in my experience. You will also find that
connections flap quite a bit across unreliable networks, wreaking
havoc in your application if you don't design for it.
We (CloudBees) have several hundred Erlang VMs running in
non-distributed mode. Our main backbone for messaging is RabbitMQ, but
we're actively moving away from AMQP toward 0MQ.
The cost for moving outside distributed Erlang is you lose the famed
"location transparency" feature that lets you seamlessly distribute
your application without significant changes to your code. The upside
is you can safely move well beyond the limits of a full connected
mesh.
I haven't tried with the hierarchical / hidden node approach that
Adrian mentioned, but I'm very glad to see a number like 750!
If you're talking SETI like applications, that suggests an unbounded
limit. I'd definitely look at 0MQ -- you'll have enough low level
flexibility in your messaging topology to tackle that hard problem.
Garrett
What would happen if you had 1000 nodes in a box with a reliable but
not ultrafast interconnect? I'm not talking about multicore here,
although 16 Tileras in a smallish box doesn't seem unlikely any more,
but say 1000 separate-physical-address-space nodes connected as a
tree or a hypercube or something.
Could distributed Erlang be set up in some hierarchical fashion?
It seems to me that there are three issues:
- number of points of authentication
(network: many; cluster-in-a-box: one)
- number of eavesdropping points
(network: many; cluster-in-a-box: one)
- number of communicating devices
(network: many; cluster-in-a-box: many)
and that just thinking in terms of authentication and eavesdropping,
distributed Erlang makes perfect sense for cluster-in-a-box,
IF it works at that scale.
The Magnus project that Fergus O'Brien was involved with would have
been using Erlang in this way, I believe.
Ulf Wiger wrote:
>
> It should be noted that there is an ongoing EU-funded research project
> which aims to address the limits of the current fully-connected approach.
>
> http://www.release-project.eu/
> http://www.release-project.eu/documents/RELEASEfactsheetv6.pdf
>
> The high-level goal is to figure out how to build clusters of up to
> 10^5 cores. We envision having to improve both SMP scalability (beyond
> 100 cores per node) and Distributed Erlang scalability (more than 1000
> nodes), and offer powerful and fault-tolerant standard libraries for
> high productivity. One factor that speaks for Erlang in this realm is
> that MTTCF (mean time to core failure) for a cluster of that many
> cores, given current technology, could be less than an hour. This
> necessitates a solution that can handle partial failure.
>
>
--
In theory, there is no difference between theory and practice.
In practice, there is. .... Yogi Berra
If they ever visit Dunedin, it will be an honour and a pleasure to do so.