Вместо выполнения анализа Polyspace ® на локальном рабочем столе можно отправить анализ в удаленный кластер. Можно использовать выделенный кластер для запуска Polyspace, чтобы освободить память на локальном рабочем столе.
В этом разделе показано, как использовать сценарии Windows ® или Linux ® для отправки анализа в удаленный кластер и загрузки результатов на рабочий стол после анализа.
Чтобы выгрузить анализ из пользовательского интерфейса Polyspace, см. раздел Отправка анализа Polyspace с рабочего стола на удаленные серверы.
Простое учебное пособие, в котором рассматриваются все шаги по разгрузке анализа Polyspace, см. в разделе Отправка анализа проверки кода с рабочего стола на локально размещенный сервер. В учебном пособии один и тот же компьютер выполняет функции клиента и сервера.
![]()
После начальной установки можно отправить анализ 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-code-prover -batch -scheduler NodeHost|MJSName@NodeHost [options] [-mjs-username name]
- папка установки настольных продуктов Polyspace, например, polyspacerootC:\Program Files\Polyspace\R2021a.
- имя компьютера, на котором размещен главный узел кластера Parallel Server MATLAB.NodeHost
- имя планировщика заданий MATLAB на хосте головного узла.MJSName
При настройке связи с кластером из пользовательского интерфейса Polyspace можно определить и NodeHost из пользовательского интерфейса. Выберите Метрики > Метрики и параметры удаленного сервера. Откройте Центр администрирования параллельного сервера MATLAB. В разделе MATLAB Job Scheduler см. столбцы Name и Hostname для MJSNameMJSName и NodeHost.
Если вы используете startjobmanager для запуска планировщика заданий MATLAB, является аргументом опции MJSName-name. Дополнительные сведения см. в разделе Настройка дополнительных параметров для интеграции планировщика заданий MATLAB (параллельный сервер MATLAB).
являются опциями анализа. Эти опции аналогичны параметрам локального анализа. Например, можно использовать следующие опции:options
-sources-list-file: Укажите текстовый файл с одним именем исходного файла в строке.
-options-file: Укажите текстовый файл с одной опцией на строку.
-results-dirУкажите папку загрузки для хранения результатов после анализа.
Полный список параметров см. в разделе Параметры анализа в программе проверки кода Polyspace. Кроме того, можно:
Запустите анализ в интерфейсе пользователя и остановитесь после компиляции. Текстовые файлы и сценарии для выполнения анализа можно получить в командной строке. См. раздел Настройка параметров анализа пространства в интерфейсе пользователя и Создание сценариев.
Войти polyspace-codeprover -h. Отображается список доступных опций с кратким описанием.
Наведите курсор на каждую опцию на панели Конфигурация (Configuration) в интерфейсе пользователя Polyspace. Нажмите кнопку «Дополнительная справка» для получения информации о синтаксисе опции и о том, когда она требуется.
- это имя пользователя, необходимое для отправки заданий с помощью Parallel Server MATLAB. эти учетные данные требуются только в том случае, если используется уровень безопасности 1 или выше для отправки данных на параллельный сервер MATLAB. См. раздел Установка безопасности кластера планировщика заданий MATLAB (параллельный сервер MATLAB).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
Имя компьютера, на котором размещен главный узел кластера Parallel Server MATLAB (NodeHost).
Имя планировщика заданий MATLAB на хосте головного узла ().MJSName@NodeHost
Имя профиля кластера MATLAB (). ClusterProfile
Дополнительные сведения о кластерах см. в разделах Обнаружение кластеров и использование профилей кластеров (панель инструментов параллельных вычислений)
Если планировщик заданий не указан, polyspace-job-manager использует планировщик, указанный в настройках Polyspace. Чтобы увидеть имя планировщика, выберите Сервис > Настройки. На вкладке Конфигурация сервера см. имя узла планировщика заданий.
относится к командам возможных действий для управления заданиями в планировщике:action
listjobs:
Создайте список заданий Polyspace в планировщике. Для каждого задания программное обеспечение выдает следующую информацию:
ID - Идентификатор проверки или анализа.
AUTHOR - имя пользователя, отправившего задание.
APPLICATION - Название продукта Polyspace, например, Polyspace Code Prover или Polyspace Bug Finder.
LOCAL_RESULTS_DIR - папка результатов на локальном компьютере, указанная на вкладке Сервис > Настройки > Конфигурация сервера.
WORKER - локальный компьютер, с которого было отправлено задание.
STATUS - Статус задания, например, running и completed.
DATE - дата отправки задания.
LANG - Язык отправленного исходного кода.
download -job
ID
-results-folder
FolderPath:
Загрузить результаты анализа с указанным идентификатором в папку, указанную FolderPath.
Когда задание анализа поставлено в очередь на сервере, команда polyspace-code-prover возвращает идентификатор задания. Кроме того, файл ID.txt в папке результатов содержится идентификатор задания в следующем формате:
job_id;server_name:project_name version_number
92;localhost:Demo 1.0.Если вы не используете -results-folder , программа загружает результат в папку, указанную при запуске анализа, используя -results-dir вариант.
После загрузки результатов используйте интерфейс пользователя Polyspace для просмотра результатов.
getlog -job :ID
Открыть журнал для задания с указанным идентификатором.
remove -job :ID
Удалить задание с указанным идентификатором.
promote -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-code-prover.exe" -batch -scheduler localhost -results-dir %RESULTS_PATH% -options-file %OPTIONS_FILE% pause
polyspaceroot является папкой установки Polyspace. - это имя компьютера, на котором размещен главный узел кластера Parallel Server MATLAB. 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)