Software Links
Getting Started
- A Globus Primer
- Globus Is Modular!
- Quickstart
- Installing GT
- Platform Notes
- GT Developer's Guide
- GT User's Guide
- Migrating Guides
Reference
Manuals
Common Runtime
Security
- GSI C
- GSI Java
- Java WS A&A
- C WS A&A (coming soon)
- CAS
- Delegation Service
- MyProxy
- GSI-OpenSSH
- SimpleCA
Data Mgt
WS MDS
Execution Mgt
Table of Contents
GRAM4 allows for remote execution and management of programs through the creation of a managed job. The management of the job is taken care of primarily by core toolkit functionality (WS-ResourceLifetime and WS-BaseN implementations). Please see Java WS Core on notifications and resource lifetime (destruction) for more information.
A single MJFS is used to create all jobs for all users. For each local resource manager, a dedicated Managed Job Factory Resource (MJFR) enables the MJFS to publish information about the characteristics of the compute resource, for example:
- host information
- GridFTP URL (for file staging and streaming)
- compute cluster size and configuration, and so on...
In addition, there is a special MJFR which is used for creating MMJRs.
A single MEJS is used to manage all executable jobs for all users. Each Managed Executable Job Resource (MEJR) enables the MEJS to publish information about the individual job the MEJR represents. This information can be accessed by querying the MEJS for the resource properties of a given MEJR, such as the:
- current job state
- stdout location
- stderr location
- exit code, and so on.
A single MMJS is used to manage all multi-jobs for all users. Each Managed Multi-Job Resource (MMJR) enables the MMJS to publish information about the individual multi-job the MMJR represents. This information can be accessed by querying the MMJS for the resource properties of a given MMJR, such as the:
- current overall job state
- list of sub-job EPRs
There are just two operations defined in the GRAM port types (not counting the Rendezvous port type which is used for MPI job synchronization): "createManagedJob" in the Managed Job Factory port type, and "release" in the Managed Job port type. All other operations (such as canceling/killing the job and querying for resource properties) are provided by the underlying WSRF implementation of the toolkit.
createManagedJob: This operation creates either a MEJR or MMJR, subscribes the client for notifications if requested, and replies with one or two endpoint references (EPRs). The input of this operation consists of a job description, an optional initial termination time for the job resource, and an optional state notification subscription request.
The first EPR:
- is qualified with the identifier to the newly created MEJR or MMJR
- points to either the MEJS or MMJS.
The second EPR:
- is only present if a notification subscription was requested
- is qualified with the identifier to the newly created subscription resource
- points to the subscription manager service.
Using the optional subscription request provides an efficient means of subscribing to the newly created MEJR or MMJR without additional round-trip messages. Clients who subscribe afterwards must check the current status of the job, since the inherent race-condition means some state-changes may have occurred prior to the separate subscription request. In any event, there is a slight risk of lost notifications due to the lack of reliability guarantees in the notification delivery mechanism from WS-BaseNotification.
The ManagedJobFactoryPortType also has all the operations and publishes all the resource properties (via the MJFR) defined in the following WS-ResourceProperties port types:
GetResourcePropertyGetMultipleResourcePropertiesQueryResourceProperties
This port type does not define any new operations itself, but has all the operations and publishes all the resource properties defined in the following port types:
ReleaseManagedJob port type:
release:This operation takes no parameters and returns nothing. Its purpose is to release a hold placed on a state through the use of the "holdState" field in the job description. See the domain-specific GRAM4 component documentation for more information on the "holdState" field.TerminateManagedJob port type:
terminate:This operation terminates a job. Depending on arguments and the state of the job this may result in immediate destruction of the job resource or in starting of clean up steps and resource destruction after the clean up is done.WS-ResourceProperties port types:
GetResourcePropertyGetMultipleResourcePropertiesQueryResourcePropertiesWS-ResourceLifetime port types:
ScheduledResourceTerminationWS-BaseNotification port type:
NotificationProducer
This port type does not define any new operations. See "Resources Properties" under Services and WSDL.
{http://www.globus.org/namespaces/2008/03/gram/job}condorArchitectureCondor architecture label.
{http://www.globus.org/namespaces/2008/03/gram/job}condorOSCondor OS label.
{http://www.globus.org/namespaces/2008/03/gram/job}delegationFactoryEndpointThe endpoint reference to the delegation factory used to delegated credentials to the job.
{http://mds.globus.org/glue/ce/1.1}GLUECEGLUE data
{http://mds.globus.org/glue/ce/1.1}GLUECESummaryGLUE data summary
{http://www.globus.org/namespaces/2008/03/gram/job}globusLocationThe location of the Globus Toolkit installation that these services are running under.
{http://www.globus.org/namespaces/2008/03/gram/job}hostCPUTypeThe job host CPU architecture (i686, x86_64, etc...)
{http://www.globus.org/namespaces/2008/03/gram/job}hostManufacturerThe host manufacturer name. May be "unknown".
{http://www.globus.org/namespaces/2008/03/gram/job}hostOSNameThe host OS name (Linux, Solaris, etc...)
{http://www.globus.org/namespaces/2008/03/gram/job}hostOSVersionThe host OS version.
{http://www.globus.org/namespaces/2008/03/gram/job}localResourceManagerThe local resource manager type (i.e. Condor, Fork, LSF, Multi, PBS, etc...)
{http://www.globus.org/namespaces/2008/03/gram/job}availableLocalResourceManagerAll local resource managers that are configured in this GRAM4 instance
{http://www.globus.org/namespaces/2008/03/gram/job}jobTTLAfterProcessingTime in seconds a job resource will stay alive after a job finished processing in GRAM4 (including fileStageOut, fileCleanUp). When this time elapsed the job resource is destroyed and no longer be available for a client. A negative values means that the job resource will never be destroyed.
{http://www.globus.org/namespaces/2008/03/gram/job}maxJobLifetimeMax time in seconds a user can set as initial lifetime in job submission or in subsequent setTerminationTime calls. A negative value means that there is no limit.
{http://mds.globus.org/metadata/2005/02}ServiceMetaDataInfoservice start time, Globus Toolkit(R) version, service type name
{http://www.globus.org/namespaces/2008/03/gram/job}scratchBaseDirectoryThe directory recommended by the system administrator to be used for temporary job data.
{http://www.globus.org/namespaces/2008/03/gram/job}stagingDelegationFactoryEndpointThe endpoint reference to the delegation factory used to delegated credentials to the staging service (RFT).
{http://www.globus.org/namespaces/2008/04/rendezvous}CapacityUsed for Rendezvous.
{http://docs.oasis-open.org/wsrf/rl-2}CurrentTimeTime of creation.
{http://docs.oasis-open.org/wsrf/rp-2}QueryExpressionDialectFrom the QueryResourceProperties port type.
{http://www.globus.org/namespaces/2008/03/gram/job/faults}faultFaults (if generated) that happen along job processing and that cause a job to fail.
{http://www.globus.org/namespaces/2008/03/gram/job/types}holdingIndicates whether a hold has been placed on this job.
{http://www.globus.org/namespaces/2008/03/gram/job/types}localUserIdThe job owner's local user account name.
{http://www.globus.org/namespaces/2008/04/rendezvous}RegistrantDataUsed for Rendezvous.
{http://www.globus.org/namespaces/2008/04/rendezvous}RendezvousCompletedUsed for Rendezvous.
{http://www.globus.org/namespaces/2008/03/gram/job/description}serviceLevelAgreementA wrapper around fields containing the single-job and multi-job descriptions or RSLs. Only one of these sub-fields shall have a non-null value.
{http://www.globus.org/namespaces/2008/03/gram/job/types}stateThe current state of the job.
{http://docs.oasis-open.org/wsrf/rl-2}TerminationTimeTime when the resource expires.
{http://www.globus.org/namespaces/2008/03/gram/job/types}userSubjectThe GSI certificate DN of the job owner.
{http://docs.oasis-open.org/wsrf/rl-2}CurrentTimeTime of creation.
{http://docs.oasis-open.org/wsrf/rl-2}TerminationTimeTime when the resource expires.
{http://www.globus.org/namespaces/2008/03/gram/job/exec}credentialPathThe path (relative to the job process) to the file containing the user proxy used by the job to authenticate out to other services.
{http://www.globus.org/namespaces/2008/03/gram/job/types}exitCodeThe exit code generated by the job process.
{http://www.globus.org/namespaces/2008/03/gram/job/faults}faultThe fault (if generated) indicating the reason for failure of the job to complete.
{http://www.globus.org/namespaces/2008/03/gram/job/types}holdingIndicates whether a hold has been placed on this job.
{http://www.globus.org/namespaces/2008/03/gram/job/types}localUserIdThe job owner's local user account name.
{http://www.globus.org/namespaces/2008/03/gram/job/exec}localJobIdThe job id(s) of the job in the local resource manager. Note that for Fork jobs these id's are prefixed with the uuid of the job.
{http://www.globus.org/namespaces/2008/03/gram/job/description}serviceLevelAgreementA wrapper around fields containing the single-job and multi-job descriptions or RSLs. Only one of these sub-fields shall have a non-null value.
{http://www.globus.org/namespaces/2008/03/gram/job/types}stateThe current state of the job.
{http://www.globus.org/namespaces/2008/03/gram/job/exec}stderrURLA GridFTP URL to the file generated by the job which contains the stderr.
{http://www.globus.org/namespaces/2008/03/gram/job/exec}stdoutURLA GridFTP URL to the file generated by the job which contains the stdout.
{http://www.globus.org/namespaces/2008/03/gram/job/types}userSubjectThe GSI certificate DN of the job owner.
{http://www.globus.org/namespaces/2008/04/rendezvous}CapacityUsed for Rendezvous.
{http://www.globus.org/namespaces/2008/04/rendezvous}RegistrantDataUsed for Rendezvous.
{http://www.globus.org/namespaces/2008/04/rendezvous}RendezvousCompletedUsed for Rendezvous.
{http://docs.oasis-open.org/wsrf/rp-2}QueryExpressionDialectFrom the QueryResourceProperties port type.
{http://docs.oasis-open.org/wsrf/rl-2}CurrentTimeTime of creation.
{http://docs.oasis-open.org/wsrf/rl-2}TerminationTimeTime when the resource expires.
{http://www.globus.org/namespaces/2008/03/gram/job/faults}faultThe fault (if generated) indicating the reason for failure of the job to complete.
{http://www.globus.org/namespaces/2008/03/gram/job/types}holdingIndicates whether a hold has been placed on this job.
{http://www.globus.org/namespaces/2008/03/gram/job/types}localUserIdThe job owner's local user account name.
{http://www.globus.org/namespaces/2008/03/gram/job/description}serviceLevelAgreementA wrapper around fields containing the single-job and multi-job descriptions or RSLs. Only one of these sub-fields shall have a non-null value.
{http://www.globus.org/namespaces/2008/03/gram/job/types}stateThe current state of the job.
{http://www.globus.org/namespaces/2008/03/gram/job/multi}subJobEndpointA set of endpoint references to the sub-jobs created by this multi-job.
{http://www.globus.org/namespaces/2008/03/gram/job/types}userSubjectThe GSI certificate DN of the job owner.
{http://www.globus.org/namespaces/2008/04/rendezvous}CapacityUsed for Rendezvous.
{http://www.globus.org/namespaces/2008/04/rendezvous}RegistrantDataUsed for Rendezvous.
{http://www.globus.org/namespaces/2008/04/rendezvous}RendezvousCompletedUsed for Rendezvous.
{http://docs.oasis-open.org/wsrf/rp-2}QueryExpressionDialectFrom the QueryResourceProperties port type.
WSDL links:
Schema links: