gov.bnl.star.offline.scheduler.lsf
Class LSFDispatcher

java.lang.Object
  extended bygov.bnl.star.offline.scheduler.lsf.LSFDispatcher
All Implemented Interfaces:
Dispatcher

public class LSFDispatcher
extends java.lang.Object
implements Dispatcher

Dispatches a job using LSF.

For each process, two files are created: a script for the execution and a text file containing the file list. The script basically sets the environment variables and executes the command line. The file list contains the input file requested, one full path for each line in the list.

Each script is submitted through bsub.

The simulation flag will make the scheduler not actually execute the command lines. Therefore scripts and fileLists are created, but the bsub and chmod commands are not executed. Log and output won't be affected, except that there will be a message warning that the submission is simulated.

Version:
1.0 2002/12/26
Author:
Gabriele Carcassi, Jerome Lauret

Field Summary
protected  CSHApplication application
           
protected  boolean reportedFailure
           
protected  java.lang.String scratchDir
           
protected  boolean simulation
           
 
Constructor Summary
LSFDispatcher()
           
 
Method Summary
protected  void dispatch(Request request, Job job)
           
 void dispatch(Request request, java.util.List jobs)
          Creates the scripts and dispatches the job on the target machine.
 java.lang.String getBsubEx()
           
 java.lang.String getBsubOptions()
           
 java.lang.String getClusterName()
          Getter for property clusterName.
 int getMaxAttempts()
           
 int getMsBtwnFailure()
           
 int getMsBtwnSuccess()
           
 java.lang.String getQueueName()
           
protected  java.lang.String getQueueName(Job job)
           
 LSFResourceStrategy getResourceStrategy()
           
protected  java.lang.String getResourceUsageSwitch(Job job)
           
 java.lang.String getScratchDir()
           
 void Kill(Request request, java.util.List jobs)
          Kills the processes associated with this job.
protected  void reportFailure(Job job)
           
protected  void reportProcessSubmissionFailure(Request request, Job job, int jobNumber, java.lang.String message)
           
 void retrieveOutput(Request request, java.util.List jobs)
          Currently not implemented
 void setBsubEx(java.lang.String bsubEx)
           
 void setBsubOptions(java.lang.String bsubOptions)
           
 void setClusterName(java.lang.String clusterName)
          Setter for property clusterName.
 void setMaxAttempts(int maxAttempts)
           
 void setMsBtwnFailure(int msBtwnFailure)
           
 void setMsBtwnSuccess(int msBtwnSuccess)
           
 void setQueueName(java.lang.String queueName)
           
 void setResourceRequirementStringDefinition(java.lang.String ResReqDefinitionObj)
           
 void setResourceStrategy(LSFResourceStrategy resourceStrategy)
           
 void setScratchDir(java.lang.String scratchDir)
           
 java.lang.String Status(Job job, int Processe)
          Returns The status of the job
protected  void useSimulationMode(boolean simulation)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

scratchDir

protected java.lang.String scratchDir

simulation

protected boolean simulation

reportedFailure

protected boolean reportedFailure

application

protected CSHApplication application
Constructor Detail

LSFDispatcher

public LSFDispatcher()
Method Detail

setResourceRequirementStringDefinition

public void setResourceRequirementStringDefinition(java.lang.String ResReqDefinitionObj)

getScratchDir

public java.lang.String getScratchDir()

setScratchDir

public void setScratchDir(java.lang.String scratchDir)

getBsubEx

public java.lang.String getBsubEx()

setBsubEx

public void setBsubEx(java.lang.String bsubEx)

getQueueName

public java.lang.String getQueueName()

setQueueName

public void setQueueName(java.lang.String queueName)

getBsubOptions

public java.lang.String getBsubOptions()

setBsubOptions

public void setBsubOptions(java.lang.String bsubOptions)

getMaxAttempts

public int getMaxAttempts()

setMaxAttempts

public void setMaxAttempts(int maxAttempts)

getMsBtwnSuccess

public int getMsBtwnSuccess()

setMsBtwnSuccess

public void setMsBtwnSuccess(int msBtwnSuccess)

getMsBtwnFailure

public int getMsBtwnFailure()

setMsBtwnFailure

public void setMsBtwnFailure(int msBtwnFailure)

dispatch

public void dispatch(Request request,
                     java.util.List jobs)
Creates the scripts and dispatches the job on the target machine.

Specified by:
dispatch in interface Dispatcher
Parameters:
request - the job request

useSimulationMode

protected void useSimulationMode(boolean simulation)

reportProcessSubmissionFailure

protected void reportProcessSubmissionFailure(Request request,
                                              Job job,
                                              int jobNumber,
                                              java.lang.String message)

reportFailure

protected void reportFailure(Job job)

retrieveOutput

public void retrieveOutput(Request request,
                           java.util.List jobs)
Currently not implemented

Specified by:
retrieveOutput in interface Dispatcher
Parameters:
request - the job for which to retrieve the output

dispatch

protected void dispatch(Request request,
                        Job job)

setResourceStrategy

public void setResourceStrategy(LSFResourceStrategy resourceStrategy)

getResourceStrategy

public LSFResourceStrategy getResourceStrategy()

getResourceUsageSwitch

protected java.lang.String getResourceUsageSwitch(Job job)

getQueueName

protected java.lang.String getQueueName(Job job)

getClusterName

public java.lang.String getClusterName()
Getter for property clusterName.

Returns:
Value of property clusterName.

setClusterName

public void setClusterName(java.lang.String clusterName)
Setter for property clusterName.

Parameters:
clusterName - New value of property clusterName.

Kill

public void Kill(Request request,
                 java.util.List jobs)
Description copied from interface: Dispatcher
Kills the processes associated with this job.

Specified by:
Kill in interface Dispatcher

Status

public java.lang.String Status(Job job,
                               int Processe)
Description copied from interface: Dispatcher
Returns The status of the job

Specified by:
Status in interface Dispatcher


Copyright © 2002-2004 STAR collaboration - Brookhaven National Laboratory. All Rights Reserved.