DRMAA
   HOME

TheInfoList



OR:

Distributed Resource Management Application API (DRMAA) is a high-level
Open Grid Forum The Open Grid Forum (OGF) 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 OGF models its process on the In ...
(OGF)
API An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software Interface (computing), interface, offering a service to other pieces of software. A document or standa ...
specification for the submission and control of jobs to a
distributed resource management A job scheduler is a computer application for controlling unattended background program execution of jobs. This is commonly called batch scheduling, as execution of non-interactive jobs is often called batch processing, though traditional ''job' ...
(DRM) system, such as a
cluster may refer to: Science and technology Astronomy * Cluster (spacecraft), constellation of four European Space Agency spacecraft * Asteroid cluster, a small asteroid family * Cluster II (spacecraft), a European Space Agency mission to study t ...
or
grid computing Grid computing is the use of widely distributed computer resources to reach a common goal. A computing grid can be thought of as a distributed system with non-interactive workloads that involve many files. Grid computing is distinguished from co ...
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 in distributed computing, is Remote Procedure Call over a grid. This paradigm has been proposed by the GridRPC working group of the Open Grid Forum (OGF), and an API has been defined in order for clients to access remote servers as simp ...
) specifications that reached the full recommendation status in the OGF. In 2012 the second version of the DRMAA standard (DRMAA2) was published in an abstract
interface definition language interface description language or interface definition language (IDL), is a generic term for a language that lets a program or object written in one language communicate with another program written in an unknown language. IDLs describe an inter ...
(IDL) defining the semantic of the functions in GFD 194. 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.


Development Model

