exponenta event banner

Обнаружение кластеров и использование профилей кластеров

Parallel Computing Toolbox™ поставляется с предварительно настроенным профилем кластера local для запуска параллельного кода на локальном настольном компьютере.

Управление поведением параллели осуществляется с помощью меню Параллель (Parallel) на вкладке Главная страница MATLAB ®.

Меню Параллельный (Parallel) можно использовать для:

  • Откройте для себя другие кластеры, работающие в вашей сети или на Amazon EC2. Щелкните Параллельный (Parallel) > Обнаружить кластеры (Discover Clusters). Дополнительные сведения см. в разделе Обнаружение кластеров.

  • Создание профилей кластера и управление ими с помощью диспетчера профилей кластера. Щелкните Параллельный (Parallel) > Создать кластеры и управлять ими. Дополнительные сведения см. в разделе Создание профилей кластера и управление ими.

Создание профилей кластера и управление ими

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

Управление профилями кластера с помощью диспетчера профилей кластера. Чтобы открыть Диспетчер профилей кластера, на вкладке Главная в разделе Среда выберите Параллельный > Создание кластеров и управление ими.

Диспетчер профилей кластера можно использовать для:

Обнаружение кластеров

Вы можете позволить MATLAB обнаружить кластеры для вас. Для обнаружения кластеров, доступных для использования, используйте один из следующих способов:

  • На вкладке Главная в разделе Среда выберите Параллельный > Обнаружить кластеры

  • В диспетчере профилей кластера выберите «Обнаружить кластеры»

Откроется диалоговое окно Обнаружение кластеров (Discover Clusters), в котором можно выполнить поиск кластеров параллельного Server™ MATLAB:

При выборе В сети появится новое окно. Выберите этот параметр, если кластеры используют планировщик заданий MATLAB или сервер Microsoft Windows HPC. По мере обнаружения кластеров они заполняют список для выбора. Если у вас уже есть профиль для любого из перечисленных кластеров, эти имена профилей включаются в список. Чтобы создать новый профиль для одного из обнаруженных кластеров, выберите имя кластера и нажмите кнопку Далее. В следующем диалоговом окне можно выбрать, следует ли использовать созданный профиль по умолчанию. Этот параметр не поддерживается в MATLAB Online.

При выборе «На EC2 Amazon» выполняется поиск кластеров, работающих на EC2 Amazon. Чтобы получить доступ к этим кластерам, необходимо предоставить сведения для входа в учетную запись MathWorks.

Требования к обнаружению кластера

Обнаружение кластеров поддерживается только для планировщиков заданий MATLAB, серверов Microsoft ® Windows ® HPC Server и облачных кластеров Amazon EC2. Если необходимо интегрировать планировщик с MATLAB Parallel Server или создать профиль кластера для другого поддерживаемого планировщика, см. раздел Начало работы с MATLAB Parallel Server (MATLAB Parallel Server). К обнаружению кластера применяются следующие требования:

  • Планировщик заданий MATLAB - Кластеры планировщика заданий MATLAB поддерживают два различных способа обнаружения:

    • Многоадресная передача: функция обнаружения кластеров использует сетевой протокол многоадресной передачи от клиента для поиска головных узлов, на которых запущен планировщик заданий MATLAB. Для этого необходимо, чтобы протокол многоадресной сети был включен и работал в сети, которая соединяет головные узлы планировщика заданий MATLAB (где работают планировщики) и клиентские машины. Эта форма обнаружения может быть ограничена локальной подсетью клиента и поэтому не всегда может обнаружить планировщик заданий MATLAB в другом месте сети.

    • DNS SRV: Альтернативная методика обнаружения - поиск кластеров по записям службы DNS.

      Система доменных имен (DNS) является стандартом для идентификации имен хостов с IP-адресами, либо в Интернете, либо в частной сети. Использование DNS позволяет обнаруживать кластеры планировщика заданий MATLAB, определяя конкретные узлы, а не осуществляя широковещательную рассылку по сети.

      Запись службы DNS (SRV) определяет расположение узлов и портов служб, например, связанных с кластерами, которые требуется обнаружить. Системный администратор создает SRV-записи DNS в инфраструктуре DNS организации. Описание требуемой записи и сведения о проверке см. в разделе SRV-запись DNS (параллельный сервер MATLAB).

  • Сервер HPC - функциональные возможности кластеров обнаружения используют доменные службы Active Directory для обнаружения головных узлов. Головные узлы сервера HPC добавляются в Active Directory во время установки программного обеспечения сервера HPC.

  • Amazon EC2 - функция обнаружения кластеров требует рабочего сетевого соединения между клиентом и запущенными веб-службами Cloud Center mathworks.com.

