DRMAA Implementations

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

Grid Engine (C & Java class library)

Since the arrival of N1 Grid Engine 6.0 in 2004, DRMAA was the primary API for Sun's Grid Engine product line.
Sun is dead, so there are several Grid Engine forks now, all supporting DRMAA as programming interface in both C in Java:

Condor (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.
Since 2006 (Condor 6.8 release), Condor is delivered with an implementation of the DRMAA C interface for 4 platforms
(Linux X86, Linux Itanium, Windows, MacOSX).

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.

IBM Tivoli LoadLeveler (C library)

PSNC DRMAA for LoadLeveler is an implementation of Open Grid Forum DRMAA 1.0 (Distributed Resource Management Application API) specification for submission and control of jobs to IBM Tivoli LoadLeveler. Using DRMAA, grid applications builders, portal developers and ISVs can use the same high-level API to link their software with different cluster/resource management systems.
This software also enables the integration of Smoa Computing with the underlying LoadLeveler system for remote multi-user job submission and control over Web Services.

SLURM (Simple Linux Utility for Resource Management) (C library)

PSNC DRMAA for Simple Linux Utility for Resource Management (SLURM) is an implementation of Open Grid Forum DRMAA 1.0 (Distributed Resource Management Application API) specification for submission and control of jobs to Simple Linux Utility for Resource Management (SLURM). Using DRMAA, grid applications builders, portal developers and ISVs can use the same high-level API to link their software with different cluster/resource management systems.
This software also enables the integration of Smoa Computing with the underlying SLURM system for remote multi-user job submission and control over Web Services.

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.

Teikoku Grid Scheduling Framework

The teikoku Grid Scheduling Framework (tGSF) is a generic JAVA based system for he development and application of resource management strategies in computational grids.
Teikoku comes with an implementation of the DRMAA Java binding.

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

The official Python binding of DRMAA 1.0 is implemented in an open source project. Several cluster frameworks deploy this implementation as additional wrapper around the exising C libraries.

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.

XML-RPC Wrapper Library

drmaa-xmlrpc is a quick XMLRPC wrapper around the DRMAA API implemented by most popular cluster schedulers. It is written in C and depends on xmlrpc-c and your scheduler's DRMAA implementation library. The end daemon is an abyss webserver serving out standard XMLRPC calls. API follows DRMAAc bindings - same function names and same arguments (omit any buffers meant to return values).