Simple API for Grid Applications

SAGA or "Simple API for Grid Aapplications" is the name of a family of related standards specified by the Open Grid Forum to define an application programming interface (API), for common distributed computing functionality.

Contents

Overview

The SAGA specification for distributed computing originally consisted of a single document, GFD.90, which was released in 2009.

Scope

The SAGA API does not strive to replace Globus or similar grid computing middleware systems, and does not target middleware developers, but application developers with no background on grid computing. Such developers typically wish to devote their time to their own goals and minimize the time spent coding infrastructure functionality. The API insulates application developers from middleware.

The specification of services, and the protocols to interact with them, is out of the scope of SAGA. Rather, the API seeks to hide the detail of any service infrastructures that may or may not be used to implement the functionality that the application developer needs. The API alignes, however, with all middleware standards within Open Grid Forum (OGF).

The SAGA API is designed to be extensible: a well defined mechanism exists to specify additional API packages which expand the scope of the API as needed. The SAGA Core API itself defines a number of packages: job management, file management, replica management, remote procedure calls, and streams. A large part of the SAGA Core API specification

Standardization

SAGA was standardized by the Open Grid Forum.

The SAGA Core API specification covers the following non-functional areas:

The SAGA Core API specification covers the following functional areas:

The following functional areas are supposed to be covered by SAGA API extensions:

Extensions

GFD-XXX

Implementations

Since the SAGA standard is not bound to a specific programming language, several implementations of the SAGA standards exist in different programming languages. Apart from the supported languages, they differ from each other in their completeness in terms of the standard coverage, as well as in the distributed middleware the support. The following table lists all currently known, public implementations :

Name Programming Language(s) Standard Coverage Supported Middleware
Bliss Python text for row 2, column 3 text for row 1, column 1
DESHL Python text for row 2, column 3 text for row 1, column 1
JavaSAGA Java text for row 1, column 3 text for row 1, column 1
JSAGA Java text for row 1, column 3 text for row 1, column 1
SAGA C++ C++ / Python text for row 1, column 3 text for row 1, column 1

See also

External links