Melvin Koh's Weblog

I'm just a contractor

« Previous day (Feb 28, 2007) | Main | Next day (Mar 2, 2007) »

20070302 Friday March 02, 2007


Clustered JVM - Terracotta

Terracotta is an open source distributed shared object facility for Java, which allows multithreaded applications to run on clusters with minimal changes. It works with existing application servers and other web platforms, which makes distributing application loads across multiple nodes (JVMs) straightforward. It performs thread synchronization and even thread migration transparently for the user.

In addition to the runtime facilities, Terracotta provides a declarative approach to clustered software. That is, the programmer merely annotates which data members are shared. Likewise, the user may specify which methods contain critical sections, thereby creating a monitor.

The system architecture relies on a central server that stores the state of shared objects. Client nodes (JVMs) receive updates for objects currently in memory; thus, any data transfers occur only at the object level. For fault tolerance, the server itself may be clustered with one live and others in standby.

Best of all, it is open source. While I still don't think that Java is suitable for building HPC applications, the solution may be great for developing Grid and cluster management tools.
 

Posted by melvin ( Mar 02 2007, 02:41:15 PM SGT ) Permalink Comments [0]


This is a personal weblog, I do not speak for my employer.