|  |
Grid Application Framework for Java
A framework that abstracts all grid semantics from the application logic and provides a simpler programming model.
Date Posted: February 13, 2003
|
|
 |
 |
|
Update: October 28, 2004
Version 0.9.6 includes one more programming model for task distribution over a Globus Grid. This model is included through the integration of Distributed Parallel Programming Environment for Java (DPPEJ) with GAF4J.
What is Grid Application Framework for Java (GAF4J)?
Grid Application Framework for Java (GAF4J) is a lightweight framework that abstracts all grid semantics from the application logic and provides a simpler programming model that lines up smoothly with common JavaTM programming models.
How does it work?
GAF4J provides a layer of abstraction on top of the underlying grid infrastructure and provides an easy, comprehensible programming model with minimal possible extensions. It makes it possible for the programmer to create and trigger remote grid jobs akin to threads in existing application paradigms. Tasks such as file transfers, finding, and picking up the right resources on basis of "QoS" parameters and job execution can be taken up with the normal flow of the application logic.
Applications that create threads will now create task objects that will encapsulate the job class that is to be executed over the grid along with other dependencies (input/output data files, dependent JARs, etc.) absolute to the local node on which the application runs. These task objects can then be submitted for execution, in parallel with the current running thread. The status of the submitted tasks is periodically posted by the framework to a listener object in the application.
GAF4J provides client applications with two programming models for distributing computations over a Globus grid. They are as follows:
- A programming model for distributing tasks over the grid, where independent computation tasks can be distributed and executed over the grid
- A programming model for distributing threads over the grid, where a single task can be cloned into mutiple threads and distributed over the grid. Here the cloned threads can be synchronized using MPI-like message passing.
Further information is available in the GAF4J white paper and GAF4J Programming Model.
|
|
 |

|  | About the technology author(s): Albee Jhoney heads the Technology Incubation Centre in IBM Software Labs, India. This group focuses on innovations in emerging technologies such as grid computing, autonomous computing, collaborative computing using grid-based agent infrastructure, bio-informatics, information-based medicine, and business integration. Mr. Albee's current interest is in designing solutions and products for the life sciences industry.
Manu Kuchhal is a software engineer working with the Technology Incubation Centre. Pervasive computing has been the area of major focus for Mr. Kuchhal, and he has worked on technologies such as DB2 Everyplace, Mobile Notes, WAP/WML, J2ME, and more. His current interests include mobile software agents, grid computing, and P2P.
Mr. Venkatakrishnan is a software engineer working with the Technology Incubation Centre. He has been involved in the design of e-business applications over J2EE. Currently, his interests revolve around innovations in grid computing and business integration.
Shiva Kumar is a software engineer working in IBM Software Labs, India. Operating systems, compilers, embedded systems, and robotics have been the areas of major focus for Mr. Shiva. His current interests include Linux kernel, grid computing, and design patterns. | |
|
| |
|