Создание облачного кластера

Создавать кластеры в облачных сервисах Amazon AWS можно непосредственно из диспетчера профилей кластеров. В диспетчере профилей кластера выберите Создать облачный кластер. Зарегистрируйтесь в учетной записи MathWorks ® и выполните необходимые действия. Затем можно создать облачный кластер и настроить такие параметры, как количество машин или количество работников на машину. Дополнительные сведения о каждом из доступных параметров см. в разделе Создание облачного кластера. После выполнения всех шагов MATLAB создает новый профиль кластера. Изменить его свойства можно в Диспетчере профилей кластера.

Чтобы управлять лицензиями, тестировать подключение к облаку или управлять облачными кластерами в MathWorks Cloud Center, перейдите на панель инструментов Cluster Profile Manager > CLOUD.

Добавление и изменение профилей кластера

С помощью диспетчера профилей кластера можно добавить профиль кластера для планировщика заданий MATLAB или стороннего планировщика. Если необходимо настроить кластер для использования с MATLAB, см. раздел Начало работы с параллельным сервером MATLAB (MATLAB Parallel Server).

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

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

  1. В Диспетчере профилей кластера выберите Добавить профиль кластера > Планировщик заданий MATLAB. Это указывает на необходимость создания нового профиля для кластера планировщика заданий MATLAB.

    При этом создается и отображается новый профиль, называемый MJSProfile1.

  2. Дважды щелкните имя нового профиля в списке и измените имя профиля. MyMJSProfile1.

  3. Выберите «Редактировать» на инструментальной панели, чтобы можно было задать значения свойств профиля.

    В поле Описание введите текст. MJS with 4 workers, как показано на следующем рисунке. Введите имя хоста для машины, на которой запущен планировщик заданий MATLAB, и имя планировщика заданий MATLAB. При вводе информации о фактическом планировщике заданий MATLAB, уже запущенном в сети, введите фактические имена. Если вы не уверены в именах и расположениях планировщика заданий MATLAB в сети, обратитесь за помощью к системному администратору.

    Примечание

    Если планировщик заданий MATLAB использует значение, отличное от значения по умолчанию BASE_PORT как определено в mjs_def файл, Host свойство в профиле кластера должно быть добавлено вместе с этим BASE_PORT номер. Например, MJS-Host:40000.

  4. Прокрутите вниз до раздела «Рабочие» и в поле «Диапазон числа рабочих» введите двухэлементный вектор. [4 4]. Это указывает, что задания, использующие этот профиль, требуют не менее четырех работников и не более четырех работников. Таким образом, задание, использующее этот профиль, выполняется ровно на четырех работниках, даже если оно должно подождать, пока четыре работника не будут доступны перед запуском.

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

  5. Выберите «Готово» для сохранения параметров профиля.

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

  1. В Диспетчере профилей кластера щелкните правой кнопкой мыши имя профиля. MyMJSProfile1 в списке и выберите Дублировать.

    При этом создается дубликат профиля с именем, основанным на исходном имени профиля, присоединенном к _Copy.

  2. Дважды щелкните новое имя профиля и отредактируйте его имя MyMJSprofile2.

  3. Выберите «Редактировать», чтобы изменить значения свойств профиля.

  4. Изменить поле описания, чтобы изменить его текст на MJS with any workers.

  5. Прокрутите вниз до раздела «Рабочие» и в поле «Диапазон количества рабочих» снимите флажок [4 4] и оставьте поле пустым.

  6. Выберите «Готово», чтобы сохранить настройки профиля и закрыть редактор свойств.

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

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

Примеры профилей для различных типов поддерживаемых планировщиков см. в инструкциях по установке параллельного сервера MATLAB на странице Настройка кластера (параллельный сервер MATLAB).

Импорт и экспорт профилей кластера

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

