JSDL Support

Introduction

GridSAM is one of the first system to support the Job Submission Description Language (JSDL). JSDL v1.0 is now an official Open Grid Forum recommendation for standardising the vocabularies and schema for describing a job.

GridSAM seeks to support all mandatory features and a subset of optional features that are applicable depends on the chosen deployment scenario. This document describes the features of JSDL that are currently UNSUPPORTED in GridSAM and the introduced extensions.

Unsupported Features

  • //jsdl:Resource: To be supported in future version with the Condor DRMConnector. These terms will be translated into Condor Classads. This element is not interpreted for other launching mechanisms.
  • /jsdl:JobDefinition/jsdl:JobDescription/jsdl:Application/jsdl:ApplicationName: Not interpreted. Planned support in future version for preconfigured application identifiable by name
  • /jsdl:JobDefinition/jsdl:JobDescription/jsdl:Application/jsdl:ApplicationVersion: Not interpreted. Planned support in future version for preconfigured application identifiable by name
  • /jsdl:JobDefinition/jsdl:JobDescription/jsdl:Application/jsdl-posix:POSIXApplication/jsdl-posix:Limit*: Not interpreted.
  • /jsdl:JobDefinition/jsdl:JobDescription/jsdl:Application/jsdl-posix:POSIXApplication/jsdl-posix:WorkingDirectory: Ignored in Fork, SSH, Condor. The working directory for these DRMConnectors are dynamically generated in the spool directory. Supported in Globus 2.4.3.
  • /jsdl:JobDefinition/jsdl:JobDescription/jsdl:DataStaging/jsdl:CreationFlag: Only "overwrite" is supported. This will be fixed in future version when the Virtual File System support is improved.
  • /jsdl:JobDefinition/jsdl:JobDescription/jsdl:DataStaging/jsdl:FileSystemName: Not supported. The element is ignored and mapped to a file system provided by the launching mechanism.

Special Remarks

  • /jsdl:JobDefinition/jsdl:JobDescription/jsdl:JobIdentification/jsdl:JobName: Stored as urn:gridsam: JobName job property
  • /jsdl:JobDefinition/jsdl:JobDescription/jsdl:JobIdentification/jsdl:Description: Stored as urn:gridsam:Description job property
  • /jsdl:JobDefinition/jsdl:JobDescription/jsdl:JobIdentification/jsdl:JobAnnotation: Stored as urn:gridsam:JobAnnotation job property
  • /jsdl:JobDefinition/jsdl:JobDescription/jsdl:JobIdentification/jsdl:JobProject: Stored as urn:gridsam:JobProject job property
  • /jsdl:JobDefinition/jsdl:JobDescription/jsdl:DataStaging//jsdl:URI: For URL schemes ftp://, http://, webdav:// and sftp://. Only simple username/password authentication are supported, however the username/password must be embedded as plain-text in the JSDL document. (e.g. http://myname:mypassword@www.myhost.com/myfile). For gsiftp:// URL scheme, the jsdl:JobDefinition/myproxy:MyProxy element is used to retrieve a Globus credential in order to perform the staging.

GridSAM Extensions

MPIApplication (Globus 2.4.3 DRM Connector only)

NOTE: As of version 2.1.1 the proprietory MPIApplication extension has been replaced with support for the Open Grid Forum(OGF) Single Process Multiple Data(SPMD) specification standard.
For more details refer to the on-line SPMD document here.\

The new extension requires two new parameters to be configured before starting up a GridSAM Server over Condor, Fork or SSH DRMs supporting MPI application execution. The parameter SPMDVariation specifies the type of MPI environment and the parameter MPILaunchScript specifies the full file path to the MPI execution environment initialization script. The parameters are found in jobmanager-condor.xml, jobmanager-fork.xml and jobmanager-ssh.xml files (in the GridSAM instance WEB-INF/classesinstallation directory inside OMII Container).
GridSAM instances over Globus or PBS DRMs do not require these two parameters.

MyProxy Authentication

    <jsdl:JobDefinition>
        <jsdl:JobDescription>
            ...
        </jsdl:JobDescription>
        <myproxy:MyProxy xmlns:myproxy="urn:gridsam:myproxy">
            <myproxy:MyProxyServer>xsd:string</myproxy:MyProxyServer>
            <myproxy:ProxyServerDN>xsd:string</myproxy:ProxyServerDN>?
            <myproxy:ProxyServerPort>xsd:positiveInteger</myproxy:ProxyServerPort>?
            <myproxy:ProxyServerUserName>xsd:string</myproxy:ProxyServerUserName>
            <myproxy:ProxyServerPassPhrase>xsd:string</myproxy:ProxyServerPassPhrase>
            <myproxy:ProxyServerLifetime>xsd:int</myproxy:ProxyServerLifetime>?
        </myproxy:MyProxy>
    </jsdl:JobDefinition>

GridSAM introduces a non-standard JSDL extension so that user can specify a MyProxy credential to be passed to a GridSAM instance in order for it to interact with Globus 2.4.3 based compute and file resources.

  • myproxy:MyProxyServer: MyProxy server hostname
  • myproxy:ProxyServerDN: Expected MyProxy server distinguished name so GridSAM can authenticate the server.
  • myproxy:ProxyServerPort: MyProxy server port. The default is 7512.
  • myproxy:ProxyServerUserName: The MyProxy username
  • myproxy:ProxyServerPassPhrase: The plain-text MyProxy passphrase. User should authenticate and authorise the GridSAM server before passing this information across the network.
  • myproxy:ProxyServerLifetime: The lifetime of the delegated proxy retrieved from the MyProxy server.