You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Bsub 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, but there is currently no way to access any information about the job after it is submitted, or to be informed when it finishes. Hopefully this system will be replaced by something better soon.

Implmentation.

Getting the code

The package currently lives in the Glast CVS (it should move to the Glast Java CVS soon, and be put under cruise control).

You can access it from:

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

in module users/tonyj/bsub. 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

glast.jobcontrol

The implementation of the job submission client, and the server

glast.jobcontro.demo

A view examples of how to use the client

Server setup

The server is permanently running on glast02 under use 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 to /tmp/bsub

Care and maintainance

The server has been running for many months with no problems, so no problems are anticipated.

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 glast02 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