Hi Jack,

I'm CC'ing the GC3Pie mailing-list -- feel free to continue the
discussion there, as I guess this would be off-topic for the EasyBuild
mailing-list.

On 12 August 2014 16:21, Jack Perdue <[email protected]> wrote:
> Just curious... how does GC3Pie compare/contrast
> to DRMAA?
>
>  http://en.wikipedia.org/wiki/DRMAA

They're quite different :-)

1) DRMAA is an API specification.  Each batch system
   has its own implementation, mostly providing a C interface.
   Python or other language bindings are provided on top of it.

   GC3Pie is a Python framework, and you have to write your code in
   Python in order to use it.

2) DRMAA clients talk to a local batch system, i.e., DRMAA client code
   must run on a submit host.

   GC3Pie can use SSH or ARC transports and submit jobs to remote
   batch systems.  Typically, users run a GC3Pie "master" script on
   their laptop and the scripts connect to cluster frontends over SSH
   to manage jobs.

3) A specific DRMAA library is tied to a single batch system
   implementation: you cannot have your DRMAA application talk to
   GridEngine and LSF at the same time.

   GC3Pie can submit to different "computational resources", each of
   which can use a different back-end.  You can, for instance, run
   jobs on a SLURM cluster and on VMs on an OpenStack IaaS cloud.

4) Last time I checked, DRMAA had support for job arrays.

   GC3Pie supports more complex workflows (compose jobs in sequences
   and parallel sections), which can be altered by Python code when
   the workflow is running.

5) DRMAA allows running jobs asynchronously, via JobCallbacks

   GC3Pie has no notion of callbacks and must poll periodically
   for the job status.

6) DRMAA supports btach system features like advance reservation and
   machine information, which GC3Pie has no idea about.

7) GC3Pie has quite a larger memory footprint.  You need approximately
   1GB of RAM per 40'000 jobs.


Disclaimer: I am a GC3Pie developer (hence biased) and I have no
first-hand experience on DRMAA -- all of the above is based on my
reading of the DRMAA specification document when we were deciding
whether we should write a GC3Pie backend for DRMAA.  I welcome any
correction!

Ciao,
R

Reply via email to