Спецификация системы Pilot

Система управления выполнением заданий и система регистрации задач

Автор:Шамардин Л.В.
Версия:$Rev: 23 $ от $Date: 2009-06-18 15:15:18 +0400 (Thu, 18 Jun 2009) $

Введение

В настоящем документе описывается спецификация на API Системы Управления Выполнением Заданий ГридННС, имеющей рабочее название "Pilot". Основное назначение системы — выполнение заданий,

Система Pilot состоит из двух компонентов, системы управления выполнением заданий и системы регистрации и контроля выполнения задач.

Общие положения

Задание

Задание — это направленный ацикличный граф, узлами в котором являются задачи, а ребра задают порядок их выполнения. Задачи, из которых состоит задание, выполняются в порядке обхода графа. При этом в местах ветвления, если это возможно, разные ветки графа выполняются одновременно. Задачи для выполнения передаются в систему регистрации задач.

В настоящее время ребра графа задают только порядок выполнения задач. Однако в будущем, возможно, ребра будут определять так же передачу выходных данных одних задач на вход другим.

Задача

Задача является базовым элементом, который может быть выполнен системой регистрации задач Pilot. Запуском задач на выполнение, а так же слежением за их выполнением занимается система регистрации и контроля выполнения задач Pilot.

В настоящее время поддерживается только один тип задач: запуск процесса через Globus WS-GRAM. Однако, в будущем, возможно, будут добавлены и другие типы задач, например, обращения к произвольным WSRF или SOAP сервисам.

API

Система Pilot реализована как набор веб-сервисов, следующих спецификациям WSRF, WSN.

Спецификации приведенные ниже носят предварительный характер и предназначены только для ознакомления. Строгие варианты спецификаций, описанные на языках XML Schema и WSDL находятся в состоянии разработки.

Сервис PilotWF

Сервис PilotWF является интерфейсом к системе управления выполнением заданий. Каждое задание, выполняемое сервисом, представляется как отдельный WS-Resource ресурс сервиса. Время жизни ресурса по умолчанию равно времени выполнения задания плюс 24 часа.

Свойства ресурса

Свойства ресурса PilotWF (свойства — в смысле WS-ResourceProperties) описывают само задание, все его задачи, а так же состояние задания и всех его задач. Свойства включают в себя следующие элементы:

WFDescription
Спецификация задания, написанная на языке GridWay dagman.
Job

Данный элемент может присутствовать несколько раз. Название задачи и ее спецификация, написанная на языке GridWay job template. Может также включать элемент Status, доступный только для чтения, этот элемент сообщает о статусе выполнения отдельной задачи (ожидает родителей, передана в сервис регистрации задач и ожидает выполнения, выполняется, завершена, отмена из-за ошибок).

У выполненной задачи может присутствовать элемент Output, содержащий элементы с URL результатов выполнения задачи.

Возможно, каждая задача будет иметь свой EPR на PilotWF, что позволит взаимодействовать с ней напрямую.

Status
Доступен только для чтения, содержит общее состояние выполнения задания (ожидает выполнения, выполняется, завершено, отмена из-за ошибок). Может так же содержать информацию о количестве завершенных задач, количестве выполняющихся в настоящее время задач, и т.п.

Порт WFCreation

Запуск задания производится путем создания нового ресурса в сервисе PilotWF. Для создания новых ресурсов в сервисе PilotWF используется порт WFCreation.

createWF
Создает новый ресурс PilotWF. Возвращает EndpointReference (EPR) нового задания.

Порт WFExecution

Основное взаимодействие с сервисом PilotWF происходит через порт WFExecution при помощи EPR, полученного через WFCreation/createWF

Методы WF-ResourceProperties

Поддерживаются стандартные методы WF-ResourceProperties:

  • GetResourcePropertyDocument
  • GetResourceProperty
  • GetMultipleResourceProperties
  • InsertResourceProperties
  • UpdateResourceProperties
  • DeleteResourceProperties

Назначение этих методов соотвествует определениям из спецификации WSRF.

Методы WF-ResourceLifetime

Поддерживается стандартный метод WS-ResourceLiftime:

  • SetTerminationTime

Данный метод может быть использован для изменения времени жизни задания. Установка времени жизни ресурса короче, чем фактическое время, затраченное на выполнение задания, приведет к тому, что ресурс будет уничтожен сразу же после выполнения задания, и результаты выполнения задания будут недоступны.

Поддержка WS-Notification

PilotWF поддерживает уведомления об изменении состояния заданий и задач при помощи WS-BaseNotification Pull-Style Notification. При этом не требуется создания нового Pull Point, в качестве Pull Point используется EPR задания. Поддерживается стандартный метод GetMessages.

Собственные методы

start
Запустить задание на выполнение.
abort
Отменить выполнение задания.
pause
Приостановить выполнение задания. Все выполняющиеся задачи продолжат свое выполнение, новые задачи выполняться не будут
continue
Продолжить выполнение задания после временной остановки.

Сервис PilotJC

Сервис PilotJC является интерфейсом к системе регистрации и контроля выполнения задач. В настоящее время публичный API не предоставляется.