Components for Grid Computation
- Basic Computation Mechanisms
- Distributed Programming Frameworks
- Components for Metascheduling
- Components for Virtual Data
Support for distributed computation is one of the earliest areas of exploration in Grid computing, and many tools have been developed in this area. Many more are needed to fill out this space, however, because there are so many issues (accounting, "sandboxing", consistent runtime environments, etc.) involved in allowing people to run jobs or use services on a compute resource.
The Globus Toolkit's GRAM interface, combined with a local scheduler, provides a basic mechanism for remote job submission and the related file staging and I/O requirements. Other components in this area seem to fall into three major categories: metascheduling (aka brokering), distributed programming frameworks, and virtual data.
Related solutions: The Solutions section of this website provides examples of these components being used in scientific projects.
- GRAM - The Globus Toolkit's GRAM service, client interfaces, and tools have supported much of the Grid's success to date in large-scale distributed computation. In its simplest form, GRAM provides a uniform interface for submitting and controlling jobs on heterogeneous Grid computation elements.
- GRAM Scheduler Plugins - The GRAM service can be used in conjunction with a scheduler to provide a managed computation service. These "plugins" provide the critical interface between the GRAM service and several popular schedulers.
These components provide programming support for developing distributed applications using three familiar frameworks: RPC, message passing, and workflow.
- NetSolve/GridSolve - NetSolve/GridSolve is an RPC-based library for executing solver code on Grid resources.
- Ninf-G - Ninf-G allows existing programming libraries to be used in a distributed fashion on a Grid using the RPC framework.
- MPICH-G2 - MPICH-G2 is a Grid-enabled implementation of the popular MPI (Message Passing Interface) framework
- Condor-G, DAGman - Condor-G and DAGman can be used to execute complex workflows (consisting of multiple independent or related jobs) using Grid compute resources via GRAM or Condor.
Metaschedulers optimize the use of distributed compute pools by accepting computation requests at a central point and distributing these requests to available resources in order to meet utilization goals.
- CSF - The Community Scheduler Framework (CSF) is a set of modules that can be assembled to create a metascheduling system that accepts job requests and executes them using available Grid compute services.
- GridWay - GridWay is a lightweight metascheduler that performs job execution management and resource brokering.
Virtual data tools help manage the trade-off between the resources required to store data and the resources required to (re)produce it.
- Chimera - Chimera captures the steps in a data analysis process and stores them in a catalog for later reuse.