Как продукты параллельных вычислений запускают задание

Обзор

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

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

Сеанс работы с MATLAB, в котором заданы задание и его задачи, называется клиентским сеансом. Часто, это находится на машине, где вы программируете MATLAB. Клиент использует программное обеспечение Parallel Computing Toolbox, чтобы выполнить определение заданий и задач и запустить их на кластерной локальной переменной к вашей машине. Программное обеспечение MATLAB Parallel Server является продуктом, который выполняет выполнение вашего задания на кластере машин.

Планировщик Задания MATLAB является процессом, который координирует выполнение заданий и оценку их задач. Планировщик Задания MATLAB распределяет задачи для оценки названным рабочим отдельных сеансов работы с MATLAB сервера. Использование Планировщика Задания MATLAB, чтобы получить доступ к кластеру является дополнительным; распределение задач кластеризировать рабочих может также быть выполнено сторонним планировщиком, таким как Сервер Microsoft® Windows® HPC (включая CCS) или Platform LSF®.

Основной Setup параллельных вычислений

Тулбокс и серверные компоненты

Планировщик задания MATLAB, рабочие и клиенты

Планировщик Задания MATLAB может быть запущен на любой машине в сети. Планировщик Задания MATLAB запускает задания в порядке, в котором они представлены, если любые задания в его очереди не продвинуты, понижены, отменены или удалены.

Каждому рабочему дает задачу от рабочего задания Планировщик Задания MATLAB, выполняет задачу, возвращает результат к Планировщику Задания MATLAB, и затем дан другую задачу. Когда все задачи для рабочего задания были присвоены рабочим, Планировщик Задания MATLAB начинает запускать следующее задание на следующем доступном рабочем.

Настройка программного обеспечения MATLAB Parallel Server обычно включает многих рабочих, которые могут все выполнить задачи одновременно, ускорив выполнение больших заданий MATLAB. Это обычно не важно, какой рабочий выполняет определенную задачу. В независимом задании рабочие оценивают задачи по одному как доступные, возможно, одновременно, возможно, не, возвращая результаты к Планировщику Задания MATLAB. В связывающемся задании рабочие оценивают задачи одновременно. Планировщик Задания MATLAB затем возвращает результаты всех задач в задании к клиентскому сеансу.

Примечание

Для тестирования вашего приложения локально или других целей, можно сконфигурировать одиночный компьютер как клиент, рабочий и хост Планировщика Задания MATLAB. У вас могут также быть больше чем один сеанс рабочего или больше чем один сеанс Планировщика Задания MATLAB на машине.

Взаимодействия сеансов параллельных вычислений

Большая сетевая сила включает несколько Планировщиков Задания MATLAB, а также несколько клиентских сеансов. Любой клиентский сеанс может создать, запуститься, и задания доступа на любом Планировщике Задания MATLAB, но сеанс рабочего указан с и выделен только одному Планировщику Задания MATLAB за один раз. Следующий рисунок показывает настройку с несколькими Планировщиками Задания MATLAB.

Кластер с несколькими клиентами и планировщиками задания MATLAB

Локальный кластер

Функцией программного обеспечения Parallel Computing Toolbox является способность запустить локальный кластер рабочих на клиентской машине, так, чтобы можно было запустить задания, не требуя удаленного кластера или программного обеспечения MATLAB Parallel Server. В этом случае вся обработка, требуемая для клиента, планирования и оценки задачи, выполняется на том же компьютере. Это дает вам возможность разработать, протестировать, и отладить ваши параллельные приложения прежде, чем запустить их на вашем сетевом кластере.

Сторонние планировщики

Как альтернатива использованию Планировщика Задания MATLAB, можно использовать сторонний планировщик. Это мог быть Сервер HPC Microsoft Windows (включая CCS), Платформа планировщик LSF, планировщик PBS Pro®, планировщик КРУТЯЩЕГО МОМЕНТА или типовой планировщик.

Выбор Between a Third-Party Scheduler и MATLAB Job Scheduler.  Необходимо рассмотреть следующее, решая использовать сторонний планировщик или Планировщик Задания MATLAB для распределения задач:

  • Ваш кластер уже имеет планировщик?

    Если у вас уже есть планировщик, можно быть обязаны использовать его в качестве средние значения управления доступом к кластеру. Ваш существующий планировщик может быть столь же простым в использовании как Планировщик Задания MATLAB, таким образом, не может быть никакой потребности в дополнительном включенном администрировании.

  • Является обработка заданий параллельных вычислений единственным управлением планированием кластера, в котором вы нуждаетесь?

    Планировщик Задания MATLAB специально разработан для приложений параллельных вычислений MathWorks®. Если другие задачи планирования не нужны, сторонний планировщик не может предложить преимущества.

  • Уже существует ли настройка совместного доступа к файлам на вашем кластере?

    Планировщик Задания MATLAB может обработать весь файл и совместное использование данных, необходимое для ваших приложений параллельных вычислений. Эта сила быть полезным в настройках, где совместный доступ ограничивается.

  • Интересуются вы пакетным режимом или управляемой интерактивной обработкой?

    Когда вы используете Планировщик Задания MATLAB, рабочие процессы обычно остаются рабочими в любом случае, выделенными их Планировщику Задания MATLAB. Со сторонним планировщиком рабочие запущены как приложения, которые запущены для оценки задач и остановлены, когда их задачи завершены. Если задачи малы или занимают время, начинание рабочего для каждого может включить слишком много служебного времени.

  • Есть ли проблемы безопасности?

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

  • Сколько узлов находится на вашем кластере?

    Если у вас есть большой кластер, у вас, вероятно, уже есть планировщик. Консультируйтесь со своим представителем MathWorks, если у вас есть вопросы о размере кластера и Планировщике Задания MATLAB.

  • Кто администрирует ваш кластер?

    У человека, администрирующего вашу кластерную силу, есть настройка тому, как планируются задания.

  • Необходимо ли контролировать прогресс задания или промежуточные данные о доступе?

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

