Interface with LSF using taskerLSF.tcl

Start the LSF Tasker

You can start the tasker from the command line:
% vovtasker -a LSF -i 0 -I $VOVDIR/etc/tasker_scripts/taskerLSF.tcl -r "lsf" -T 100
Alternatively, you can define the tasker in the taskers.tcl file:
# Fragment of taskers.tcl file
vtk_tasker_define localhost -name LSF  -indirect  $env(VOVDIR)/etc/tasker_scripts/taskerLSF.tcl  -transient 0      
-resources "lsf"  -capacity  100

The tasker is non transient, to preserve the status of the jobs submitted to LSF even in the event of a crash of the tasker.

Environment Variable VOV_LSF_QUEUES

The variable VOV_LSF_QUEUES is a comma separated list of queue names. If the variable is defined, the first queue in the list is going to be the default queue to which the jobs are submitted. This default can be overridden on a job by job basis by defining the resource "Queue:QNAME".

Job Submission with vovfire

Each job submitted from taskerLSF.tcl uses vovfire. The submission command is going to have the following form:
bsub [BSUB OPTIONS] vovfire 00012345 label_computed_from_command_line

Resource Mapping

The procedure taskerMapResources in file taskerLSF.tcl performs mapping of job resources into LSF submission specifications. This procedure can be redefined in a file called $VOVDIR/local/taskerLSF.tcl. The default mapping is described in the following table.
Job Resource LSF bsub parameter Example
Jobname:jname -J jname Jobname:abc -J abc
LSFcpus#N -n $N LSFcpus#4 -n 4
LSFtiles#N -n $N LSFtiles#2 -n 2
License:lic rusage [lic=1] License:qx rusage [qx=1]
Queue:qname -q qname Queue:night -p night
RAM/* rusage [mem=*] RAM/200 rusage [mem=200]
RAMFREE/* rusage [mem=*] RAMFREE/200 rusage [mem=200]
swp/* rusage[swp=*] swp/100 rusage [swp=100]
tmp/* rusage[tmp=*] tmp/200 rusage [tmp=100]

anything else is ignored