Можно выполнить Polyspace® анализ локально на рабочем столе или разгрузка анализа на один или несколько выделенных удаленных серверов. В этом разделе показано, как настроить отправку анализа Polyspace с десктопных клиентов на удаленные серверы. После настройки можно отправить анализ Polyspace на удаленный сервер и просмотреть загруженные результаты на рабочем столе.
Чтобы определить, когда использовать локальный или удаленный анализ, используйте правила, перечисленные в этой таблице.
Напечатать | Когда использовать |
---|---|
Отдаленный | Исходные файлы большие, а время выполнения анализа длительное. Как правило, анализ Code Prover занимает значительно больше времени, чем анализ Bug Finder, и выигрывает от работы на выделенном сервере. |
Местный | Исходные файлы малы, а время выполнения анализа короткое. |
Типичная распределенная сеть для выполнения удаленного анализа состоит из следующих частей:
Клиентские узлы: На клиентском узле вы конфигурируете свой проект Polyspace или скрипты, а затем отправляете задание, которое запускает Polyspace.
Главный узел: главный узел распределяет представленные рабочие места узлам рабочего.
Узел (узлы) рабочего: анализ Polyspace работает на узле рабочего.
В этом рабочем процессе вы устанавливаете продукт MATLAB® Parallel Server™ для управления отправками от нескольких клиентов. Для каждой отправки создается задание анализа, которое помещается в очередь. Как только рабочий узел доступен, на нем запускается следующее задание анализа из очереди.
В этой таблице перечислены требования к продукту для удаленного анализа.
Местоположение | Требования | Установка |
---|---|---|
Узел клиента | Polyspace Bug Finder™ Лицензии Polyspace Bug Finder достаточно для запуска анализа Bug Finder или Code Prover на сервере и просмотра загруженных результатов анализа. | Запустите инсталлятор MathWorks на рабочих столах клиента. Выберите лицензию для десктопных продуктов Polyspace. Подробные инструкции см. в разделе Установка и лицензирование. |
Головной узел | MATLAB Parallel Server (ранее называемый MATLAB Distributed Computing Server) | Запустите инсталлятор MathWorks на сервере (серверах). Выберите лицензию для установки MATLAB Parallel Server. Для получения подробных инструкций смотрите Install and Configure MATLAB Parallel Server for MATLAB Job Scheduler и Network License Manager (MATLAB Parallel Server). |
Рабочие узлы |
| Установка:
|
В самом простом строении удаленного анализа тот же компьютер может служить головным узлом и рабочим узлом.
Чтобы выбрать количество рабочих узлов для распределения, примите во внимание следующее:
Polyspace не распределяет ни одного анализа по нескольким работникам и выполняет один анализ полностью на одном рабочем узле. Не ожидайте ускорения индивидуального анализа, если вы используете несколько рабочих процессов (если только вы не запускаете файл путем верификации файла в Code Prover).
Только если головной узел обрабатывает более одного задания анализа одновременно, вы можете извлечь пользу из нескольких работников. Этот сценарий вероятно, если несколько клиентов отправляют задания анализа в течение короткого временного окна.
Каждый рабочий узел должен иметь лицензию, доступную для выполнения анализа Polyspace. В противном случае рабочий узел может дождаться освобождения лицензии, и вы не можете воспользоваться преимуществами нескольких рабочих процессов.
Убедитесь, что вы не выделяете больше рабочих мест, чем количество доступных лицензий.
Использование MATLAB Parallel Server для распределения заданий Polyspace отличается от других применений MATLAB Parallel Server, где одно задание может быть параллелизировано по нескольким работникам.
На компьютерах, которые выступают рабочими узлами сервера, устанавливаются MATLAB Parallel Server и серверные продукты Polyspace в двух отдельных папках. Установка MATLAB Parallel Server должна знать, где расположены серверные продукты Polyspace, чтобы он мог маршрутизировать анализ Polyspace. Чтобы связать две установки, укажите пути к корневой папке серверных продуктов Polyspace в установках MATLAB Parallel Server.
Затем сконфигурируйте и запустите MATLAB Parallel Server (mjs
service) на всех компьютерах, которые выступают в качестве головного узла и рабочих узлов.
mjs
Настройки сервисаПеред запуском служб необходимо сконфигурировать mjs
параметры сервиса.
Переход к
, где matlabroot
\ toolbox\parallel\bin
- папка установки MATLAB Parallel Server, например matlabroot
C:\Program Files\MATLAB\R2021a
.
Измените файл mjs_def.bat
(Окна®) или mjs_def.sh
(Linux®). Чтобы отредактировать и сохранить файл, необходимо открыть редактор в режиме администратора.
Ознакомьтесь с инструкциями в файле и раскомментируйте линии по мере необходимости. Как минимум, вам, возможно, придется раскомментировать следующие линии:
Имя хоста:
REM set HOSTNAME=%strHostname%.%strDomain%
#HOSTNAME=`hostname -f`
Уровень безопасности:
REM set SECURITY_LEVEL=
#SECURITY_LEVEL=""
В противном случае при запуске планировщика заданий может возникнуть ошибка.
При выгрузке анализа с помощью установки рабочего стола Polyspace сервер должен запустить анализ с помощью установки серверного продукта Polyspace из того же релиза. Например, если вы выгружаете анализ из R2021a настольного продукта, анализ должен выполняться с использованием серверного продукта R2021a. Чтобы убедиться, что используется правильный серверный продукт Polyspace, необходимо указать пути установки серверных продуктов Polyspace в установках MATLAB Parallel Server.
Чтобы задать пути установки Polyspace:
Переход к
. Здесь, matlabroot
\ toolbox\parallel\bin\
- папка установки MATLAB, например matlabroot
C:\Program Files\MATLAB\R2021a
.
Раскомментируйте и измените следующую линию в файле mjs_polyspace.conf
. Чтобы отредактировать и сохранить файл, необходимо открыть редактор в режиме администратора.
POLYSPACE_SERVER_ROOT=polyspaceserverroot
Здесь,
- путь установки серверных продуктов, для образца:polyspaceserverroot
C:\Program Files\Polyspace Server\R2021a
Если вы используете несколько релизы десктопных и серверных продуктов Polyspace, релиз MATLAB Parallel Server должен быть более поздним. Например, если вы разгружаете задания анализа, используя как R2019a, так и R2019b настольные и серверные продукты Polyspace, установка MATLAB Parallel Server должна быть R2019b. Смотрите также Отправка заданий анализа из нескольких релизов Polyspace.
mjs
Сервис и присвоение в качестве головного узла или рабочего узлаЧтобы сконфигурировать сервер с несколькими работниками, запустите службу, которая запускает планировщик заданий (mjs
service) на компьютере, который выступает в качестве головного узла и всех компьютеров, которые выступают в качестве рабочих узлов. В самом простом строении тот же компьютер может действовать как головной узел, так и рабочий узел.
Чтобы настроить кластер с одним головным узлом и несколькими рабочими, на компьютере, который выступает в качестве головного узла:
Откройте Admin Center окно. Переход к
и выполните файл matlabroot
\ toolbox\parallel\bin\admincenter.bat
(Windows) или admincenter.sh
(Linux). Здесь,
- папка установки MATLAB, например matlabroot
C:\Program Files\MATLAB\R2021a
.
В Hosts разделе добавьте имена узлов всех компьютеров, которые необходимо использовать в качестве головных и рабочих узлов кластера. Запустите mjs
сервис.
Сервис использует настройки, указанные в файле mjs_def.bat
(Windows) или mjs_def.sh
(Linux).
Щелкните правой кнопкой мыши по каждому узлу. Выберите Start MJS (головной узел) или Start Workers (рабочие узлы).
Узлы отображаются в разделе MATLAB Job Scheduler или Workers. В каждом разделе выберите хост и нажмите кнопку Start, чтобы запустить планировщик заданий MATLAB или работники.
Выбор компьютера в качестве хоста запускает mjs
сервис на этом компьютере. У вас должно быть разрешение на запуск служб на других компьютерах в сети. Например, в Windows необходимо быть в группе «Администраторы» для других компьютеров, на которых необходимо запустить mjs
сервис. В противном случае необходимо запустить mjs
услуги индивидуально на каждом компьютере, который действует как рабочий.
Для получения дополнительной информации и рабочих процессов в командной строке смотрите:
Установите и сконфигурируйте MATLAB Parallel Server для планировщика заданий MATLAB и диспетчера сетевых лицензий (MATLAB Parallel Server)
mjs
(MATLAB Parallel Server)
Сконфигурируйте узел клиента так, чтобы он мог взаимодействовать с компьютером, который служит головным узлом кластера MATLAB Parallel Server. Для планирования заданий можно использовать планировщик заданий, который поставляется с MATLAB Parallel Server (MATLAB Job Scheduler). Если вы уже использовали сторонний планировщик, такой как HPC Server или PBS Professional, можно продолжать использовать этот планировщик.
Сконфигурируйте клиентский узел в пользовательском интерфейсе десктопных продуктов Polyspace:
Выберите Tools > Preferences.
Перейдите на вкладку Server Configuration. В разделе MATLAB Parallel Server cluster configuration:
В поле Job scheduler host name укажите компьютер для головного узла кластера. На этом компьютере размещен планировщик заданий MATLAB.
Если порт, используемый на компьютере, на котором размещен планировщик заданий MATLAB, отличается от 27350, введите имя порта явным образом с обозначение
.hostName
: portNumber
Из-за сетевого параметра планировщик заданий не может подключиться к локальному компьютеру. Если это так, введите IP-адрес клиентского компьютера в поле Localhost IP address.
Профили кластеров позволяют вам задать определенные свойства для кластера, такие как количество потоков на рабочий процесс, тайм-ауты, коллбэки и так далее. Дополнительные сведения о профилях кластеров см. в разделах Обнаружение кластеров и Использование профилей кластеров (Parallel Computing Toolbox).
Например, вместо планировщика заданий, поставляемого с MATLAB Parallel Server, можно использовать сторонний планировщик, такой как HPC Server или PBS Professional. Можно создать профиль кластера, чтобы использовать сторонний планировщик. Можно также создать профиль кластера, который использует планировщик заданий MATLAB, но со свойствами nondefault. Например, если вы запускаете диспетчер заданий с сертификатом с помощью -certificate
флаг, можно создать профиль кластера, который использует этот менеджер заданий.
Чтобы создать и использовать профиль кластера:
В пользовательском интерфейсе Polyspace выберите Tools > Preferences.
В окне Настройки нажмите кнопку Settings рядом с Cluster Profile Manager.
В окне Диспетчер профилей кластера нажмите Add Cluster Profile. Выберите сторонний планировщик. Вы видите профиль кластера по умолчанию, используя этот планировщик.
Задайте свойства профиля кластера.
Нажмите Edit. При необходимости измените свойства по умолчанию.
Нажмите Validate. Как минимум, тест кластерного соединения и тест задания должны завершиться.
В окне Настроек Polyspace, для Job scheduler host name, укажите имя профиля кластера, которое вы только что создали (для образца, HPCServerProfile1
в примере выше).
Когда строение закончится, можно разгрузить анализ с рабочего стола Polyspace продукта установки на удаленный сервер. Можно выполнить одно из следующих действий:
Запустите удаленный анализ из пользовательского интерфейса десктопных продуктов Polyspace.
См. раздел «Отправка анализа Polyspace с рабочего стола на удаленные серверы».
Запустите удаленный анализ с помощью скриптов Windows или Linux.
См. раздел «Отправка анализа Polyspace с рабочего стола на удаленные серверы с использованием скриптов». В самом простом строении один и тот же компьютер может использоваться в качестве клиента и сервера. Для получения простого руководства, которое использует это строение и проходит все шаги для разгрузки анализа Polyspace, смотрите Отправить анализ Bug Finder с рабочего стола на локально размещенный сервер.
Запустите удаленный анализ с помощью скриптов MATLAB.
См. раздел «Выполнение анализа на сервере».
При обновлении до более нового релиза продуктов Polyspace можно продолжить отправку заданий из более старых и новых релизов. Например, предположим, что вы использовали R2019a релиз продуктов Polyspace и MATLAB Parallel Server. При обновлении до R2019b релизов двух наборов продуктов можно продолжить отправку заданий из более старых релизов.
Настройка для обработки нескольких релизов Polyspace, например, R2019a и R2019b, выглядит следующим образом:
Для поддержки отправок из нескольких релизов с одним кластером MATLAB Parallel Server необходимо связать различные установки продуктов Polyspace и MATLAB Parallel Server. Из ссылок, показанных на предыдущем рисунке, ссылки с номерами 1, 2 и 5 являются частью обычной установки сервер-клиент, используя все продукты из того же релиза. Чтобы создать все ссылки, выполните следующие шаги:
При R2019b установке десктопных продуктов Polyspace откройте пользовательский интерфейс и выберите Tools > Preferences. Укажите компьютер, который выступает в качестве головного узла кластера R2019b MATLAB Parallel Server, как описано ранее.
Если вы можете отправлять задания из R2019b настольных Продуктов Polyspace, вы уже сделали этот шаг.
В R2019b установке продуктов MATLAB Parallel Server отредактируйте mjs_polyspace.conf
файл для указания на R2019b установку серверных продуктов Polyspace, как описано выше.
Если ваша R2019b установка MATLAB Parallel Server может запустить анализ с помощью R2019b продуктов Polyspace Server, вы уже сделали этот шаг.
При R2019a установке десктопных продуктов Polyspace откройте пользовательский интерфейс и выберите Tools > Preferences. Укажите компьютер, который выступает в качестве головного узла кластера R2019b MATLAB Parallel Server.
Если R2019b версия MATLAB Parallel Server установлена на том же компьютере, что и R2019a версия, этот шаг уже выполнен. В противном случае этот шаг может оказаться новым в рабочем процессе с мультирелизами.
В R2019b установке продуктов MATLAB Parallel Server отредактируйте файл mjs_def.bat
или mjs_def.sh
(расположен в
) для ссылки на более ранний релиз. Найдите линию с matlabroot
\ toolbox\parallel\bin\MJS_ADDITIONAL_MATLABROOTS
и отредактируйте его следующим образом. Чтобы отредактировать и сохранить файл, необходимо открыть редактор в режиме администратора.
set MJS_ADDITIONAL_MATLABROOTS=othermatlabroot
Здесь,
- путь установки MATLAB Parallel Server из более раннего релиза, например:othermatlabroot
C:\Program Files\MATLAB\R2019a
Этот шаг является новым в рабочем процессе с мультирелизами.
В R2019a установке продуктов MATLAB Parallel Server отредактируйте mjs_polyspace.conf
файл для указания на R2019a установку серверных продуктов Polyspace, как описано выше.
Если ваша R2019a установка MATLAB Parallel Server может запустить анализ с помощью R2019a продуктов Polyspace Server, вы уже сделали этот шаг.
Примечание
Самый низкий релиз MATLAB Parallel Server, которая может быть смешана с текущим релизом с помощью этого рабочего процесса, R2016a.
Для релизов с R2016a на R2018b,.the сервер строение отличается от релизов R2019a и более поздних. См. документацию по старым релизам для шага 5 выше. Однако, если вы уже отправляете задания из pre-R2019a установки Polyspace с помощью pre-R2019a установки MATLAB Parallel Server, вы, предположительно, сделали этот шаг.