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:[22]

gollark: CC can only really send HTTP requests, do websockets, that sort of thing.
gollark: Technically, yes, with much work, but that wouldn't give it access to more I/O.
gollark: Sadly, it can't.
gollark: (It's running in an emulator because I can't be bothered to actually open the game)
gollark: I finally finished making the overengineered new update system for my "OS" for ComputerCraft (a Minecraft mod which adds computers) work!

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 - Data Sheet" (PDF). Univa Corporation.
  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. Riedel, M.; Menday, R.; Streit, A.; Bala, P. (2006-07-12). "A DRMAA-based target system interface framework for UNICORE". 12th International Conference on Parallel and Distributed Systems - (ICPADS'06). IEEE. pp. 6 pp. doi:10.1109/ICPADS.2006.13. ISBN 0-7695-2612-8.
  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. "Python DRMAA2". 2018-07-27.
  16. Go DRMAA
  17. "Java DRMAA binding with JavaScript". Oracle Corporation. 2008-05-25. Archived from the original on 2013-12-14. Retrieved 2012-10-23.
  18. "Schedule::DRMAAc".
  19. "DRMAA bindings for Python". January 2020.
  20. drmaa4ruby at github.com
  21. Tcl language bindings for DRMAAv1
  22. "DRMAA Success Stories".
  23. "LONI Pipeline Home Page".
  24. "Work Flow Project Home Page". Sourceforge.
  25. "EXLUDUS - MultiCore Optimization".
  26. "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.