Программа, передающая задания для типичного планировщика

Введение

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

Принципы использования типичного интерфейса планировщика для передачи заданий совпадают с теми для независимых заданий. Обзор концепций и детали представляют и декодируют функции для независимых заданий, обсуждены полностью в Скриптах Интегрирования для Типичных Планировщиков. С этой целью у вас должен быть Parallel Computing Toolbox™, а также MATLAB® Parallel Server™, работающий на вашем кластере.

Основные шаги следуют.

Код в клиенте

Сконфигурируйте объект планировщика

Кодирование связывающегося задания для типичного планировщика включает ту же процедуру как кодирование независимого задания.

  1. Создайте объект, представляющий ваш кластер с parcluster.

  2. Установите соответствующие свойства на кластерном объекте, если они не заданы в профиле. Поскольку сам планировщик часто используется многими пользователями и приложениями, вероятно, лучше использовать профиль для программирования этих свойств. Смотрите Обнаруживают Кластеры и Профили Кластера Использования.

    Среди свойств, требуемых для связывающегося задания, IntegrationScriptsLocation. Это свойство указывает на местоположение функции communicatingSubmitFcn.m, которая выполняется, когда связывающееся задание представлено. Можно записать, что собственная передача представляет и декодирует функции или использует тех, которые идут с продуктом для различных планировщиков и платформ; смотрите следующий раздел, Поиск и устранение проблем и Отладку.

  3. Используйте createCommunicatingJob, чтобы создать связывающийся объект задания для вашего кластера.

  4. Создайте задачу, запустите задание и получите результаты, как обычно.

Поддержите скрипты

Чтобы поддержать использование типичного интерфейса планировщика, шаблоны и скрипты могут быть установлены от следующих местоположений:

Каждый инсталлятор обеспечивает шаблоны и скрипты для поддерживаемых режимов представления для совместно используемой файловой системы, несовместно использованной файловой системы или удаленного представления. Каждый режим представления имеет свою собственную подпапку в папке установки, которая содержит файл с именем README, который обеспечивает конкретные инструкции о том, как использовать скрипты. Чтобы использовать эти скрипты поддержки с вашим кластерным объектом, установите его свойство IntegrationScriptsLocation на местоположение этой подпапки.

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

Для каждого типа планировщика папка (или подпапка настройки) содержат обертки, представьте функции и другие скрипты управления заданием для независимых и связывающихся заданий. Например, можно установить следующие файлы для использования с планировщиком PBS:

FileName Описание
independentSubmitFcn.mПредставьте функцию для независимого задания
communicatingSubmitFcn.mПредставьте функцию для связывающегося задания
independentJobWrapper.shСкрипт, который представлен PBS, чтобы запустить рабочих, которые оценивают задачи независимого задания
communicatingJobWrapper.shСкрипт, который представлен PBS, чтобы запустить рабочих, которые оценивают задачи связывающегося задания
deleteJobFcn.mСкрипт, чтобы удалить задание из планировщика
extractJobId.mСкрипт, чтобы получить ID задания от планировщика
getJobStateFcn.mСкрипт, чтобы получить состояние задания от планировщика
getSubmitString.mСкрипт, чтобы получить вектор символов представления для планировщика
postConstructFcn.mСкрипт, который запущен после кластерного создания объекта

Эти файлы все запрограммированы, чтобы использовать стандартные функции декодирования, которым предоставляют продукт, таким образом, они не имеют специализированными, декодируют функции. Для передачи заданий стандартной функцией декодирования, которой предоставляют продукт, является parallel.cluster.generic.communicatingDecodeFcn. Можно просмотреть необходимые переменные в этом файле путем ввода

edit parallel.cluster.generic.communicatingDecodeFcn

Папки для других типов планировщика содержат подобные файлы.

Когда больше файлов или решений для большего количества планировщиков могут стать доступными в любое время, посетить страницу продукта в https://www.mathworks.com/products/matlab-parallel-server/. Эта веб-страница обеспечивает ссылки на обновления, поддерживаемые планировщики, требования и контактную информацию в случае, если у вас есть любые вопросы.