Вместо выполнения Polyspace® анализ на локальном рабочем столе, можно отправить анализ в удаленный кластер. Можно использовать выделенный кластер для запуска Polyspace, чтобы освободить память на локальном рабочем столе.
В этом разделе показано, как использовать Windows® или Linux® скрипты для отправки анализа в удаленный кластер и загрузки результатов на рабочий стол после анализа.
Для выгрузки анализа из пользовательского интерфейса Polyspace смотрите Отправить анализ Polyspace с рабочего стола на удаленные серверы.
Для получения простого руководства, которое проходит через все шаги для разгрузки анализа Polyspace, смотрите Отправить анализ Bug Finder с рабочего стола на локально размещенный сервер. В руководстве тот же компьютер действует как клиент, так и сервер.
После первоначальной настройки можно отправить анализ Polyspace с рабочего стола клиента на сервер. Рабочий процесс клиент-сервер выполняется в три этапа. Все три шага могут быть выполнены на одном и том же компьютере или на трех разных компьютерах.
Узел клиента: Вы задаете опции анализа Polyspace и запускаете анализ на рабочем столе клиента. Начальная фаза анализа до компиляции запускается на рабочем столе. После компиляции задание анализа отправляется на сервер.
Вам требуется десктопный продукт Polyspace, Polyspace Bug Finder™ на компьютере, который выступает в качестве клиентского узла.
Главный узел: Сервер состоит из головного узла и нескольких рабочих узлов. Главный узел использует планировщик заданий для управления отправками с нескольких клиентских рабочих столов. Затем задания распределяются между рабочими узлами по мере их доступности.
Вам требуется продукт MATLAB® Parallel Server™ на компьютере, который выступает в качестве головного узла.
Узлы рабочих процессов: Когда рабочий процесс становится доступным, планировщик заданий присваивает рабочий процесс анализу. Анализ Polyspace выполняется на рабочем столе, и результаты загружаются обратно на рабочий стол клиента для проверки.
Требуется продукт MATLAB Parallel Server на компьютерах, которые выступают в качестве рабочих узлов. Для выполнения анализа также требуются серверные продукты Polyspace Polyspace Bug Finder Server™ и/или Polyspace Code Prover™ Server.
Перед запуском удаленного анализа с помощью скриптов необходимо настроить коммуникацию между рабочим столом и удаленным сервером. Для отправки анализа Polyspace с рабочих столов на удаленный сервер см. раздел Установка продуктов.
Чтобы запустить удаленный анализ, используйте эту команду:
polyspaceroot\polyspace\bin\polyspace-bug-finder -batch -scheduler NodeHost|MJSName@NodeHost [options] [-mjs-username name]
- папка установки десктопных продуктов Polyspace, например polyspaceroot
C:\Program Files\Polyspace\R2021a
.
- имя компьютера, на котором размещен главный узел кластера MATLAB Parallel Server.NodeHost
- имя планировщика заданий MATLAB на хосте головного узла.MJSName
Если вы настраиваете связь с кластером из пользовательского интерфейса Polyspace, можно определить
и NodeHost
из пользовательского интерфейса. Выберите Metrics > Metrics and Remote Server Settings. Откройте MATLAB Parallel Server Admin Center. В разделе MATLAB Job Scheduler см. Name и Hostname столбцы для MJSName
MJSName
и NodeHost
.
Если вы используете startjobmanager
команда запуска планировщика заданий MATLAB,
является аргументом опции MJSName
-name
. Для получения дополнительной информации смотрите Настройте дополнительные опции для интегрирования планировщика заданий MATLAB (MATLAB Parallel Server).
являются опциями анализа. Эти опции аналогичны опциям локального анализа. Например, можно использовать следующие опции:options
-sources-list-file
: Задайте текстовый файл с одним именем исходного файла на линию.
-options-file
: Задайте текстовый файл с одной опцией на линию.
-results-dir
: Укажите папку загрузки для хранения результатов после анализа.
Полный список опций см. в разделе Опции анализа в Polyspace Bug Finder. Также можно:
Запустите анализ в пользовательском интерфейсе и остановитесь после компиляции. Текстовые файлы и скрипты для выполнения анализа можно получить в командной строке. См. «Настройка опций анализа Polyspace в интерфейсе пользователя» и «Генерация скриптов».
Введите polyspace-bug-finder -h
. Отображается список доступных опций с кратким описанием.
Наведите курсор на каждую опцию на панели Configuration в пользовательском интерфейсе Polyspace. Нажмите кнопку More Help для получения информации о синтаксисе опции и при необходимости опции.
- имя пользователя, требуемое для отправки заданий с помощью MATLAB Parallel Server. hese-учетные данные требуются только в том случае, если для отправки MATLAB Parallel Server используется уровень безопасности 1 или выше. Смотрите раздел Set MATLAB Job Scheduler Cluster Security (MATLAB Parallel Server).name
Анализ выполняется локально на рабочем столе до конца фазы компиляции. После компиляции программное обеспечение отправляет задание анализа в кластер и предоставляет идентификатор задания. Можно также считать идентификатор из файла ID.txt
в папке результатов. Чтобы контролировать свой анализ, используйте polyspace-jobs-manager
команда с идентификатором задания.
Если анализ останавливается после компиляции и вам приходится перезапускать анализ, чтобы избежать повторения фазы компиляции, используйте опцию -submit-job-from-previous-compilation-results
.
Чтобы управлять несколькими удаленными анализами, используйте опцию -batch
. Для образца:
polyspaceroot\polyspace\bin\polyspace-jobs-manager action -scheduler schedulerName
Run Bug Finder or Code Prover analysis on a remote cluster (-batch)
. Здесь:
- ваша папка установки MATLAB.polyspaceroot
является одним из следующих:schedulerName
Имя компьютера, на котором размещен главный узел кластера MATLAB Parallel Server (NodeHost
).
Имя планировщика заданий MATLAB на хосте головного узла (
).MJSName
NodeHost
Имя профиля кластера MATLAB (
). ClusterProfile
Дополнительные сведения о кластерах см. в разделах Обнаружение кластеров и Использование профилей кластеров (Parallel Computing Toolbox)
Если вы не задаете планировщик заданий, polyspace-job-manager
использует планировщик, заданный в настройках Polyspace. Чтобы увидеть имя планировщика, выберите Tools > Preferences. На вкладке Server Configuration см. Job scheduler host name.
ссылается на возможные команды действий для управления заданиями в планировщике:action
listjobs
:
Сгенерируйте список заданий Polyspace в планировщике. Для каждого задания программное обеспечение выдает следующую информацию:
ID
- Идентификатор верификации или анализа.
AUTHOR
- Имя пользователя, отправившего задание.
APPLICATION
- Имя продукта Polyspace, например, Polyspace Code Prover или Polyspace Bug Finder.
LOCAL_RESULTS_DIR
- Папка результатов на локальном компьютере, заданная через вкладку Tools > Preferences > Server Configuration.
WORKER
- Локальный компьютер, с которого было отправлено задание.
STATUS
- Статус задания, например running
и completed
.
DATE
- Дата представления задания.
LANG
- Язык представленного исходного кода.
download
-job
ID
-results-folder
FolderPath
:
Загрузить результаты анализа с заданным идентификатором в папку, заданную FolderPath
.
Когда задание анализа ставится в очередь на сервере, команда polyspace-bug-finder
возвращает задание. в сложение файл ID.txt
в папке результатов содержится идентификатор задания в этом формате:
job_id;server_name:project_name version_number
92;localhost:Demo 1.0
.Если вы не используете -results-folder
опция, программа загружает результат в папку, которую вы указали при запуске анализа, используя -results-dir
опция.
После загрузки результатов используйте пользовательский интерфейс Polyspace для просмотра результатов.
getlog -job
:ID
Откройте журнал для задания с указанным идентификатором.
удалить -job
:ID
Удалите задание с заданным идентификатором.
продвигать -job
:ID
Продвигайте задание с заданным идентификатором в очереди.
demote -job
ID
Понизите задание с заданным идентификатором в очереди.
В Windows, чтобы избежать ввода команд каждый раз, можно сохранить команды в пакетном файле. В Linux можно перезапустить анализ с помощью интерпретатора скрипта. Чтобы создать пакетный файл для выполнения анализа:
Сохраните опции анализа в файле listofoptions.txt
. См. -options-file
.
Создайте файл launcher.bat
в текстовом редакторе, таком как Блокнот.
В файл введите следующие команды:
echo off set POLYSPACE_PATH=polyspaceroot\polyspace\bin set RESULTS_PATH=C:\Results set OPTIONS_FILE=C:\Options\listofoptions.txt "%POLYSPACE_PATH%\polyspace-bug-finder.exe" -batch -scheduler localhost -results-dir "%RESULTS_PATH%" -options-file "%OPTIONS_FILE%" pause
polyspaceroot
- папка установки Polyspace.
- имя компьютера, на котором размещен главный узел кластера MATLAB Parallel Server. localhost
Замените определения этих переменных в файле:
POLYSPACE_PATH
: Введите фактическое местоположение .exe
файл.
RESULTS_PATH
: Введите путь к папке. Файлы, сгенерированные во время компиляции, сохраняются в папке.
OPTIONS_FILE
: Введите путь к файлу listofoptions.txt
.
Дважды кликните launcher.bat
чтобы запустить анализ.
Совет
Если вы запускаете анализ Polyspace, Windows .bat
или Linux- .sh
файл сгенерирован. Файл находится в .settings
подпапка в папке результатов. Вместо записи скрипта с нуля можно перезапустить анализ с помощью этого файла.
Run Bug Finder or Code Prover analysis on a remote cluster (-batch)