DRMAA

DRMAA or Distributed Resource Management Application API is a high-level Open Grid Forum API specification for the submission and control of jobs to a Distributed Resource Management (DRM) system, such as a Cluster or Grid computing infrastructure. The scope of the API covers all the high level functionality required for applications to submit, control, and monitor jobs on execution resources in the DRM system.

In 2007, DRMAA was one of the first two (the other one was GridRPC) specifications that reached the full recommendation status in the Open Grid Forum.[1]

In 2012 the second version of the DRMAA standard (DRMAA2) was published in an abstract interface definition language (IDL) defining the semantic of the functions in GFD 194.[2] DRMAA2 specifies more than twice as many calls as DRMAA. It covers cluster monitoring, has a notion of queues and machines, and introduces a multi job-session concept for single applications for a better job workflow management. Later in 2012 the C API was specified as a first language binding in GF 198.[3]

Development Model

The development of this API was done through the Global Grid Forum, in the model of IETF standard development, and it was originally co-authored by:

This specification was first proposed at Global Grid Forum 3 (GGF3)[4] in Frascati, Italy, but gained most of its momentum at Global Grid Forum 4 in Toronto, Ontario. The development of the specification was first proposed with the objective to facilitate direct interfacing of applications to existing DRM systems by application's builders, portal builders, and Independent Software Vendors (ISVs). Because the API was co-authored by participants from a wide-selection of companies and included participants from industries and education, its development resulted in an open standard that received a relatively good reception from a wide audience quickly.

Significance

Without DRMAA, no standard model existed to submit jobs to component regions of a Grid, assuming each region was running local DRMSs. The first version of DRMAA API has been implemented in Sun's Grid Engine and also in the University of Wisconsin–Madison's program Condor. Furthermore, C, Java, and IDL binding documents have been made available.

Implementations

Language Bindings

Other language bindings can be generated easily from SWIG, which was first used by the Perl binding.

DRMAA applications

A number of software solutions use DRMAA to interface with different resource management systems:[20]

References

  1. "DRMAA and GridRPC Documents Achieve "Grid Recommendation" Status". Open Grid Forum. 2008-01-07.
  2. "Distributed Resource Management Application API Version 2" (PDF). Open Grid Forum. 2012-02-01.
  3. "Distributed Resource Management Application API Version 2 - C Language Binding" (PDF). Open Grid Forum. 2012-12-01.
  4. GGF3 - The Third Global Grid Forum October 7 - 11, 2001
  5. "N1 Grid Engine DRMAA 1.0 Implementation – Experience Report" (PDF). Open Grid Forum. 2008-01-04. Archived from the original (PDF) on 2011-07-16.
  6. "Univa Grid Engine 8.0 - Data Sheet" (PDF). Univa Corporation. 2011-05-11.
  7. "Condor DRMAA 1.0 Implementation – Experience Report" (PDF). Open Grid Forum. 2008-01-04.
  8. "PBS/Torque DRMAA 1.0 Implementation – Experience Report" (PDF). Open Grid Forum. 2008-01-04.
  9. "GridWay DRMAA 1.0 Implementation – Experience Report" (PDF). Open Grid Forum. 2008-01-04. Archived from the original (PDF) on 2011-07-16.
  10. "XgridDRMAA". SourceForge. 2008-01-04.
  11. "A DRMAA-based target system interface framework for UNICORE". IEEE. 2006-07-12.
  12. "February 1, 2008" (PDF). 2008-02-01. Archived from the original (PDF) on 2011-07-24.
  13. "PSNC DRMAA for IBM LoadLeveler". 2010-12-20.
  14. "PSNC DRMAA for SLURM". 2010-12-20.
  15. "Java DRMAA binding with JavaScript". Oracle Corporation. 2008-05-25.
  16. "Schedule::DRMAAc".
  17. "DRMAA bindings for Python".
  18. drmaa4ruby at github.com
  19. Go DRMAA
  20. "DRMAA Success Stories".
  21. "LONI Pipeline Home Page".
  22. "Work Flow Project Home Page". Sourceforge.
  23. "EXLUDUS - MultiCore Optimization".
  24. "GE-GT Adapter". Archived from the original on 2009-05-19.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.