Компоненты на смешанных платформах или неоднородных кластерах

Программное обеспечение Parallel Computing Toolbox и программное обеспечение MATLAB Parallel Server поддерживаются на Windows, UNIX® и операционных системах Macintosh. Смешанные платформы поддерживаются, так, чтобы клиенты, Планировщик Задания MATLAB и рабочие не были на той же платформе. Другие ограничения описаны в Системных требованиях.

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

Сервис mjs

Если вы используете Планировщик Задания MATLAB, каждую машину, которая размещает рабочего, или сеанс Планировщика Задания MATLAB должен также запустить mjs сервис.

mjs сервис управляет рабочим и сеансами Планировщика Задания MATLAB и восстанавливает их, когда их хост-машины отказывают. Если катастрофические отказы машины Планировщика Задания рабочего или MATLAB, когда mjs сервис запускает снова (обычно конфигурируемый, чтобы запуститься во время начальной загрузки машины), это автоматически, перезапускают Планировщик Задания MATLAB и сеансы рабочего, чтобы возобновить их сеансы до системного катастрофического отказа. Больше информации о mjs сервисе доступно в документации MATLAB Parallel Server.

Компоненты, представленные в клиенте

Клиентский сеанс связывается с Планировщиком Задания MATLAB вызывающими методами и свойствами конфигурирования объекта кластера Планировщика Задания MATLAB. Хотя не часто необходимый, клиентский сеанс может также получить доступ к информации о сеансе рабочего через объект рабочего.

Когда вы создаете задание на клиентском сеансе, задание на самом деле существует в месте хранения задания Планировщика Задания MATLAB. Клиентский сеанс имеет доступ к заданию через объект задания. Аналогично, задачи, которые вы задаете для задания на клиентском сеансе, существуют в месте данных о Планировщике Задания MATLAB, и вы получаете доступ к ним через объекты задачи.

Жизненный цикл задания

Когда вы создаете и запускаете задание, оно прогрессирует через многие этапы. Каждый этап задания отражается в значении объекта задания State свойство, которое может быть pending, queued, running, или finished. Каждый из этих этапов кратко описан в этом разделе.

Фигура ниже иллюстрирует этапы в жизненном цикле задания. В Планировщике Задания MATLAB (или другом планировщике), задания показывают категоризированные их состоянием. Некоторые функции, вы используете для управления задание, createJob, submit, и fetchOutputs.

Этапы задания

Следующая таблица описывает каждый этап в жизненном цикле задания.

Этап задания

Описание

Ожидание

Вы создаете задание на планировщике с createJob функционируйте на своем клиентском сеансе программного обеспечения Parallel Computing Toolbox. Первым состоянием задания является pending. Это - когда вы задаете задание путем добавления задач в него.

С очередями

Когда вы выполняетесь submit функция на задании, Планировщике Задания MATLAB или планировщике помещает задание в очередь, и состоянием задания является queued. Планировщик выполняет задания в очереди в последовательности, в которой они представлены, все задания, перемещающие очередь вверх, когда задания перед ними закончены. Можно изменить последовательность заданий в очереди с promote и demote функции.

Выполнение

Когда задание достигает верхней части очереди, планировщик распределяет задачи задания сеансам рабочего для оценки. Состоянием задания является теперь running. Если больше рабочих доступно, чем требуется для задач задания, планировщик начинает выполнять следующее задание. Таким образом может быть больше чем одно задание, запускающееся за один раз.

Законченный

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

Не пройдено

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

Удаленный

Когда данные задания были удалены из его местоположения данных или из Планировщика Задания MATLAB с delete функция, состоянием задания в клиенте является deleted. Это состояние доступно только, пока объект задания остается в клиенте.

Обратите внимание на то, что, когда задание закончено, его данные остаются в Планировщике Задания MATLAB JobStorageLocation папка, даже если вы очищаете все объекты от клиентского сеанса. Планировщик Задания MATLAB или планировщик хранят верность всей работе, которую это выполнило, пока вы не перезапускаете Планировщик Задания MATLAB в чистом состоянии. Поэтому можно получить информацию из задания позже или на другом клиентском сеансе, пока Планировщик Задания MATLAB не был перезапущен с -clean опция.

Можно постоянно удалить завершенные задания из Планировщика Задания MATLAB или места хранения планировщика с помощью графический интерфейса пользователя Монитора Задания или delete функция.