Чтобы экспортировать профиль кластера, выполните следующие действия.

  1. В Диспетчере профилей кластера выберите (выделите) профиль, который требуется экспортировать.

  2. Выберите «Экспорт» > «Экспорт». (Можно также щелкнуть правой кнопкой мыши профиль в списке и выбрать «Экспорт».)

    Чтобы экспортировать все профили в один файл, выберите «Экспорт» > «Экспортировать все»

  3. В диалоговом окне «Экспорт профилей в файл» укажите местоположение и имя файла. Имя файла по умолчанию совпадает с именем профиля, который он содержит, с .mlsettings добавленное расширение; вы можете изменить имена, если хотите.

Обратите внимание, что невозможно экспортировать профили для личных кластеров Cloud Center.

Профили, сохраненные таким образом, могут быть импортированы другими пользователями MATLAB:

  1. В диспетчере профилей кластера выберите Импорт.

  2. В диалоговом окне «Импорт профилей из файла» найдите .mlsettings для профиля, который требуется импортировать. Выберите файл и нажмите «Открыть».

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

Можно также экспортировать и импортировать профили программным способом с помощью parallel.exportProfile и parallel.importProfile функции.

Экспорт профилей для компилятора MATLAB

Можно использовать экспортированный профиль с MATLAB Compiler™ и MATLAB Compiler SDK™ для определения информации о настройке кластера для запуска скомпилированных приложений в кластере. Например, setmcruserdata Функция (MATLAB Compiler) может использовать имя экспортированного файла профиля для установки значения ключа ParallelProfile. Дополнительные сведения и примеры развертывания параллельных приложений см. в разделах Pass Parallel Computing Toolbox Profile at Run Time (MATLAB Compiler) и Use Parallel Computing Toolbox in Deployed Applications (MATLAB Compiler SDK).

Скомпилированное приложение имеет тот же профиль по умолчанию и тот же список альтернативных профилей, что и скомпилированное приложение. Это означает, что во многих случаях файл профиля не требуется, как это может быть при использовании local профиль для местных работников. При использовании экспортированного файла первый профиль в файле становится профилем по умолчанию при импорте. Если любой из импортированных профилей имеет то же имя, что и любой из существующих профилей, они переименовываются во время импорта (хотя их имена в файле остаются неизменными).

Изменение количества работников и параметров кластера

После создания профиля кластера можно указать количество работников и другие свойства профиля:

  • NumWorkers: количество работников для создания пула. Фактический размер пула может быть ограничен лицензированием, размером кластера и параметрами профиля кластера. См. раздел Размер пула и выбор кластера

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

    Примечание

    Не увеличивайте число потоков для всех работников на компьютере, превышая число физических ядер. Другими словами, убедитесь, что NumWorkers x NumThreads ≤ количество физических ядер на компьютере. В противном случае вы могли бы снизить производительность.

Использование кластера из MATLAB

Запуск параллельных языковых функций, таких как parpool или batch, в кластере установите профиль кластера по умолчанию или используйте объекты кластера.

Укажите кластер по умолчанию

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

  • На вкладке Главная (Home) в разделе Среда (Environment) выберите Параллельный (Parallel) > Выбрать кластер по умолчанию (Select a Default Cluster), и оттуда будут доступны все профили. Указывается профиль по умолчанию. По умолчанию можно выбрать любой профиль в списке.

  • Диспетчер профилей кластера указывает, какой профиль используется по умолчанию. Можно выбрать любой профиль в списке, а затем выбрать Задать по умолчанию (Set as Default).

  • Вы можете получить или установить профиль по умолчанию программным путем с помощью parallel.defaultClusterProfile функция. Одно и то же достигается следующими наборами команд:

    parallel.defaultClusterProfile('MyMJSProfile1')
    parpool

    или

    parpool('MyMJSProfile1')

Программно указать кластер (parcluster)

parcluster создает объект кластера в рабочей области в соответствии с указанным профилем. Профиль идентифицирует определенный кластер и применяет значения свойств. Например,

c = parcluster('MyMJSProfile1')

Эта команда находит кластер, определенный параметрами профиля с именем MyMJSProfile1 и устанавливает значения свойств объекта кластера на основе параметров в профиле. Использовать объект кластера в таких функциях, как parpool или batch. Применяя различные профили, можно изменить выбор кластера без изменения кода приложения MATLAB.

См. также

| | | | | | | (компилятор MATLAB)

Связанные примеры

Подробнее

Внешние веб-сайты