DRMAA
Encyclopedia
DRMAA or Distributed Resource Management Application API is a high-level 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...

 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 Systems
    Cadence Design Systems
    Cadence 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 IBM
    IBM
    International 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 Microsystems
    Sun Microsystems
    Sun 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 Institute
    Robarts Research Institute
    The 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 Engineering
    Altair Engineering
    Altair 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 Condor
Condor 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 Engine
    Sun Grid Engine
    Oracle 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...

  • Condor
    Condor cycle scavenger
    Condor is an open source high-throughput computing software framework for coarse-grained distributed parallelization of computationally intensive tasks....

  • Torque/PBS
    Portable Batch System
    Portable 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...

  • GridWay
    GridWay
    GridWay 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...

  • Xgrid
    Xgrid
    Xgrid 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....

  • EGEE
    Egee
    Egee 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 LSF
    Load Sharing Facility
    Load 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....

  • UNICORE
    UNICORE
    UNICORE 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
  • SLURM
    Simple Linux Utility for Resource Management
    Simple 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

  • C
    C (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...

  • Java
    Java (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...

    /JavaScript
    JavaScript
    JavaScript 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....

  • Perl
    Perl
    Perl 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...

  • Python
    Python (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 Toolkit
    Globus Toolkit
    The 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

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK