Clutch: A Java framework for distributed computing

What is Clutch?

Clutch is a Java framework for distributed computing using mobile agents. It is meant to be a scalable toolkit that can be used to distribute computation across an arbitrary number of nodes.

What is MapReduce?

MapReduce is "a programming model and an associated implementation for processing and generating large data sets." It is a simplified programming model that allows the user to abstract most tasks into two simple operations - a "map" operation and a "reduce" operation. When coupled with Clutch, this simplified programming model can used to generate programs that can be executed on an arbitrary number of machines.

What is a "mobile agent"?

Mobile agents can be thought of as virtual nodes on which tasks can be executed. They are "mobile" in that they have the ability to migrate between (physical) nodes while maintaining enough state information to resume computation after migration.

How is this mobility accomplished?

Clutch's is built on top of the GRID middleware library ProActive, which gives it the ability to migrate code and data to remote JVMs. ProActive, in turn, is built on top of Java Remote Method Invocation (Java RMI)

How is Clutch licensed?

Clutch has been licensed under the GNU General Public License (GPL). ProActive is licensed under the GNU Lesser General Public License (LGPL).

Where can I get Clutch?

Take a look in the downloads area.

Where can I find user/implementation documentation?

Documentation for Clutch can be found here. API documentation can be found here. More coming soon! Logo