CSRunner (Cycle Scavenging Runner)


csrunner [OPTIONS] <jdf>


CSRunner (Cycle Scavenging Runner) is designed for running parameter sweep applications at a low priority without being in the way of regular grid users or local users. It uses SSH and DRMAA to perform job submissions. It first submits launchers (pilot jobs) to the execution sites, and the launchers pull jobs from the CSRunner to execute them. For the details of the CSRunner please see this paper.


-h, --help: show this help message and exit 

-mMAX_NODES, --max_nodes=MAX_NODES: when set to any value higher than 0, it is the maximum number of nodes the job will claim. [default=unlimited]
-sSTATE, --state=STATE: indicates the name of a state .dat file that includes unfinished commands from a previous run. [default=None]
-vVERBOSITY, --verbosity=VERBOSITY: sets the verbosity level of printed runner output. 0 is silent mode, 1 shows only standard output, 2 also shows errors, 3 also shows warnings. 4 shows only errors and warnings. [default=2]
-lLOGLEVEL, --loglevel=LOGLEVEL: sets the verbosity level of logged runner output. 0 is silent mode, 1 shows only standard output, 2 also shows errors, 3 also shows warnings. 4 shows only errors and warnings. [default=0]
-d, --debug: sets debug mode
-iINTERVAL, --interval=INTERVAL: the interval of state saves in seconds [default=150]
-t, --stats: sets whether runner statistics should be dumped at the end
-rRDIR, --remote_directory=RDIR: the remote directory to transfer the inputs and executables to run the job. A suffix is appended to this directory name which  is the KOALA job number plus job try count. [default=cs_output]


Running Unix echo command as a PSA:

In this example we run a simple parameter sweep which echos some integers specified by the range with the following job description:

<job name="echo_job">
        <exclude>fs2.das3.science.uva.nl </exclude>
        <task executable="/bin/echo">
                <parameter flag=" ">

The output for this run is here

Running Unix cat command as a PSA: 

Here is another example that shows how to run the same executable with different input files:

 <job name="cat_job">
        <exclude>fs2.das3.science.uva.nl </exclude>
        <task executable="/bin/cat">
                <parameter flag=" " type="inputfile">
                       <loop prefix="input_" suffix=".dat">

When we submit this JDF with CSRunner, it runs two instances of the Unix cat command with input files "input_1.dat" and "input_2.dat". Here is the output of this run.



  • January 2013: MR-Runner upgraded! Now the MR-Runner deploys Hadoop-1.0.0 clusters, compatible with Pig-0.10.0. 

  • December 2012KOALA 2.1 released! Deploy MapReduce clusters on DAS-4 with the Koala MR-Runner

  • November 2012:  Best Paper Award at MTAGS12 workshop (co-located with SC12) with work on MapReduce!

  • November 2009KOALA 2.0 released! You can now run Parameter sweep applications (PSAs) with KOALA CSRunner

  • April 2008: New KOALA runner! The OMRunner enables DRMAA and OpenMPI job submissions. 

  • July 2007: Paper accepted at Grid07 conference with work on scheduling malleable jobs in KOALA.

  • May 2007: KOALA has now been ported successfully to DAS-3. All the KOALA runners are operational apart from the DRunner.

  • April 2007: The KOALA IRunner has been updated to include recommendations made by the Ibis group