Jump to content

DRMAA: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
m Fixed up reference link names
Line 40: Line 40:
* [[C (programming language)|C]]
* [[C (programming language)|C]]
* [[C++]]
* [[C++]]
* [[Go (programming language)|Go]]<ref>[https://github.com/dgruber/drmaa Go DRMAA]</ref>
* [[Java (programming language)|Java]]
* [[Java (programming language)|Java]]
* [[JavaScript]]<ref>{{cite web|url=https://blogs.oracle.com/rhierlmeier/entry/java_drmaa_binding_with_javascript|title=Java DRMAA binding with JavaScript|date=2008-05-25|publisher=[[Oracle Corporation]]}}</ref>
* [[JavaScript]]<ref>{{cite web|url=https://blogs.oracle.com/rhierlmeier/entry/java_drmaa_binding_with_javascript|title=Java DRMAA binding with JavaScript|date=2008-05-25|publisher=[[Oracle Corporation]]}}</ref>
Line 46: Line 47:
* [[Python (programming language)|Python]] DRMAA2 Binding<ref>{{cite web|url=https://github.com/troeger/drmaa2-python|title=Python DRMAA2|date=2018-07-27}}</ref>
* [[Python (programming language)|Python]] DRMAA2 Binding<ref>{{cite web|url=https://github.com/troeger/drmaa2-python|title=Python DRMAA2|date=2018-07-27}}</ref>
* [[Ruby programming language|Ruby]]<ref>[https://github.com/jeremy04/drmaa4ruby-1.9 drmaa4ruby at github.com]</ref>
* [[Ruby programming language|Ruby]]<ref>[https://github.com/jeremy04/drmaa4ruby-1.9 drmaa4ruby at github.com]</ref>
* [[Go (programming language)|Go]]<ref>[https://github.com/dgruber/drmaa Go DRMAA]</ref>
* [[Tcl]]<ref>[https://github.com/fredyouhanaie/drmaatcl Tcl language bindings for DRMAAv1]</ref>

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



Revision as of 16:17, 25 March 2019

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

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. {{cite web}}: Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  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. {{cite web}}: Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  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. {{cite web}}: Unknown parameter |dead-url= ignored (|url-status= suggested) (help)
  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.
  18. ^ "Schedule::DRMAAc".
  19. ^ "DRMAA bindings for Python".
  20. ^ "Python DRMAA2". 2018-07-27.
  21. ^ drmaa4ruby at github.com
  22. ^ Tcl language bindings for DRMAAv1
  23. ^ "DRMAA Success Stories".
  24. ^ "LONI Pipeline Home Page".
  25. ^ "Work Flow Project Home Page". Sourceforge.
  26. ^ "EXLUDUS - MultiCore Optimization".
  27. ^ "GE-GT Adapter". Archived from the original on 2009-05-19. {{cite web}}: Unknown parameter |deadurl= ignored (|url-status= suggested) (help)