views:

111

answers:

3

I have a small cluster of Linux machines and an account on all of them.
I have ssh access to all of them with no-password login.

How can I use actors or other Scala's concurrency abstraction to achieve distribution ?
What is the simplest path?
Does some library can distribute the processes for me?

The computers are unreliable, they can go on and off wheter they (students) feel like it.
Does some library can distribute the processes for me and watch for ready computers?
Can I avoid bash scripts?

+1  A: 

What you are looking for is a grid. For a free one take a look at http://www.jppf.org/

JavaSpaces allows you to create distributed Data Structures that facilitate Distributed Computing. Not cheap, but look at GigaSpaces for a robust implementation.

This book gave me an eye opening experience of the possibilities.

Romain Hippeau
+2  A: 

You could use Scala's build in support for remote actors. Browse the web or see http://stackoverflow.com/questions/540906/scala-remote-actors for additional information.

You could also take a look at GridGain a very easy to use grid computing framework for Java and Scala.

gruenewa
+3  A: 

I'd use Akka in your place. It is a distributed computing platform for Scala and Java, based on Erlang's Actor model. In particular, the let-it-fail philosophy it inherits from Erlang is particularly well suited to an environment where the nodes might go off at any time.

Daniel
How can I distribute Akka's actors?
Łukasz Lew