The bsub project is a simple system to allow jobs to be submitted to batch from Java. The current system is very simple minded, it allows a job to be created anywhere, and submitted via RMI to a server which submits the jobs to LSF. The interface returns the ID of the submitted job. It is possible to query the status of a submitted job, but not to cancel it.
The org-glast-jobcontrol home page contains links to the
There are some examples of use in the talk presented at this meeting.
Getting the code
The package currently lives in the Glast-Java CVS.
You can access it from:
in module org-glast-jobcontrol. This can also be viewed using ViewCVS.
The project is set up to be build using maven. The source code contains only two packages:
The implementation of the job submission client, and the server
A view examples of how to use the client
The server is permanently running on glast-jobcontrol01 under user glast. It is installed in ~glast/bsub. It is started by a cron job which runs ~glast/bsub/monitor every 5 minutes, which in turn runs ~glast/bsub/bsub. Note this script starts both the rmiregistry and the JobControlService. The log file is currently written into the /u1/tmp/bsub directory.
Care and maintainance
The server has been running for many months with no problems, so no problems are anticipated.
lsf maintains a log of all submitted jobs in /var/spool/lsf. This is useful for checking exactly what command was executed by the server.
Installing a new version
If it is necessary to install a new version the procedure is as follows.
Change the version # in the project.xml file. Build a new bsub-<version>.jar file using maven.
- Log in to glast-jobcontrol01 as user glast
- Install the new bsub-<version>.jar (built using maven) in ~glast/bsub
- Modify ~glast/bsub/bsub to use this new version of the jar file
- Kill the current processes using pkill -f JobControl and pkill rmiregistry
- Start the new server using bsub/monitor
It is currently also necessary to publish the new jar file to the glast maven repository. Maven should be setup to do this automatically, but currently I just copy the file by hand to: