The goal of this project will be to create a distributed computation server
system that accepts and executes generic code. Here distributed means that it
must be possible to run the system's components on different physical machines.
These components will communicate with each other via java RMI.
The overall system will follow a kind of producer/consumer architecture in which
producers submit one or more code units to a central server, one or more
consumers retrieve these code units from the server, execute them and return
the results back to the server. As results come in, the server informs the
producer. The producer can then retrieve the results and post-process them in
whatever ways it chooses.