The development of this API was done through the
Global Grid Forum The Open Grid Forum (OGF) 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 OGF models its process on the In ...
, in the model of IETF standard development, and it was originally co-authored by: *Roger Brobst from
Cadence Design Systems Cadence Design Systems, Inc. (stylized as cādence), headquartered in San Jose, California, is an American multinational corporation, multinational computational software company, founded in 1988 by the merger of SDA Systems and ECAD, Inc. The co ...
*Waiman Chan from IBM *Fritz Ferstl from
Sun Microsystems Sun Microsystems, Inc. (Sun for short) was an American technology company that sold computers, computer components, software, and information technology services and created the Java programming language, the Solaris operating system, ZFS, the ...
, now
Univa Univa was a software company that developed workload management and cloud management products for compute-intensive applications in the data center and across public, private, and hybrid clouds, before being acquired by Altair Engineering in Septe ...
*Jeff Gardiner from John P.
Robarts Research Institute The Robarts Research Institute is a medical research institute at the University of Western Ontario. Staff scientists work to investigate a range of diseases including heart disease, stroke, diabetes, Alzheimer's disease, and cancer. History The ...
*Andreas Haas from Sun Microsystems (Co-Chair) *Bill Nitzberg from
Altair Engineering Altair Engineering Inc. is an American multinational information technology company headquartered in Troy, Michigan. It provides software and cloud solutions for simulation, IoT, high performance computing (HPC), data analytics, and artificial ...
*Hrabri Rajic from
Intel Intel Corporation is an American multinational corporation and technology company headquartered in Santa Clara, California. It is the world's largest semiconductor chip manufacturer by revenue, and is one of the developers of the x86 seri ...
(Maintainer & Co-Chair) *John Tollefsrud from Sun Microsystems Founding (Chair) This specification was first proposed at Global Grid Forum 3 (GGF3) in
Frascati Frascati () is a city and ''comune'' in the Metropolitan City of Rome Capital 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 ...
,
Italy Italy ( it, Italia ), officially the Italian Republic, ) or the Republic of Italy, is a country in Southern Europe. It is located in the middle of the Mediterranean Sea, and its territory largely coincides with the homonymous geographical re ...
, but gained most of its momentum at Global Grid Forum 4 in
Toronto Toronto ( ; or ) is the capital city of the Canadian province of Ontario. With a recorded population of 2,794,356 in 2021, it is the most populous city in Canada and the fourth most populous city in North America. The city is the ancho ...
,
Ontario Ontario ( ; ) is one of the thirteen provinces and territories of Canada.Ontario is located in the geographic eastern half of Canada, but it has historically and politically been considered to be part of Central Canada. Located in Central Ca ...
. 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 An independent software vendor (ISV), also known as a software publisher, is an organization specializing in making and selling software, as opposed to computer hardware, designed for mass or niche markets. This is in contrast to in-house software, ...
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 Oracle Grid Engine, previously known as Sun Grid Engine (SGE), CODINE (Computing in Distributed Networked Environments) or GRD (Global Resource Director), was a grid computing computer cluster software system (otherwise known as a batch-queuing ...
and also in the University of Wisconsin–Madison's program
Condor Condor is the common name for two species of New World vultures, each in a monotypic genus. The name derives from the Quechua ''kuntur''. They are the largest flying land birds in the Western Hemisphere. They are: * The Andean condor (''Vult ...
. Furthermore, C, Java, and IDL binding documents have been made available.


Implementations

*
Grid Engine Oracle Grid Engine, previously known as Sun Grid Engine (SGE), CODINE (Computing in Distributed Networked Environments) or GRD (Global Resource Director), was a grid computing computer cluster software system (otherwise known as a batch-queuing ...
*
Univa Grid Engine Univa Grid Engine (UGE) is a batch-queuing system, forked from Sun Grid Engine (SGE). The software schedules resources in a data center applying user-configurable policies to help improve resource sharing and throughput by maximizing resource ut ...
*
HTCondor HTCondor is an open-source high-throughput computing software framework for coarse-grained distributed parallelization of computationally intensive tasks. It can be used to manage workload on a dedicated cluster of computers, or to farm out wor ...
* Torque/PBS *
GridWay GridWay is an open-source meta-scheduling technology that enables large-scale, secure, reliable and efficient sharing of computing resources (clusters, computing farms, servers, supercomputers...), managed by different distributed resource manag ...
*
Xgrid Xgrid is a proprietary 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. It provides network administrators a met ...
* EGEE (LCG2 / gLite) *
UNICORE UNICORE (UNiform Interface to COmputing REsources) is a grid computing technology for resources such as supercomputers or cluster systems and information stored in databases. UNICORE was developed in two projects funded by the German ministry ...
* Kerrighed Cluster Framework * IBM Tivoli Workload Scheduler LoadLeveler *
SLURM The Slurm Workload Manager, formerly known as Simple Linux Utility for Resource Management (SLURM), or simply Slurm, is a free and open-source job scheduler for Linux and Unix-like kernels, used by many of the world's supercomputers and compu ...
*
Python Python may refer to: Snakes * Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia ** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia * Python (mythology), a mythical serpent Computing * Python (pro ...
DRMAA2 Reference Implementation


Language Bindings

* C *
C++ C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
* Go *
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's List ...
*
JavaScript JavaScript (), often abbreviated as JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. As of 2022, 98% of Website, websites use JavaScript on the Client (computing), client side ...
*
Perl Perl is a family of two high-level, general-purpose, interpreted, dynamic programming languages. "Perl" refers to Perl 5, but from 2000 to 2019 it also referred to its redesigned "sister language", Perl 6, before the latter's name was offici ...
*
Python Python may refer to: Snakes * Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia ** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia * Python (mythology), a mythical serpent Computing * Python (pro ...
*
Python Python may refer to: Snakes * Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia ** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia * Python (mythology), a mythical serpent Computing * Python (pro ...
DRMAA2 Binding *
Ruby A ruby is a pinkish red to blood-red colored gemstone, a variety of the mineral corundum ( aluminium oxide). Ruby is one of the most popular traditional jewelry gems and is very durable. Other varieties of gem-quality corundum are called sa ...
*
Tcl TCL or Tcl or TCLs may refer to: Business * TCL Technology, a Chinese consumer electronics and appliance company **TCL Electronics, a subsidiary of TCL Technology * Texas Collegiate League, a collegiate baseball league * Trade Centre Limited, a ...
Other language bindings can be generated easily from
SWIG The Simplified Wrapper and Interface Generator (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 language ...
, which was first used by the Perl binding.


DRMAA applications

A number of software solutions use DRMAA to interface with different resource management systems: * LONI Pipeline * tigr-workflow * eXludus RepliCator * GridwiseTech Grid Engine-
Globus Toolkit The Globus Toolkit is an open-source toolkit for grid computing developed and provided by the Globus Alliance. On 25 May 2017 it was announced that the open source support for the project would be discontinued in January 201 due to a lack of fin ...
adapter


References


Distributed Resource Management Application API Specification 1
{{refend


External links


DRMAA's Project PageOpen Grid ForumCondor HomepageDRMAA binding for Platform LSFCondor Extensions ProjectDRMAA binding for Ruby
Grid computing Open standards