Description: |
In a heterogeneous Grid, computing resources can have strongly varying characteristics (operating system, network
connectivity, available application environment etc). Job description often needs to be optimized in order to use
resources efficiently: for example, requested execution time or amount of input data may depend on advertised capacity
of a computing resource. This requires conditional statements (or a similar capability) in JSDL, as well as comparison
and logical operators.
The situation addressed by this use case arises when a user needs to utilize available resources in a most efficient
manner, which often requires describing jobs differently for different targets. For example, a cluster without outbound
connectivity will need extra input databases to be installed locally by the job; on the other hand, a cluster with pre-
installed specific application environment will need less input data; user may also require different number of nodes
per job depending on cluster characteristics, or even depending on its name. While it is possible to create several
different job descriptions matching different combinations, it is much more convenient to have a single job description
which handles these combinations using conditional statements of the kind “IF ClusterName=goodcluster THEN nodes=128
ELSE nodes=1”.
Other comparison operators ( != > < ) as well as logical operators (AND, OR) are also desirable in this context, e.g.
“IF (bandwith>10Gb AND diskspace>1TB) THEN (stage in 100 files) ELSE (stage in 2 files)”.
This functionality was available in the original Globus Resource Specification Language, modeled on LDAP query language.
The members of the JSDL WG should study the feasibility, the syntax and the semantics of such conditional requirements
in JSDL. |