Сравнение между несколькими рабочими процессами симуляции

При выполнении набора нескольких симуляций можно запустить их параллельно на нескольких MATLAB® рабочие в параллельном пуле. Чтобы запустить несколько симуляций, можно использовать parsim, parsim с 'RunInBackground' опция, включенная, или batchsim.

Блок-схема показывает как, запуская несколько симуляций с parsim, parsim с RunInBackground и batchsim отличаться.

parsim и batchsim команды используют лицензию Parallel Computing Toolbox™, чтобы запустить параллельные симуляции. parsim запускает симуляции в сериале, если параллельный пул не может быть создан или если лицензия Parallel Computing Toolbox не доступна. batchsim команды не могут запустить ни с чем не сравнимую Вычислительную лицензию Тулбокса.

parsim Рабочий процесс

Используя parsim команда с Parallel Computing Toolbox, чтобы запустить несколько симуляций настраивает параллельный пул автоматически и запускает параллельные симуляции. Клиент всегда связывается к работникам MATLAB.

Основной parsim Рабочий процесс

  1. Создайте массив Simulink.SimulationInput объекты, in, задавать изменения в модели.

  2. Задайте одноразовую настройку, требуемую для выполнения нескольких симуляций. Можно использовать SetupFcn и TransferBaseWorkspaceVariables выполнять настройку на параллельных рабочих.

  3. Запущенный parsim(in) выполнить эти несколько параллельных симуляций. Если параллельный пул не существует, parsim создает его. parsim настройки по умолчанию использования.

  4. Можно открыть Simulation Manager путем установки 'SimulationManager' аргумент к 'on' с parsim, parsim(in,'SimulationManager','on'). Simulation Manager позволяет вам контролировать симуляции, когда они запускаются, и предоставляет вам доступ к выходным параметрам симуляций, когда они готовы. Simulation Manager предоставляет вам информацию о симуляциях, работающих на рабочих. Для получения дополнительной информации смотрите Simulation Manager.

  5. Если все симуляции завершены, вы получаете массив Simulink.SimulationOutput объекты.

Ограничения

  • Закрывание сеанса работы с MATLAB отключает симуляции на рабочих, отключая извлечение частичных результатов.

parsim с RunInBackground Рабочий процесс

  1. Создайте массив Simulink.SimulationInput объекты, in, задавать изменения в модели.

  2. Задайте одноразовую настройку, требуемую для выполнения нескольких симуляций. Можно использовать SetupFcn и TransferBaseWorkspaceVariables выполнять настройку на параллельных рабочих.

  3. Запущенный parsim с RunInBackground набор опции к 'on': parsim(in,'RunInBackground','on'). Установка 'RunInBackground' опция к 'on' запускает симуляции асинхронно. Это сохраняет командную строку MATLAB доступным включением вам работать над другими задачами.

  4. С 'RunInBackground' набор опции к 'on', parsim возвращает Simulink.Simulation.Future объект. Можно опросить этот объект проверять состояние симуляций, выбрать выходные параметры симуляций, когда они завершаются или отменяют симуляции. Для получения дополнительной информации смотрите Simulink.Simulation.Future.

Ограничения

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

  • Используя fetchNext цикл метода на Future объекты, наряду с Simulation Manager заставляет их конкурировать за извлечение Future объекты. Используйте любого fetchNext цикл метода или Simulation Manager, чтобы получить выходные параметры завершенных симуляций.

batchsim Рабочий процесс

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

  1. Создайте массив Simulink.SimulationInput объекты, in, задавать изменения в модели.

  2. Задайте одноразовую настройку, требуемую для выполнения нескольких симуляций. Можно использовать SetupFcn и TransferBaseWorkspaceVariables выполнять настройку на параллельных рабочих.

  3. Чтобы работать на кластерном или настольном фоне, вызвать batchsim разгружать выполнение симуляций. С batchsim, можно использовать большинство аргументов, которые совместимы с parsim и batch команды. Для получения дополнительной информации смотрите batchsim.

    Используя batchsim, вы разгружаете симуляции работнику MATLAB. Чтобы запустить пакетное задание на нескольких рабочих, задайте размер пула, N, это - целое число, задающее количество рабочих, чтобы превратить в параллельный пул для задания: batchsim(in, 'Pool', N). Должен быть, по крайней мере, N+1 рабочие, доступные в кластере. Если размер пула не задан, batchsim(in) запускает симуляции на одном рабочем в кластере, заданном кластерным профилем по умолчанию.

    Примечание

    batchsim ошибки, когда используется с размером пула, если лицензия Parallel Computing Toolbox не доступна.

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

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

Ограничения

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

  • batchsim не дает вам способность контролировать симуляции с Simulation Manager. Для пакетных заданий можно использовать монитор пакетного задания, который говорит вам, если задание ставится в очередь, происходит, или завершается. Для получения дополнительной информации смотрите Монитор Задания (Parallel Computing Toolbox)

Смотрите также

Функции

Классы

Инструменты

Похожие темы