DRMAA
Encyclopedia
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
.
This specification was first proposed at Global Grid Forum 3 (GGF3) 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 Vendor
s (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.
. Furthermore C, Java, and IDL binding documents have been made available.
Other language bindings can be generated easily from SWIG
, which was first used by the Perl binding.
Open Grid Forum
The Open Grid Forum is a community of users, developers, and vendors for standardization of grid computing. It was formed in 2006 in a merger of the Global Grid Forum and the Enterprise Grid Alliance. The OGSA, OGSI, and JSDL standards were created by the OGF...
API
Application programming interface
An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...
specification for the submission and control of jobs to a Distributed Resource Management (DRM) system, such as a Cluster
Cluster (computing)
A computer cluster is a group of linked computers, working together closely thus in many respects forming a single computer. The components of a cluster are commonly, but not always, connected to each other through fast local area networks...
or Grid computing
Grid computing
Grid computing is a term referring to the combination of computer resources from multiple administrative domains to reach a common goal. The grid can be thought of as a distributed system with non-interactive workloads that involve a large number of files...
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
GridRPC
GridRPC is Remote Procedure Call over the Grid. This paradigm has been proposed by the GridRPC working group of the Open Grid Forum , and an API has been defined in order for clients to access remote servers as simply as a function call...
) specifications that reached the full recommendation status in the Open Grid Forum
Open Grid Forum
The Open Grid Forum is a community of users, developers, and vendors for standardization of grid computing. It was formed in 2006 in a merger of the Global Grid Forum and the Enterprise Grid Alliance. The OGSA, OGSI, and JSDL standards were created by the OGF...
.
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:- Roger Brobst from Cadence Design SystemsCadence Design SystemsCadence Design Systems, Inc is an electronic design automation software and engineering services company, founded in 1988 by the merger of SDA Systems and ECAD, Inc...
- Waiman Chan from IBMIBMInternational Business Machines Corporation or IBM is an American multinational technology and consulting corporation headquartered in Armonk, New York, United States. IBM manufactures and sells computer hardware and software, and it offers infrastructure, hosting and consulting services in areas...
- Fritz Ferstl from Sun MicrosystemsSun MicrosystemsSun Microsystems, Inc. was a company that sold :computers, computer components, :computer software, and :information technology services. Sun was founded on February 24, 1982...
- Jeff Gardiner from John P. Robarts Research InstituteRobarts Research InstituteThe Robarts Research Institute is in London, Ontario, Canada with a staff of more than 600 people. Robarts scientists include physicians and physicists, biologists and biomedical engineers, and the range of diseases they study include heart disease, stroke, diabetes, Alzheimer's disease, and many...
- Andreas Haas from Sun Microsystems (Co-Chair)
- Bill Nitzberg from Altair EngineeringAltair EngineeringAltair Engineering is a product design and development, engineering software and cloud computing software company. Altair was founded by Jim Scapa, George Christ, and Mark Kistner in 1985. Over its history, it has had various locations near Detroit, Michigan, USA...
- Hrabri Rajic from Intel (Maintainer & Co-Chair)
- John Tollefsrud from Sun Microsystems Founding (Chair)
This specification was first proposed at Global Grid Forum 3 (GGF3) in Frascati
Frascati
Frascati is a town and comune in the province of Rome in the Lazio region of central Italy. It is located south-east of Rome, on the Alban Hills close to the ancient city of Tusculum. Frascati is closely associated with science, being the location of several international scientific...
, Italy
Italy
Italy , officially the Italian Republic languages]] under the European Charter for Regional or Minority Languages. In each of these, Italy's official name is as follows:;;;;;;;;), is a unitary parliamentary republic in South-Central Europe. To the north it borders France, Switzerland, Austria and...
, but gained most of its momentum at Global Grid Forum 4 in Toronto
Toronto
Toronto is the provincial capital of Ontario and the largest city in Canada. It is located in Southern Ontario on the northwestern shore of Lake Ontario. A relatively modern city, Toronto's history dates back to the late-18th century, when its land was first purchased by the British monarchy from...
, Ontario
Ontario
Ontario is a province of Canada, located in east-central Canada. It is Canada's most populous province and second largest in total area. It is home to the nation's most populous city, Toronto, and the nation's capital, Ottawa....
. 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 Vendor
Independent software vendor
Independent software vendor is a business term for companies specializing in making or selling software, designed for mass marketing or for niche markets...
s (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 CondorCondor cycle scavenger
Condor is an open source high-throughput computing software framework for coarse-grained distributed parallelization of computationally intensive tasks....
. Furthermore C, Java, and IDL binding documents have been made available.
Implementations
- Sun Grid EngineSun Grid EngineOracle Grid Engine, previously known as Sun Grid Engine , previously known as CODINE or GRD , is an open source batch-queuing system, developed and supported by Sun Microsystems...
- CondorCondor cycle scavengerCondor is an open source high-throughput computing software framework for coarse-grained distributed parallelization of computationally intensive tasks....
- Torque/PBSPortable Batch SystemPortable Batch System is the name of computer software that performs job scheduling. Its primary task is to allocate computational tasks, i.e., batch jobs, among the available computing resources...
- GridWayGridWayGridWay is an open source meta-scheduling technology that enables large-scale, secure, reliable and efficient sharing of computing resources , managed by different DRM systems, such as Sun Grid Engine, Condor, PBS, Load Sharing Facility..., within a single organization or scattered...
- XgridXgridXgrid is a proprietary software program and distributed computing protocol developed by the Advanced Computation Group subdivision of Apple Inc that allows networked computers to contribute to a single task....
- EGEEEgeeEgee was a mythical Libyan queen, known in ancient Greece. Legend says she commanded an army of Amazon women warriors that traveled from Libya to Asia Minor to fight at Troy. Little else is known about her.-References:...
(LCG2 / gLite) - Platform LSFLoad Sharing FacilityLoad Sharing Facility is a commercial computer software job scheduler sold by Platform Computing. It can be used to execute batch jobs on networked Unix and Windows systems on many different architectures....
- UNICOREUNICOREUNICORE is a Grid computing technology that provides seamless, secure, and intuitive access to distributed Grid resources such as supercomputers or cluster systems and information stored in databases. UNICORE was developed in two projects funded by the German ministry for education and research...
- Kerrighed Cluster Framework
- IBM Tivoli Workload Scheduler LoadLeveler
- SLURMSimple Linux Utility for Resource ManagementSimple Linux Utility for Resource Management is an opensource job scheduler used by many of the world's supercomputers and computer clusters. It provides three key functions. First it allocates exclusive and/or non-exclusive access to resources to users for some duration of time so they can...
Language Bindings
- CC (programming language)C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....
/C++C++C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell... - JavaJava (programming language)Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...
/JavaScriptJavaScriptJavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles.... - PerlPerlPerl is a high-level, general-purpose, interpreted, dynamic programming language. Perl was originally developed by Larry Wall in 1987 as a general-purpose Unix scripting language to make report processing easier. Since then, it has undergone many changes and revisions and become widely popular...
- PythonPython (programming language)Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...
- Ruby
Other language bindings can be generated easily from SWIG
SWIG
SWIG is an open source software tool used to connect computer programs or libraries written in C or C++ with scripting languages such as Lua, Perl, PHP, Python, R, Ruby, Tcl, and other languages like C#, Java, Modula-3, Objective Caml, Octave, and Scheme...
, which was first used by the Perl binding.
DRMAA applications
A number of software solutions use DRMAA to interface with different resource management systems:- tigr-workflow
- eXludus RepliCator
- GridwiseTech Grid Engine-Globus ToolkitGlobus ToolkitThe Globus Toolkit, currently at version 5, is an open source toolkit for building computing grids developed and provided by the Globus Alliance.-Standards implementation:The Globus Toolkit is an implementation of the following standards:...
adapter