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.
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).
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)
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.
