Особенности спецификации RESTful-веб-сервисов для унифицированного доступа к пакетам прикладных программ, установленных на суперкомпьютерных ресурсах

Описание задач

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

Описание задачи является объектом (допустимо представление в формате JSON или YAML, по выбору клиента), содержащим следующие атрибуты:

  • { "version": 3,

    "executable": "/usr/bin/env",

    "environment":

    { "FOO": "bar",

    "qux": "XyZzy" }

    }

  • { "version": 3,

    "executable": "/bin/cp",

    "arguments": ["hello.txt", "qux/test.txt"],

    "input_files": { "hello.txt": "hello.txt",

    "foo.txt": "/bar.txt",

    "qux": "gsiftp://example.org/my/directory/qux/"

    },

    "ouput_files": { "qux/test.txt": "gsiftp://example.org/my/output/117/test.txt"

    }

    }

В данном примере файлы будут использоваться следующим образом:

Направление

Локальное имя

Удаленное имя

вход

hello.txt

gsiftp://example.org/my/files/hello.txt

вход

foo.txt

gsiftp://example.org/bar.txt

вход

qux

gsiftp://example.org/my/directory/qux/

выход

qux/test.txt

gsiftp://example.org/my/output/117/test.txt

Требования к ресурсам.

Требования к ресурсам являются объектами, соответствующими следующему описанию. Все параметры в описании требований к ресурсам являются опциональными. Если это не оговорено специально, то значения по умолчанию для каждого из параметров обеспечивают выбор любого ресурса, удовлетворяющего остальным требованиям.

Автоматическая подстановка параметров

Во всех параметрах описания задачи, которые могут содержать пути к файлам, производится автоматическая замена некоторых подстрок. Замена производится для:

Заменяемые подстроки представляют собой последовательности латинских букв в фигурных скобках и имеют вид {something}. Далее в таблице 1 приведен список всех поддерживаемых автоматически заменяемых подстрок и значений, на которые будет произведена замена.

Таблица 1 - Автоматически заменяемые подстроки и значения

Параметр

Значение

{taskid}

Идентификатор задачи.

{queue}

Название очереди, в которую производится запуск задачи.

{lrms}

Тип локального менеджера ресурсов.

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