WS GRAM: Developer's Guide
Overview
GRAM slides [ html ]
[ pdf ]
API
Architecture
Fault Tolerance Architecture
>RSL Schema
MJS Fault Types
Samples
Scheduler tutorial
Troubleshooting
Managed Job Service - Resource Specification Language (RSL)
Contents:
- Schema Document Properties
-
Global Declarations
- Element: arguments
- Element: count
- Element: directory
- Element: dryRun
- Element: environment
- Element: executable
- Element: fileCleanUp
- Element: fileStageIn
- Element: fileStageInShared
- Element: fileStageOut
- Element: gassCache
- Element: gramMyJobType
- Element: hostCount
- Element: job
- Element: jobType
- Element: libraryPath
- Element: maxCpuTime
- Element: maxMemory
- Element: maxTime
- Element: maxWallTime
- Element: minMemory
- Element: project
- Element: queue
- Element: remoteIoUrl
- Element: scratchDir
- Element: stderr
- Element: stdin
- Element: stdout
-
Global Definitions
- Complex Type: jobAndAnyType
- Complex Type: jobType
- Model Group: cleanUpAttributes
- Model Group: executableAttributes
- Model Group: fileStagingAttributes
- Model Group: jobRestartElements
- Model Group: jobTypeAttributes
- Model Group: schedulerAttributes
- Model Group: smpAttributes
- Model Group: unimplementedAttributes
- Model Group: workspaceAttributes
Schema Document Properties
| Target Namespace | http://www.globus.org/namespaces/2004/02/rsl/gram |
|---|---|
| Element and Attribute Namespaces |
|
| Schema Composition |
|
Declared Namespaces
| Prefix | Namespace |
|---|---|
| Default namespace | http://www.globus.org/namespaces/2004/02/rsl/gram |
| xsd | http://www.w3.org/2001/XMLSchema |
| rsl | http://www.globus.org/namespaces/2004/02/rsl |
| enum | http://www.globus.org/namespaces/2004/02/rsl/enum |
| gram | http://www.globus.org/namespaces/2004/02/rsl/gram |
| xml | http://www.w3.org/XML/1998/namespace |
| Schema Component Representation |
|---|
|
<xsd:schema targetNamespace="http://www.globus.org/namespaces/2004/02/rsl/gram" elementFormDefault="qualified">
<xsd:import namespace="http://www.globus.org/namespaces/2004/02/rsl" schemaLocation="rsl.xsd"/> <xsd:import namespace="http://www.globus.org/namespaces/2004/02/rsl/enum" schemaLocation="rsl_enum.xsd"/> ... </xsd:schema> |
Global Declarations
Element: arguments
| Name | arguments |
|---|---|
| Type | rsl:stringArrayType |
| Nillable | no |
| Abstract | no |
| Documentation | The command line arguments for the executable. Use quotes, if a space is required in a single argument. |
| XML Instance Representation |
|---|
| Schema Component Representation |
|---|
|
|
Element: count
| Name | count |
|---|---|
| Type | rsl:integerType |
| Nillable | no |
| Abstract | no |
| Documentation | The number of executions of the executable. Default: 1 |
| XML Instance Representation |
|---|
| Schema Component Representation |
|---|
|
|
Element: directory
| Name | directory |
|---|---|
| Type | rsl:pathType |
| Nillable | no |
| Abstract | no |
| Documentation | Specifies the path of the directory the jobmanager will use as the default directory for the requested job. |
| XML Instance Representation |
|---|
| Schema Component Representation |
|---|
Element: dryRun
| Name | dryRun |
|---|---|
| Type | rsl:booleanType |
| Nillable | no |
| Abstract | no |
| Documentation | * unimplemented * If dryrun = yes then the jobmanager will not submit the job for execution and will return success. |
| XML Instance Representation |
|---|
| Schema Component Representation |
|---|
|
|
Element: environment
| Name | environment |
|---|---|
| Type | rsl:hashtableType |
| Nillable | no |
| Abstract | no |
| Documentation | The environment variables that will be defined for the executable in addition to default set that is given to the job by the jobmanager. |
| XML Instance Representation |
|---|
| Schema Component Representation |
|---|
|
|
Element: executable
| Name | executable |
|---|---|
| Type | rsl:pathType |
| Nillable | no |
| Abstract | no |
| Documentation | The name of the executable file to run on the remote machine. If the value is a GASS URL, the file is transferred to the remote gass cache before executing the job and removed after the job has terminated. |
| XML Instance Representation |
|---|
| Schema Component Representation |
|---|
Element: fileCleanUp
| Name | fileCleanUp |
|---|---|
| Type | rsl:pathArrayType |
| Nillable | no |
| Abstract | no |
| Documentation | Specifies a list of files which will be removed after the job is completed. |
| XML Instance Representation |
|---|
| Schema Component Representation |
|---|
|
|
Element: fileStageIn
| Name | fileStageIn |
|---|---|
| Type | rsl:fileInputArrayType |
| Nillable | no |
| Abstract | no |
| Documentation | Specifies a list of ("remote URL" "local file") pairs which indicate files to be staged to the nodes which will run the job. |
| XML Instance Representation |
|---|
| Schema Component Representation |
|---|
|
|
Element: fileStageInShared
| Name | fileStageInShared |
|---|---|
| Type | rsl:fileInputArrayType |
| Nillable | no |
| Abstract | no |
| Documentation | Specifies a list of ("remote URL" "local file") pairs which indicate files to be staged into the cache. A symlink from the cache to the "local file" path will be made. |
| XML Instance Representation |
|---|
| Schema Component Representation |
|---|
Element: fileStageOut
| Name | fileStageOut |
|---|---|
| Type | rsl:fileOutputArrayType |
| Nillable | no |
| Abstract | no |
| Documentation | Specifies a list of ("local file" "remote URL") pairs which indicate files to be staged from the job to a GASS-compatible file server. |
| XML Instance Representation |
|---|
| Schema Component Representation |
|---|
|
|
Element: gassCache
| Name | gassCache |
|---|---|
| Type | rsl:pathType |
| Nillable | no |
| Abstract | no |
| Documentation | Specifies location to override the GASS cache location. |
| XML Instance Representation |
|---|
| Schema Component Representation |
|---|
Element: gramMyJobType
| Name | gramMyJobType |
|---|---|
| Type | enum:gramMyJobEnumerationType |
| Nillable | no |
| Abstract | no |
| Documentation |
* unimplemented * This specifies how the gram myjob interface will behave in the started processes. Possible values are independent (Even if the count > 1, only start 1 process or thread), or collective (gram_myjob_count() will return count for each of the processes. gram_myjob_rank() will return a unique value between 0 and count-1 for each of the processes.) |
| XML Instance Representation |
|---|
| Schema Component Representation |
|---|
|
|
Element: hostCount
| Name | hostCount |
|---|---|
| Type | rsl:integerType |
| Nillable | no |
| Abstract | no |
| Documentation | Only applies to clusters of SMP computers, such as newer IBM SP systems. Defines the number of nodes pizza boxes") to distribute the "count" processes across. |
| XML Instance Representation |
|---|
| Schema Component Representation |
|---|
|
|
Element: job
| Name | job |
|---|---|
| Type | gram:jobAndAnyType |
| Nillable | no |
| Abstract | no |
| XML Instance Representation |
|---|
| Schema Component Representation |
|---|
|
|
Element: jobType
| Name | jobType |
|---|---|
| Type | enum:jobRunEnumerationType |
| Nillable | no |
| Abstract | no |
| Documentation | This specifies how the jobmanager should start the job. |
| XML Instance Representation |
|---|
| Schema Component Representation |
|---|
|
|
Element: libraryPath
| Name | libraryPath |
|---|---|
| Type | rsl:pathArrayType |
| Nillable | no |
| Abstract | no |
| Documentation | Specifies a list of paths to be appended to the system-specific library path environment variables. |
| XML Instance Representation |
|---|
| Schema Component Representation |
|---|
|
|
Element: maxCpuTime
| Name | maxCpuTime |
|---|---|
| Type | rsl:longType |
| Nillable | no |
| Abstract | no |
| Documentation | Explicitly set the maximum cputime for a single execution of the executable. The units is in minutes. The value will go through an atoi() conversion in order to get an integer. If the GRAM scheduler cannot set cputime, then an error will be returned. |
| XML Instance Representation |
|---|
| Schema Component Representation |
|---|
Element: maxMemory
| Name | maxMemory |
|---|---|
| Type | rsl:integerType |
| Nillable | no |
| Abstract | no |
| Documentation | Explicitly set the maximum amount of memory for a single execution of the executable. The units is in Megabytes. The value will go through an atoi() conversion in order to get an integer. If the GRAM scheduler cannot set maxMemory, then an error will be returned. |
| XML Instance Representation |
|---|
| Schema Component Representation |
|---|
|
|
Element: maxTime
| Name | maxTime |
|---|---|
| Type | rsl:longType |
| Nillable | no |
| Abstract | no |
| Documentation | The maximum walltime or cputime for a single execution of the executable. Walltime or cputime is selected by the GRAM scheduler being interfaced. The units is in minutes. The value will go through an atoi() conversion in order to get an integer. |
| XML Instance Representation |
|---|
| Schema Component Representation |
|---|
Element: maxWallTime
| Name | maxWallTime |
|---|---|
| Type | rsl:longType |
| Nillable | no |
| Abstract | no |
| Documentation | Explicitly set the maximum walltime for a single execution of the executable. The units is in minutes. The value will go through an atoi() conversion in order to get an integer. If the GRAM scheduler cannot set walltime, then an error will be returned. |
| XML Instance Representation |
|---|
| Schema Component Representation |
|---|
Element: minMemory
| Name | minMemory |
|---|---|
| Type | rsl:integerType |
| Nillable | no |
| Abstract | no |
| Documentation | Explicitly set the minimum amount of memory for a single execution of the executable. The units is in Megabytes. The value will go through an atoi() conversion in order to get an integer. If the GRAM scheduler cannot set minMemory, then an error will be returned. |
| XML Instance Representation |
|---|
| Schema Component Representation |
|---|
|
|
Element: project
| Name | project |
|---|---|
| Type | rsl:stringType |
| Nillable | no |
| Abstract | no |
| Documentation | Target the job to be allocated to a project account as defined by the scheduler at the defined (remote) resource. |
| XML Instance Representation |
|---|
| Schema Component Representation |
|---|
|
|
Element: queue
| Name | queue |
|---|---|
| Type | rsl:stringType |
| Nillable | no |
| Abstract | no |
| Documentation | Target the job to a queue (class) name as defined by the scheduler at the defined (remote) resource. |
| XML Instance Representation |
|---|
| Schema Component Representation |
|---|
|
|
Element: remoteIoUrl
| Name | remoteIoUrl |
|---|---|
| Type | rsl:urlType |
| Nillable | no |
| Abstract | no |
| Documentation | Writes the given value (a URL base string) to a file, and adds the path to that file to the environment through the GLOBUS_REMOTE_IO_URL environment variable. If this is specified as part of a job restart RSL, the job manager will update the file's contents. This is intended for jobs that want to access files via GASS, but the URL of the GASS server has changed due to a GASS server restart. |
| XML Instance Representation |
|---|
| Schema Component Representation |
|---|
Element: scratchDir
| Name | scratchDir |
|---|---|
| Type | rsl:pathType |
| Nillable | no |
| Abstract | no |
| Documentation | Specifies the location to create a scratch subdirectory in. A SCRATCH_DIRECTORY RSL substitution will be filled with the name of the directory which is created |
| XML Instance Representation |
|---|
| Schema Component Representation |
|---|
Element: stderr
| Name | stderr |
|---|---|
| Type | rsl:pathArrayType |
| Nillable | no |
| Abstract | no |
| Documentation | The name of the remote file to store the standard error from the job. If the value is a GASS URL, the standard error from the job is transferred dynamically during the execution of the job. |
| XML Instance Representation |
|---|
| Schema Component Representation |
|---|
|
|
Element: stdin
| Name | stdin |
|---|---|
| Type | rsl:pathType |
| Nillable | no |
| Abstract | no |
| Documentation | The name of the file to be used as standard input for the executable on the remote machine. If the value is a GASS URL, the file is transferred to the remote gass cache before executing the job and removed after the job has terminated. |
| XML Instance Representation |
|---|
| Schema Component Representation |
|---|
Element: stdout
| Name | stdout |
|---|---|
| Type | rsl:pathArrayType |
| Nillable | no |
| Abstract | no |
| Documentation | The name of the remote file to store the standard output from the job. If the value is a GASS URL, the standard output from the job is transferred dynamically during the execution of the job. |
| XML Instance Representation |
|---|
| Schema Component Representation |
|---|
|
|
Global Definitions
Complex Type: jobAndAnyType
| Super-types: | rsl:contentType < jobType (by extension) < jobAndAnyType (by extension) |
|---|---|
| Sub-types: | None |
| Name | jobAndAnyType |
|---|---|
| Abstract | no |
| XML Instance Representation |
|---|
| Schema Component Representation |
|---|
Complex Type: jobType
| Super-types: | rsl:contentType < jobType (by extension) |
|---|---|
| Sub-types: |
|
| Name | jobType |
|---|---|
| Abstract | no |
| XML Instance Representation |
|---|
| Schema Component Representation |
|---|
|
<xsd:complexType name="jobType">
<xsd:complexContent></xsd:complexContent> </xsd:complexType> |
Model Group: cleanUpAttributes
| Name | cleanUpAttributes |
|---|
| XML Instance Representation |
|---|
|
|
| Schema Component Representation |
|---|
|
<xsd:group name="cleanUpAttributes">
</xsd:group>
|
Model Group: executableAttributes
| Name | executableAttributes |
|---|
| XML Instance Representation |
|---|
|
|
| Schema Component Representation |
|---|
|
<xsd:group name="executableAttributes">
<xsd:sequence></xsd:sequence> </xsd:group> |
Model Group: fileStagingAttributes
| Name | fileStagingAttributes |
|---|
| XML Instance Representation |
|---|
|
|
| Schema Component Representation |
|---|
|
<xsd:group name="fileStagingAttributes">
<xsd:sequence></xsd:sequence> </xsd:group> |
Model Group: jobRestartElements
| Name | jobRestartElements |
|---|
| XML Instance Representation |
|---|
|
|
| Schema Component Representation |
|---|
|
<xsd:group name="jobRestartElements">
<xsd:sequence></xsd:sequence> </xsd:group> |
Model Group: jobTypeAttributes
| Name | jobTypeAttributes |
|---|
| XML Instance Representation |
|---|
| Schema Component Representation |
|---|
Model Group: schedulerAttributes
| Name | schedulerAttributes |
|---|
| XML Instance Representation |
|---|
|
|
| Schema Component Representation |
|---|
|
<xsd:group name="schedulerAttributes">
<xsd:sequence></xsd:sequence> </xsd:group> |
Model Group: smpAttributes
| Name | smpAttributes |
|---|
| XML Instance Representation |
|---|
| Schema Component Representation |
|---|
Model Group: unimplementedAttributes
| Name | unimplementedAttributes |
|---|
| XML Instance Representation |
|---|
|
|
| Schema Component Representation |
|---|
|
<xsd:group name="unimplementedAttributes">
<xsd:sequence></xsd:sequence> </xsd:group> |
Model Group: workspaceAttributes
| Name | workspaceAttributes |
|---|
| XML Instance Representation |
|---|
|
|
| Schema Component Representation |
|---|
|
<xsd:group name="workspaceAttributes">
</xsd:group>
|
Legend
| Complex Type: | AusAddress |
|---|---|
| Schema Component Type: | Schema Component Name |
| Super-types: | Address < AusAddress (by extension) |
|---|---|
| Sub-types: |
|
| Name | AusAddress |
|---|---|
| Abstract | no |
| XML Instance Representation |
|---|
|
<... country="Australia">
<unitNo> string </unitNo> [0..1] <houseNo> string </houseNo> [1] <street> string </street> [1] Start Choice[1] <city> string </city> [1] <town> string </town> [1] End Choice <state> AusStates </state> [1] <postcode> string <<pattern = [1-9][0-9]{3}>> </postcode> [1] </...> |
The XML Instance Representation table above shows the schema component's content as an XML instance.
- The minimum and maximum occurrence of elements and attributes are provided in square brackets, e.g. [0..1].
- Model group information are shown in gray, e.g. Start Choice ... End Choice.
- For type derivations, the elements and attributes that have been added to or changed from the base type's content are shown in bold.
- If an element/attribute has a fixed value, the fixed value is shown in green, e.g. country="Australia".
- Otherwise, the type of the element/attribute is displayed.
- If the element/attribute's type is in the schema, a link is provided to it.
- For local simple type definitions, the constraints are displayed in angle brackets, e.g. <<pattern = [1-9][0-9]{3}>>.
| Schema Component Representation |
|---|
|
<complexTypename="AusAddress">
<complexContent> <extensionbase="Address"> <sequence> <elementname="state" type="AusStates"/> <elementname="postcode"> <simpleType> <restrictionbase="string"> <patternvalue="[1-9][0-9]{3}"/> </restriction> </simpleType> </element> </sequence> <attributename="country" type="string" fixed="Australia"/> </extension> </complexContent> </complexType> |
The Schema Component Representation table above displays the underlying XML representation of the schema component. (Annotations are not shown.)
Glossary
Abstract (Applies to complex type definitions and element declarations). An abstract element or complex type cannot used to validate an element instance. If there is a reference to an abstract element, only element declarations that can substitute the abstract element can be used to validate the instance. For references to abstract type definitions, only derived types can be used.
All Model Group Child elements can be provided in any order in instances. See: http://www.w3.org/TR/xmlschema-1/#element-all.
Choice Model Group Only one from the list of child elements and model groups can be provided in instances. See: http://www.w3.org/TR/xmlschema-1/#element-choice.
Collapse Whitespace Policy Replace tab, line feed, and carriage return characters with space character (Unicode character 32). Then, collapse contiguous sequences of space characters into single space character, and remove leading and trailing space characters.
Disallowed Substitutions (Applies to element declarations). If substitution is specified, then substitution group members cannot be used in place of the given element declaration to validate element instances. If derivation methods, e.g. extension, restriction, are specified, then the given element declaration will not validate element instances that have types derived from the element declaration's type using the specified derivation methods. Normally, element instances can override their declaration's type by specifying an xsi:type attribute.
Key Constraint Like Uniqueness Constraint, but additionally requires that the specified value(s) must be provided. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions.
Key Reference Constraint Ensures that the specified value(s) must match value(s) from a Key Constraint or Uniqueness Constraint. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions.
Model Group Groups together element content, specifying the order in which the element content can occur and the number of times the group of element content may be repeated. See: http://www.w3.org/TR/xmlschema-1/#Model_Groups.
Nillable (Applies to element declarations). If an element declaration is nillable, instances can use the xsi:nil attribute. The xsi:nil attribute is the boolean attribute, nil, from the http://www.w3.org/2001/XMLSchema-instance namespace. If an element instance has an xsi:nil attribute set to true, it can be left empty, even though its element declaration may have required content.
Notation A notation is used to identify the format of a piece of data. Values of elements and attributes that are of type, NOTATION, must come from the names of declared notations. See: http://www.w3.org/TR/xmlschema-1/#cNotation_Declarations.
Preserve Whitespace Policy Preserve whitespaces exactly as they appear in instances.
Prohibited Derivations (Applies to type definitions). Derivation methods that cannot be used to create sub-types from a given type definition.
Prohibited Substitutions (Applies to complex type definitions). Prevents sub-types that have been derived using the specified derivation methods from validating element instances in place of the given type definition.
Replace Whitespace Policy Replace tab, line feed, and carriage return characters with space character (Unicode character 32).
Sequence Model Group Child elements and model groups must be provided in the specified order in instances. See: http://www.w3.org/TR/xmlschema-1/#element-sequence.
Substitution Group Elements that are members of a substitution group can be used wherever the head element of the substitution group is referenced.
Substitution Group Exclusions (Applies to element declarations). Prohibits element declarations from nominating themselves as being able to substitute a given element declaration, if they have types that are derived from the original element's type using the specified derivation methods.
Target Namespace The target namespace identifies the namespace that components in this schema belongs to. If no target namespace is provided, then the schema components do not belong to any namespace.
Uniqueness Constraint Ensures uniqueness of an element/attribute value, or a combination of values, within a specified scope. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions.