Distributing computations

Luke Gorrie luke@REDACTED
Mon Jul 28 15:40:35 CEST 2003

"Vlad Dumitrescu" <vlad_dumitrescu@REDACTED> writes:

> One of my work duties involves writing and running large
> number-crunching computations (taking for example 2-4 weeks when run
> on a single top-of-the-line machine). Since as everywhere there is a
> lot of PC power that is unused, I thought that having a platform for
> distributing and coordinating these computations would help a
> lot. And it might be a good way to introduce Erlang to the company.
> I convinced my boss to let me give it a try, and now I am
> investigating the options. The architecture that looks best right
> now is in the style of for example "SETI at home", with a server
> sending/receiving data and updating the local clients. Since the
> actual job is not suitable for Erlang (I tried) there will be small
> C programs thet will do the actual work.

I've never done any of this stuff, but have been doing some reading
and looking for an excuse to :-). You're not getting any solid info
out of me, but maybe some inspiring/entertaining/distracting links :-)

It seems the main trick is to design an algorithm that can run in
parallel. _Data Parallel Algorithms_ is a really cool introduction to
one flavour of this. It's geared towards very fine-grained parallelism
(when they analyse algorithms they usually assume infinite

Then it seems a popular package today is Parallel Virtual Machine
(PVM), http://www.csm.ornl.gov/pvm/pvm_home.html. I think you can turn
up a lot of applications of it via Google. (I have read some stuff
about raytracing algorithms with benchmarks of PVM vs. Connection
Machine and stuff.)

(BTW, I just read the last chapter of _The Connection Machine_, titled
"Connection Machine Physics, or Why Computer Science is No Good."


[1]: Data Parallel Algorithms, by Danny Hillis and Guy Steele.

More information about the erlang-questions mailing list