Можно выполнить 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. Для подробных инструкций смотрите Установку и Сконфигурируйте MATLAB Parallel Server для Планировщика Задания MATLAB и Сетевого менеджера лицензий (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
сервис) на всех компьютерах, которые действуют как главный узел и узлы рабочего.
mjs
Сервисные настройкиПеред стартовыми сервисами необходимо сконфигурировать mjs
сервисные настройки.
Перейдите к
, где matlabroot
\toolbox\parallel\bin
папка установки MATLAB Parallel Server, например, matlabroot
C:\Program Files\MATLAB\R2021b
.
Измените файл mjs_def.bat
Windows®) или mjs_def.sh
(Linux®). Чтобы отредактировать и сохранить файл, необходимо открыть редактор в режиме администратора.
Считайте инструкции в файле и не прокомментируйте линии по мере необходимости. Как минимум вам придется не прокомментировать эти линии:
Имя узла:
REM set HOSTNAME=%strHostname%.%strDomain%
#HOSTNAME=`hostname -f`
Уровень безопасности:
REM set SECURITY_LEVEL=
#SECURITY_LEVEL=""
Если вы выполняете этот шаг позже, убедитесь, что сначала остановили mjs
сервисы с:
mjs stop -clean
mjs restart -clean
В противном случае вы можете видеть ошибку позже при запуске планировщика задания.
Когда вы разгружаете анализ с помощью установки десктопного решения Polyspace, сервер должен запустить анализ с помощью установки серверного продукта Polyspace от того же релиза. Например, если вы разгружаете анализ из десктопного решения R2021b, анализ должен запустить использование серверного продукта R2021b. Чтобы гарантировать, что правильный серверный продукт Polyspace используется, необходимо задать пути к установке серверных продуктов Polyspace в установках MATLAB Parallel Server.
Задавать пути к установке Polyspace:
Перейдите к
. Здесь, matlabroot
\toolbox\parallel\bin\
папка установки MATLAB, например, matlabroot
C:\Program Files\MATLAB\R2021b
.
Не прокомментируйте и измените следующую линию в файле mjs_polyspace.conf
. Чтобы отредактировать и сохранить файл, необходимо открыть редактор в режиме администратора.
POLYSPACE_SERVER_ROOT=polyspaceserverroot
Здесь,
путь к установке серверных продуктов, например:polyspaceserverroot
C:\Program Files\Polyspace Server\R2021b
Если вы используете несколько релизов десктопных решений Polyspace и серверных продуктов, релиз MATLAB Parallel Server должен быть более поздним. Например, если вы разгружаете аналитические задания с помощью и R2019a и десктопных решений R2019b Polyspace и серверных продуктов, установка MATLAB Parallel Server должна быть R2019b один. См. также Представляют Аналитические Задания от Нескольких Релизов Polyspace.
mjs
Сервис и присвоение как главный узел узла или рабочегоЧтобы сконфигурировать сервер с несколькими рабочими, запустите сервис, который запускает планировщик задания (mjs
сервис) на компьютере, который действует как главный узел и все компьютеры, которые действуют как узлы рабочего. В самой простой настройке тот же компьютер может действовать как главный узел и узел рабочего.
Чтобы настроить кластер с одним главным узлом и несколькими рабочими, на компьютере, который действует как главный узел:
Откройте окно Admin Center. Перейдите к
и выполните файл matlabroot
\toolbox\parallel\bin\admincenter.bat
(Windows) или admincenter.sh
(Linux). Здесь,
папка установки MATLAB, например, matlabroot
C:\Program Files\MATLAB\R2021b
.
В разделе 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) команда для стартовых сервисов, и nodestatus
Команда (MATLAB Parallel Server) для проверки состояния узлов (например, чтобы проверять, может ли узел обработать представления от нескольких релизов).
Для примера рабочих процессов командной строки, чтобы запустить mjs
сервисы, смотрите, Отправляют Анализ Code Prover с Рабочего стола на Локально Размещенный Сервер.
Сконфигурируйте клиентский узел так, чтобы он мог связаться с компьютером, который служит главным узлом кластера MATLAB Parallel Server. Для планирования заданий можно использовать планировщик задания, который идет с MATLAB Parallel Server (Планировщик Задания MATLAB). Если вы уже использовали сторонний планировщик, такой как Сервер HPC или Профессионал PBS, можно продолжить использовать тот планировщик.
Сконфигурируйте клиентский узел в пользовательском интерфейсе десктопных решений Polyspace:
Выберите Tools> Preferences.
Кликните по вкладке Server Configuration. Под MATLAB Parallel Server cluster configuration:
В поле Job scheduler host name задайте компьютер для главного узла кластера. Это главные компьютеры планировщик задания MATLAB.
Если порт, используемый на компьютере, размещающем планировщик задания MATLAB, отличается от 27 350, введите имя порта явным образом с обозначением
.hostName
:portNumber
Из-за сетевой установки, планировщик задания может не мочь связать назад с вашим локальным компьютером. Если так, введите IP-адрес клиентского компьютера в поле Localhost IP address.
Кластерные профили позволяют вам задать определенные свойства для своего кластера, такие как количество потоков на рабочего, тайм-ауты, коллбэки, и так далее. Для получения дополнительной информации о кластерных профилях смотрите, Обнаруживают Кластеры и Профили Кластера Использования (Parallel Computing Toolbox).
Например, вместо планировщика задания, которому предоставляют MATLAB Parallel Server, можно использовать сторонний планировщик, такой как Сервер HPC или Профессионал PBS. Можно создать кластерный профиль, чтобы использовать сторонний планировщик. Можно также создать кластерный профиль, который использует планировщик задания MATLAB, но со свойствами не по умолчанию. Например, если вы запускаете менеджера по заданию с сертификатом с помощью -certificate
отметьте, можно создать кластерный профиль, который использует этого менеджера по заданию.
Создать и использовать кластерный профиль:
В пользовательском интерфейсе Polyspace выберите Tools> Preferences.
В окне Polyspace Preferences нажмите кнопку Settings около Cluster Profile Manager.
В окне Cluster Profile Manager нажмите Add Cluster Profile. Выберите сторонний планировщик. Вы видите, что кластерный профиль по умолчанию использует этот планировщик.
Задайте свойства кластерного профиля.
Нажмите Edit. Измените свойства по умолчанию по мере необходимости.
Нажмите Validate. Как минимум кластерный тест связи и тест задания должны завершиться.
В окне Polyspace Preferences, для Job scheduler host name, задают кластерное имя профиля, которое вы только создали (например, HPCServerProfile1
в примере выше).
Если настройка закончена, можно разгрузить анализ с установки десктопного решения Polyspace на удаленный сервер. Можно выполнить одно из следующих действий:
Запустите удаленный анализ с пользовательского интерфейса десктопных решений Polyspace.
Смотрите отправляют анализ Polyspace с рабочего стола на удаленные серверы.
Начните удаленный анализ со скриптов Linux или Windows.
Смотрите Отправляют Анализ Polyspace с Рабочего стола на Удаленные серверы Используя Скрипты. В самой простой настройке тот же компьютер может использоваться в качестве клиент-сервера. Для простого примера, который использует эту настройку и идет через все шаги для разгрузки анализа Polyspace, смотрите, Отправляют Анализ Code Prover с Рабочего стола на Локально Размещенный Сервер.
Начните удаленный анализ со скриптов 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. Задайте компьютер, который действует как главный узел кластера MATLAB Parallel Server R2019b, аналогичного описанному ранее.
Если вы можете представить задания из десктопных решений R2019b Polyspace, вы уже выполнили этот шаг.
В установке R2019b продуктов MATLAB Parallel Server отредактируйте mjs_polyspace.conf
файл, чтобы указать на установку R2019b Серверных продуктов Polyspace, аналогичных описанному ранее.
Если ваша установка R2019b MATLAB Parallel Server может запустить анализ с помощью серверных продуктов R2019b Polyspace, вы уже выполнили этот шаг.
В установке R2019a десктопных решений Polyspace откройте пользовательский интерфейс и выберите Tools> Preferences. Задайте компьютер, который действует как главный узел кластера MATLAB Parallel Server R2019b.
Если вы устанавливаете версию 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, вы уже выполнили этот шаг.
Примечание
Самый низкий релиз MATLAB Parallel Server, который может быть смешан с текущим релизом с помощью этого рабочего процесса, является R2016a.
Для релизов от R2016a до R2018b, .the настройка серверной стороны отличается от релизов R2019a и позже. Консультируйтесь с документацией для более старых релизов для шага 5 выше. Однако, если вы уже представляете задания от установки pre-R2019a Polyspace с помощью pre-R2019a установки MATLAB Parallel Server, вы, по-видимому, выполнили этот шаг.