The OGSA-Basic Execution Services (BES) implementation in UNICORE is a crucial component in the context of job submission and management and in order to understand it we shortly describe other implied technologies. First and foremost, the Job Submission Description Language (JSDL) defines standard XML schema elements for job descriptions that should be executed on computational Grid resources, for instance a simple execution of an application on a parallel resource. However, JSDL is only a language and schema for the standardized description of computational job submissions, but the submit operation itself is represented by the OGF standard interface named as OGSA-BES.
In more detail the OGSA-BES implementation describes a Web services-based interface that is standardized by the OGF and consists also of a well-defined state model of computational jobs. In particular, the interface comprises functionality for the creation, monitoring, and control of computational jobs. Within the OGSA-BES specification such jobs are names as activities described via JSDL documents. Finally, the related HPC Basic Profile (HPC-BP) specifies the usage of the OGSA-BES interface in conjunction with certain extensions for HPC environments to JSDL. By using different security models, the OGSA-BES adoption within UNICORE is also compliant with HPC-BP. Additional security setups might include the use of X.509 proxy certificates for interoperability use cases with technologies that are based on the Grid Security Infrastructure (GSI).
The main functionality of the here described OGSA-BES adoption of UNICORE is to use this service for computational
job submissions to UNICORE. This means that jobs that are submitted by end-users are actually executed on the system
underneath the interface. In the case of UNICORE, this might be often supercomputers or large clusters. A closer
look reveals that the OGSA-BES interface is similar to the Target System Factory (TSF), Target System Service
(TSS), and Job Management Service (JMS) of the Unicore Atomic Services (UAS) of UNICORE 6. While the UAS rely on
standardized WS-RF compliant message exchanges, the syntax of several UAS operations are proprietary such as
the actual submit() operation that takes a JSDL document as parameter.
(high-resolution image)
As shown in the figure, the additional benefit of the OGSA-BES adoption in UNICORE 6 is the provisioning of a standardized syntax of Web service operations that deal with job control and management. It thus basically deprecated the three UNICORE proprietary interfaces TSF, TSS, and JMS. But, the UAS and the OGSA-BES implementation presented here can be used in parallel since they are using internally the same UNICORE backend named as enhanced Network Job Supervisor (XNJS). Hence, the Web service layer is well encapsulated from the lower-level backend execution engine. This backend in turn forwards the job to an interface at the target system and submits it to a resource management system or batch subsystem (e.g. Torque, LoadLeveler, SunGridEngine, etc.).
There is also an OGSA-BES configuration for the UNICORE Command-line Client (UCC) available, which is not yet integrated in the official UCC releases. A work in progress is also the availability of OGSA-BES under the UNICORE Rich Client.
Finally, the UNICORE OGSA-BES interface implementation participates in many interoperability efforts of OGF to check whether it is interoperable with other OGSA-BES adopters. Thus we have been able to contribute to the development of the specification, for instance in the context of the HPC-BP experience document. More recently, the OGSA-BES implementation plays a significant role in different scientific use cases that require the interoperability of numerous e-science infrastructures.
OGSA - Basic Execution Service Version 1.0 Specification
High Performance Computing Basic Profile Version 1.0 Profile Specification
Interoperability Experiences with the High Performance Computing Profile (HPC-BP), Version 1.0
Page URL: http://www.unicore.eu/community/development/OGSA-BES