Introduction

This page will provide a high level overview of different grid standards for the service layer of each system identified as a site that Ergo will need to support for running jobs. For the service layer of each system, a brief overview will be provided and for more detailed information, follow the links to the different standards mentioned or the overview page for the entire architecture.

Unicore

Service Layer

More information about the Unicore service layer can be found here:  http://www.unicore.eu/unicore/architecture/service-layer.php

UNICORE/X

IDB

XUUDB

UVOS

Registry

CIS

Workflow Engine

Service Orchestrator

Clients

 

Unicore - XSEDE

https://www.xsede.org/software/unicore

XSEDE

 

Software

KISTI HPC Open API

 

Genesis II

Genesis II is an open source, standards based grid middleware designed to support high-throughput computing by the University of Virginia Department of Computer Science and the Virginia Center for Grid Research. Genesis II follows grid standards from the Open Grid Forum (OGF), W3C, and OASIS, including many from the Open Grid Services Architecture (OGSA) and the Web Services Resource Framework (WSRF). Genesis II adheres to parts or all of OGSA Basic Execution Services (BES), Resource Naming Service (RNS), OGSA ByteIO, WS-Security, WS-Naming, WS-Trust, and Job Submission Description Language (JSDL). Genesis II supports X.509 certificates and username/password (based on WS-Security and OGF Basic Security Profile).

Main wiki:  http://genesis2.virginia.edu/wiki/

Clients

The primary access seems to be through a client using the graphical user interface or the terminal. 

 

General Standards

 

 

Grid Software

Questions / Notes

  1. What are the target resources to be considered? We should pick one or more current and/or upcoming HPC systems that ERGO must be able to submit to so we can determine if a common standard is used across the systems (e.g. do multiple target systems have client libraries supporting JSDL).
  2. Can we write HPCExecutors for each system and put common operations inside a parent class? For example, if all systems support JSDL, but use a different client library for job submission, the concrete implementation could call the client libraries
  3. How does Taverna submit jobs to Unicore? There is a plugin, but which client library to submit the JSDL?