JAM (for Job & Application Manager) is a proof-of-concept, Jini(TM) technology
based, graphical interface to Grid Engine. It provides a framework for
selecting from a set of registered applications (or specifying one yourself
directly), and selecting a Grid Engine queue to which the job is submitted
(from a set of available queues originating from one or more clusters or
cells), with support for filtering on various queue attributes. Once the job
is submitted, it can be monitored and controlled via JAM.
JAM is written in the Java(TM) programming language (except for the Grid
Engine interface), and leverages Jini networking technology. The registered
applications, Grid Engine queues and running jobs are all represented as Jini
services. The dynamic nature of Jini technology assures that all information
is always accurate and up-to-date. The support for service attributes is
utilized when searching and filtering among available Grid Engine queue
services. In addition, JavaSpaces(TM) technology and the remote event model
are utilized for the lifecycle management of the jobs submitted through JAM.
JAM utilizes native (C++) code (via JNI) for interfacing with the Grid
Engine API (GDI) as it exists in Grid Engine 5.3. It shows one potential
integration methodology between Jini and Grid Engine technologies, though not
necessarily an optimal one.
This code is of prototype quality (at best). It is known to be deficient in
several areas. For example, applications to be controlled by JAM need to have
wrapper code written to make them available as Jini services, and thus known to
JAM. This is not a trivial exercise. Grid Engine queues are not distinguished
by which cluster or cell they come from. Issues like security have been
largely ignored. The code has also not been rigorously tested nor widely
deployed. You get the idea.
JAM was initially the result of a joint collaborative research effort
between Sun Microsystems (Sun) and the Swiss
Center for Scientific Computing (CSCS).
It is being hosted as an experimental module,
as we have no plans to run any kind of open source "project" around it. We are
simply making it available in the hope that the community will find it useful.
It is available in browsable source
form, or can be retrieved using CVS. When using CVS, checkout against the V53_beta2_BRANCH tag, as that is the version that works with Grid Engine 5.3. We are working on getting the JAM trunk synchronized with the Grid Engine trunk, but it is currently broken.
|