Main Page Related Pages
GRAM Change Log
GRAM 1.6
This release adds functionality to support integrated staging of data files to and from a job within an RSL, automatic scratch directory creation and cleanup, scheduler-specific RSL attributes, nonblocking client and job manager operation, and relocation of the GASS cache.
The following job states were added to GRAM in this release:
- GLOBUS_GRAM_PROTOCOL_JOB_STATE_STAGE_IN
- GLOBUS_GRAM_PROTOCOL_JOB_STATE_STAGE_OUT
The following core RSL attributes were added. In addition, schedulers may define RSL attribute which will be published in the MDS.
-
Scratch Directory Management
-
GRAM 1.6 introduces the concept of "scratch directory" to the job description. A scratch directory is created by the job manager when the scratch_dir RSL attribute is present in the RSL. That attribute consists of either an absolute or relative path to a scratch directory tree. If it is a relative path, then it is interpreted relative to (in priority) a site-specific scratch directory or the user's home directory on the job manager host. In that directory, a subdirectory is made for the job. This subdirectory will be deleted when job manager cleans up the job. The job RSL may refer to the RSL substitution to refer to this job specific directory, so that files may be staged into or out of the temporary location.
-
Integrated File Staging
-
GRAM 1.6 also provides support for staging more than executable, standard input, output, and error files. The GRAM Job Manager now supports staging additional files into and out of the job.
Files are staged in using the file_stage_in and file_stage_in_shared RSL attributes. The value of the "file_stage_in" attribute is a list of pairs of the form (file_stage_in = (from_remote_url to_local_path) ... )
The first of the pair is a remote file's URL, and the second of the pair is the local file path which the URL should be staged to. The value of the "file_stage_in_shared" attribute is of the same format: (file_stage_in_shared = (from_remote_url to_local_path) ... )
However, the file is stored in the GASS cache, and a symbolic link is made from the cache file location to the local file path.
The local paths in either of these attributes may include the RSL substitution, to stage files into the job's temporary scratch directory.
When the Job Manager must stage files in (using the new RSL attributes or the old URL-enabled stdin and executable attributes), it will send a job state callback indicating that it is entering the GLOBUS_GRAM_PROTOCOL_JOB_STATE_STAGE_IN state.
Files are staged out using the file_stage_out RSL attribute. The value of the "file_stage_out" attribute is a list of paris of the form (file_stage_out = (from_local_path to_remote_url) ... )
The first of each pair is a local file path (on the job host), and the second of each pair is a remote URL to which the file should be staged upon successful job completion.
-
Scheduler-Specific RSL attributes
-
GRAM 1.6 allows scheduler interfaces to define new RSL attributes. These attribues are validated against an RSL attribute description file, so the job manager may detect incorrect usage of a scheduler-specific RSL attribute. Each scheduler will publish any custom RSL attributes in the MDS through the GRAM reporter.
-
Nonblocking Client and Job Manager
-
The GRAM client has been modified to provide nonblocking interfaces to all GRAM network communications. This allows applications to process multiple GRAM requests simultaneously for higher performance.
Additionally, the Job Manager has been modified so that all scheduler operations are nonblocking as well. This means that latency to respond to client-initiated queries will be lower in many cases.
-
Relocation of the GASS Cache
-
The GASS Cache may now be stored in a location besides /homes/smartin/.globus/.gass_cache/. System administrators may set a default GASS cache location in the Job Manager's configuration file, or a user may submit a job with the gass_cache RSL attribute which will indicate where the user wishes the cache to be located.
GRAM 1.5 (Globus 2.0)
This release adds functionality for a more fault-tolerant job manager. GRAM 1.5 introduced support for a new two-phase protocol for job submission, the ability to restart a job manager when it fails while the job continues to run, and updating the job manager to send stdout and stderr files to a new GASS server via a job manager signal.
The following job states were added to GRAM in this release:
- GLOBUS_GRAM_PROTOCOL_JOB_STATE_UNSUBMITTED
The following RSL attributes were added
about globus |
grid research |
globus toolkit |
software development
Comments? webmaster@globus.org