Типовой интерфейс планировщика обеспечивает гибкость, чтобы сконфигурировать взаимодействие MATLAB® клиент, работники MATLAB и сторонний планировщик. Используйте общий интерфейс планировщика, когда вы хотите полной индивидуальной настройки для взаимодействия MATLAB с настройкой планировщика.
Вы должны использовать общий интерфейс планировщика, когда:
Взаимодействие MATLAB со сторонними планировщиками без автоматической поддержки. Планировщики с готовой поддержкой Slurm, PBS Pro, Torque, LSF и HPC Server.
Взаимодействие MATLAB и сторонних планировщиков, которые не имеют общей файловой системы между клиентом MATLAB и узлами кластера.
Использование клиентского компьютера MATLAB, на котором не установлены утилиты сторонних планировщиков.
Универсальный интерфейс планировщика обеспечивает средство получения задач от клиентского сеанса Parallel Computing Toolbox™ к планировщику и узлам кластера. Для этого необходимо предоставить клиенту MATLAB набор скриптов плагина. Скрипты содержат инструкции, относящиеся к вашей инфраструктуре кластера, такие как взаимодействие с планировщиком заданий и передача данных задания и задачи в узлы кластера.
Чтобы помочь вам взаимодействовать с планировщиком, MathWorks® предоставляет дополнения или плагины для следующих сторонних планировщиков, которые можно загрузить и установить из Add-On Manager.
Плагин Parallel Computing Toolbox для MATLAB Parallel Server™ с Slurm
Плагин Parallel Computing Toolbox для MATLAB Parallel Server с IBM Platform LSF
Плагин Parallel Computing Toolbox для MATLAB Parallel Server с Grid Engine
Плагин Parallel Computing Toolbox для MATLAB Parallel Server с PBS
Плагин Parallel Computing Toolbox для MATLAB Parallel Server с HTCondor
На вкладке Home, в области Environment, нажмите Add-Ons. В Add-On Explorer найдите дополнение и установите его. Программа установки включает мастер создания профиля кластера для строения кластера.
Также можно скачать плагины из следующих локаций:
Чтобы установить плагин, дважды нажатие кнопки его или перетащите в MATLAB.
Каждый инсталлятор создает скрипты для трех возможных режимов отправки:
Общий - когда клиент может отправлять данные непосредственно планировщику, а клиент и машины кластера имеют общую файловую систему.
Удаленный - Когда клиентские и кластерные машины имеют общую файловую систему, но клиентская машина не может отправить непосредственно планировщику, например, когда клиентские утилиты планировщика не установлены. В этом случае удаленный хост отправляет команды планировщику, используя ssh
протокол.
Nonshared - Когда клиент и машины кластеров не имеют общей файловой системы. Этот режим использует ssh
протокол для отправки команд планировщику с помощью удаленного хоста, и он использует sftp
протокол для копирования файлов заданий и задач в файловую систему кластера.
Каждый режим отправки имеет свою подпапку в папке установки. Эти подпапки содержат README
файл, который содержит конкретные инструкции по использованию скриптов. Прежде чем использовать скрипты, решите, какой режим отправки описывает вашу сетевую настройку.
Если вы хотите настроить поведение скриптов плагина, можно задать дополнительные свойства, такие как AdditionalSubmitArgs
. Для получения дополнительной информации смотрите Настроить Поведение Выборка Скриптов Плагина.
Если строение планировщика или кластера не поддерживается одним из пакетов поддержки, рекомендуется изменить скрипты одного из этих пакетов. Для получения дополнительной информации о том, как записать набор скриптов плагина для типовых планировщиков, смотрите Plugin Scripts для типовых планировщиков (Parallel Computing Toolbox).
В этом примере показано, как настроить профиль кластера для использования типового интерфейса планировщика. Он показывает настройку планировщика LSF в сети без общей файловой системы между клиентом и компьютерами кластера. Следующая схема иллюстрирует настройку кластера:
В этом типе строения данные задания копируются с клиентского хоста под управлением операционной системы Windows на узел кластера (узел входа в кластер) под управлением операционной системы UNIX ®. С узла входа в кластер LSF bsub
команда отправляет задание планировщику. Когда задание заканчивается, его выход копируется обратно на хост клиента.
Настройка должна соответствовать следующим условиям:
Узел клиента и узел входа в кластер должны поддерживать ssh
и sftp
.
Узел входа в кластер должен иметь возможность вызова bsub
команда для отправки задания в планировщик LSF. Подробнее об этом можно узнать в README
файл в nonshared
подпапка в папке установки.
Загрузите инсталлятор для LSF отсюда.
Запустите инсталлятор путем открытия файла из клиента MATLAB.
Инсталлятор загружает скрипты плагина в nonshared
подпапка в папке установки. Мастер установки поможет вам выполнить шаги по созданию и проверке профиля кластера.
Можно задать количество работников, которые будут использоваться при проверке профиля. Если вы не задаете количество работников на вкладке Validation, то процесс валидации пытается использовать столько работников, сколько значение задано свойством NumWorkers на вкладке Properties. Можно задать меньшее количество рабочих процессов для проверки строения, не занимая весь кластер.
Запустите диспетчер профилей кластеров с рабочего стола MATLAB. На вкладке Home, в области Environment, выберите Parallel > Create and Manage Clusters.
Выберите профиль кластера в объявлении.
Перейдите на вкладку Validation.
Используйте флажки, чтобы выбрать все тесты или подмножество этапов валидации и указать количество работников, которые будут использоваться при проверке вашего профиля.
Нажмите Validate.
На вкладке Validation результатов показаны выходы. Следующий рисунок показывает результаты профиля, который прошел все тесты валидации.
Примечание
В случае непрохождения валидации обратитесь в службу поддержки установки MathWorks.
Если ваша валидация прошла, у вас есть действительный профиль, который можно использовать в других параллельных приложениях. Вы можете вносить в свой профиль любые изменения, соответствующие вашим приложениям, такие как NumWorkersRange, AttachedFiles или AdditionalPaths.
Чтобы сохранить профиль для других пользователей, выберите профиль и нажмите кнопку Export. Затем сохраните свой профиль в файл в удобном месте. При запуске Диспетчера профилей кластеров другие пользователи могут импортировать ваш профиль, нажав Import.
Чтобы узнать, как распределить общий профиль кластера и скрипты плагина для других, чтобы использовать, смотрите Распространять общий профиль кластера и скрипты плагина.
Если необходимо изменить существующий типовой профиль кластера, можно сконфигурировать профиль вручную. Если вы создаете профиль впервые и используете один из предоставленных скриптов поддержки, используйте мастер установки: Запуск установщика LSF. Следующие шаги воспроизводят строение, выполняемую установщиком вручную. Можно изменить любую из этих опций в зависимости от настройки.
Запуск Сеанса работы с MATLAB на клиентском узле.
Запустите диспетчер профилей кластеров с рабочего стола MATLAB. На вкладке Home, в области Environment, выберите Parallel > Create and Manage Clusters.
Создайте новый профиль в Диспетчере профилей кластера, выбрав Add > Custom > Generic.
Выбрав новый профиль в списке, выберите «Переименовать» и измените имя профиля на InstallTest
. Нажмите Enter.
На вкладке Properties выберите Edit и укажите настройки для следующих полей:
Установите в поле Description значение Для проверки установки.
Установите JobStorageLocation в то место, где необходимо хранить данные о задании и задаче на клиентской машине (не в местоположении кластера), например C:\Temp\joblocation
.
Вы не должны делиться JobStorageLocation между параллельными вычислительными продуктами, работающими под разными версиями. Каждая версия кластера должна иметь свои собственные JobStorageLocation.
Установите NumWorkers для количества рабочих процессов, для которых необходимо протестировать установку.
Установите NumThreads на количество потоков, используемых для каждого рабочего процесса.
Установите ClusterMatlabRoot в место установки MATLAB для запуска на рабочих машинах.
Если кластер использует сетевое лицензирование, задайте для RequiresOnlineLicensing значение true.
Если вы задаете RequiresOnlineLicensing true
, введите свои LicenseNumber.
Установите OperatingSystem в операционной системе рабочих машин кластера.
Установите HasSharedFilesystem значение false
. Этот параметр указывает, что узел клиента и рабочие узлы не могут совместно использовать одно и то же расположение данных.
Установите PluginScriptsLocation в расположение скриптов плагина. В этом примере местоположение является nonshared
подпапка в папке установки LSF. Как часть использования примерных скриптов в nonshared
submission mode, задайте свойства в шагах k
и l
.
В таблице AdditionalProperties выберите Add. Задайте новое свойство с именем ClusterHost
, значение cluster-host-name
, и введите String
.
В таблице AdditionalProperties выберите Add. Задать новое свойство с именем RemoteJobStorageLocation
, значение /network/share/joblocation
, и введите String
.
Щелкните Done, чтобы сохранить изменения профиля кластера. Диалоговое окно выглядит следующим образом:
Чтобы проверить, что профиль работает, выполните валидацию, следуя шагам в Проверке профиля и установки кластера.
В зависимости от архитектуры кластера, вам может потребоваться выполнить дополнительные задачи, прежде чем вы подключитесь к своему типовому планировщику.
Можно использовать сборку MPI, которая отличается от той, которая поставляется с Parallel Computing Toolbox. Дополнительные сведения об использовании этой опции с общим интерфейсом планировщика см. в разделе Использование различных построений MPI в системах UNIX.
Примеры скриптов для семейства Grid Engine зависят от наличия matlab
параллельное окружение. Параллельные окружения (PE) являются программными окружениями, предназначенными для параллельных вычислений в кластерах. Чтобы запустить задания связи с MATLAB Parallel Server и кластером семейства Grid Engine, необходимо установить matlab
параллельное окружение.
Создайте параллельное окружение. Следующие шаги создают параллельное окружение, а затем делают ее выполняемой во всех очередях. В качестве наилучшей практики выполните эти шаги на головном узле кластера. Некоторые шаги требуют доступа администратора.
Загрузите и запустите инсталлятор для Grid Engine из семейства Grid Engine.
Перейдите к местоположению соответствующих скриптов плагина для вашего режима отправки в папке установки.
Изменение содержимого matlabpe.template
использовать необходимое количество пазов и правильное расположение startmatlabpe.sh
и stopmatlabpe.sh
файлы. Эти файлы могут существовать в общем расположении, доступном для всех хостов, или можно скопировать их в одно и то же место на каждом хосте. Можно также изменить другие значения или добавить дополнительные значения к matlabpe.template
для вашего кластера. Для получения дополнительной информации см. sge_pe
документация предоставлена с вашим планировщиком.
Добавьте matlab
параллельное окружение, с помощью команды интерпретатора, такой как:
qconf -Ap matlabpe.template
Сделайте matlab
параллельное окружение, выполняемая во всех очередях:
qconf -mq all.q
pe_list
, и добавить matlab
.Убедитесь, что вы можете отправить тривиальное задание в PE:
$ echo "hostname" | qsub -pe matlab 1
Использование qstat
проверить правильность выполнения задания и проверить, что выходной файл содержит имя хоста, запустившего задание. Имя файла по умолчанию для файла выхода ~/STDIN.o###
, где ###
- номер задания Grid Engine.
Примечание
Если вы измените имя параллельного окружения на что-то кроме matlab
, также измените функции отправки.
Если вы используете брандмауэры Windows на узлах кластера, можно добавить MATLAB как разрешенную программу.
В следующих инструкциях matlabroot ссылается на место установки MATLAB.
Войдите в систему как пользователь с правами администратора.
Выполните следующий скрипт в командном окне DOS:
matlabroot\toolbox\parallel\bin\addMatlabToWindowsFirewall.bat
Если вы используете другие брандмауэры, необходимо настроить их отдельно, чтобы добавить MATLAB как разрешенную программу.