DRMAA Implementations

The following implementations of the DRMAA 1.0 specification are currently available.

Grid Engine (C & Java class library)

Enthusiasts from Sun worked hand in hand with engaged Grid Engine open source project members on a C DRMAA library. It became available mid of 2004 with Sun's N1 Grid Engine 6.0 followed by Java class library less than half a year later. Both DRMAA bindings are general purpose and also are available with the community supported courtesy distribution. Since end of 2005 Grid Engine product version can be used unlimited for free trial. Grid Engine offers rich sets of policies as required for professional use in large and heterogeneous compute networks. Besides it holds ready many resource types and schemas for adequate integration with all kinds of applications to facilitate operating demanding compute farm environments.

Condor 6 (C library)

Condor is a specialized workload management system for compute-intensive jobs. Like other full-featured batch systems, Condor provides a job queueing mechanism, scheduling policy, priority scheme, resource monitoring, and resource management. Users submit their serial or parallel jobs to Condor, Condor places them into a queue, chooses when and where to run the jobs based upon a policy, carefully monitors their progress, and ultimately informs the user upon completion. Unique mechanisms enable Condor to effectively harness wasted CPU power from otherwise idle desktop workstations. The Condor 6.8.x series contains an implementation of the DRMAA C interface. Please note that from version 6.7.15, Condor provides an improved version of the library for 4 platforms (Linux X86, Linux Itanium, Windows, MacOSX).

A DRMAA Java library for Condor was announced by Victor Felix on the mailing list.

PBS/Torque (C library)

TORQUE is an open source resource manager providing control over batch jobs and distributed compute nodes. It is a community effort based on the original PBS project. The people from CASPer Labs provided a first DRMAA C library for the Torque resource manager. A second implementation for Torque is available from the OpenDSP team (http://sourceforge.net/projects/pbs-drmaa/).

LSF (C library)

FedStage DRMAA for LSF library is an implementation of Open Grid Forum DRMAA 1.0 (Distributed Resource Management Application API) specification for the submission and control of jobs to Platform LSF. Grid applications builders, portal developers and ISVs can use the same high-level APIs to link their applications with different cluster/resource management systems such as Condor, SGE, Torque or SLURM. This software also enables the integration of Fedstage Open DRMAA Service Provider (OpenDSP) with the underlying Platform LSF system for remote multi-user job submission and control over Web Services.

GridWay Framework (C & Java class library)

The GridWay Meta-scheduler is a Globus project that enables large-scale, secure, reliable and efficient sharing of computing resources (clusters, computing farms, servers, supercomputers...), managed by different DRM (distributed resource management) systems, such as PBS, SGE, LSF, Condor..., within a single organization (enterprise grid) or scattered across several administrative domains (partner or supply-chain grid). GridWay 5.0 contains an implementation of the DRMAA C 1.0 and DRMAA Java 1.0 bindings.
The GridWay project also provides several DRMAA-related documents and software, like the Application Developer Guide (DRMAA C/JAVA bindings). Several GridWay users are using DRMAA to port their applications to large-scale Grid infrastructures (EGEE, SURAgrid).

EGEE (LCG2 / gLite) Framework (C library)

Jose R. Valverde announced on the DRMAA mailing list that he is working on a DRMAA implementation for EGEE.

Kerrighed Framework (C library)

Marko Novak announced a DRMAA implementation for the Kerrighed cluster framework.

Unicore Framework (C library)

The UNICORE Grid middleware system has been developed since the mid 1990s, and is currently used in daily production at many supercomputing centers worldwide. The Unicore Target System Interface Framework for UNICORE is now using is DRMAA as frontend to systems such as Condor, Sun Grid Engine, Globus or Torque. The implementation is documented in a conference paper.

Perl Wrapper Library

The Perl CPAN repository contains a DRMAA Perl module, based on a SWIG conversion of the DRMAA C interface.

Python Wrapper Library

On Grid Engine project download there is a Python DRMAA implementation package, based on DRMAA C interface

Ruby Wrapper Library

Under drmaa4ruby.sunsource.net you find an open source project that works a Ruby DRMAA class binding based on DRMAA C interface and Ruby/DL. Also sample applications are kept there.
 
Idologic Valid XHTML 1.0 Strict Valid CSS!