Sun Java Solaris Communities My SDN Account Join SDN
 

JavaOne Online Technical Sessions

Pump Up Your Technical Knowledge
Listen and watch as industry luminaries bring you the latest on Java technologies
Begin Product Tab Sub Links

Sigrid: The Simplest Possible Grid Computing Platform
TS-3108


Presenter: Tim Bray, Sun Microsystems, Inc


Suppose you are a programmer with a problem that would benefit from the application of numerous computers working in parallel. Given the remarkable amounts of memory and bandwidth that can now be concentrated in a few racks full of servers, the number of problems that would benefit is growing steadily.

It is useful to categorize grid-based applications as batch-oriented (runs for a while, produces output, stops) or service-oriented (runs forever, receives messages, emits messages).

There are a variety of infrastructure alternatives available to a programmer wanting to deploy an application on a grid. Some leading candidates now deployed in the field include DRMAA (drmaa.org) and MPI (mpi-forum.org), both of which have Java programming language APIs. Another option, particularly for service-oriented applications, would be the use of the Jini network technology, in particular the Rio framework (rio.jini.org). There is also a cluster of service-oriented grid work centering on the Gridbus Project, based on the work of Rajkumar Buyya, which includes a market-based economic framework.

The presenter encountered a particular class of service-oriented grid applications for which none of the existing infrastructure alternatives seemed attractive. This Java technology-based application was lightweight, wanted to achieve high performance by interchanging data as rapidly as possible across the network via direct TCP/IP socket writes, and was designed to do its own failure detection and error handling.

The services required from the network were simple: find CPUs that were free to undertake some process, send them a moderate amount of code and data to start the tasks running, launch them, and report back which node they were launched on. Sigrid (for Simple grid ) aims to be the simplest-possible grid engine that provides this minimum feature set.

Although its interface is simple, its implementation is fairly sophisticated. Any computer that runs the Java platform can participate in a Sigrid, by unpacking a single installation package and running a single command - no configuration work is required.

The implementation uses the discovery primitives of JXTA networking technology (while hiding them from the application programmer) and is designed to run more or less forever, surviving the failure of any arbitrary combination of network nodes and dynamically reconstructing its own state as necessary.

Its API also includes facilities for monitoring the execution of tasks and detecting asynchronously when they start and stop executing.

Sigrid is now passing a fairly arduous test suite and, by the time of the 2006 JavaOneā?  conference, will have been tested extensively and at a large scale using the Sun Grid infrastructure as a testbed.

Watch The Session
You need to be a registered Sun Developer Network member to view this multimedia session. If you are a registered SDN member, please click on "Watch Multimedia" button to log-in to view the multimedia session. If you wish to join SDN, please click here.

 
 
FREE White Papers on Java SE, Java EE, cloud computing and database technologies.
New SDN Member Only Offers Every Month Discounts, FREE white papers and more!
Java University and JavaOne Training Sessions