org-glast-jobcontrol Project

Overview

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.

Implmentation.

Getting the code

The package currently lives in the Glast-Java CVS.

You can access it from:

:ext:<userid>@glast-java.slac.stanford.edu:/cvs/java

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:

Package

Description

org.glast.jobcontrol

The implementation of the job submission client, and the server

org.glast.jobcontro.demo

A view examples of how to use the client

Server setup

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.

Tip

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:

\\glast05\repository\glast\jars

  • No labels