Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm writing an application that could potentially be run on any cluster resource scheduler (SGE, LSF or SLURM to name a few of them), using very basic functionalities.

I'm wondering if a framework/abstraction layer does exist for interacting with such tools in a product-agnostic manner ?

share|improve this question
up vote 4 down vote accepted

The DRMAA API is supported by all of the major resource schedulers either directly or via an add-on libray. The v1 API is supported by most products but it's quite limited in scope, it basically only handles job submission and only provides a common subset of functionality. The v2 API provides functions for job control and monitoring, but as far as I know has not been widely adopted yet.

share|improve this answer

No abstraction layer type software has been adopted into the mainstream of distributed computing mostly due to the fact that most clusters do not share users and resources between them. There are some exceptions for instance some universities and academic institutions employ the use of Condor to take advantage of desktop machines spread throughout a campus, but it isn't suited particularly well for some types of jobs.

Delving a little deeper though schedulers can sometimes get quite involved if your using something other than a PBS variant and even between those schedulers there are some weird inconsistencies that can arise when trying to take advantage of certain features.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.