exponenta event banner

Отправка анализа Polyspace с рабочего стола на удаленные серверы с помощью сценариев

Вместо выполнения анализа Polyspace ® на локальном рабочем столе можно отправить анализ в удаленный кластер. Можно использовать выделенный кластер для запуска Polyspace, чтобы освободить память на локальном рабочем столе.

В этом разделе показано, как использовать сценарии Windows ® или Linux ® для отправки анализа в удаленный кластер и загрузки результатов на рабочий стол после анализа.

Рабочий процесс клиент-сервер для выполнения анализа

После начальной установки можно отправить анализ Polyspace с рабочего стола клиента на сервер. Рабочий процесс клиент-сервер выполняется в три этапа. Все три шага можно выполнить на одном компьютере или на трех разных компьютерах.

  1. Узел клиента: Параметры анализа Polyspace и запуск анализа на рабочем столе клиента. Начальная фаза анализа вплоть до компиляции выполняется на рабочем столе. После компиляции задание анализа отправляется на сервер.

    Требуется настольный продукт Polyspace, Polyspace Bug Finder™ на компьютере, выполняющем функции клиентского узла.

  2. Головной узел: сервер состоит из головного узла и нескольких рабочих узлов. Главный узел использует планировщик заданий для управления отправлениями с нескольких клиентских рабочих столов. Затем задания распределяются по рабочим узлам по мере их доступности.

    На компьютере, выполняющем функции головного узла, требуется продукт MATLAB ® Parallel Server™.

  3. Узлы работника: когда работник становится доступным, планировщик заданий назначает анализ работнику. Анализ 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]
где:

  • polyspaceroot - папка установки настольных продуктов Polyspace, например, C:\Program Files\Polyspace\R2021a.

  • NodeHost - имя компьютера, на котором размещен главный узел кластера Parallel Server MATLAB.

    MJSName - имя планировщика заданий MATLAB на хосте головного узла.

    При настройке связи с кластером из пользовательского интерфейса Polyspace можно определить NodeHost и MJSName из пользовательского интерфейса. Выберите Метрики > Метрики и параметры удаленного сервера. Откройте Центр администрирования параллельного сервера MATLAB. В разделе MATLAB Job Scheduler см. столбцы Name и Hostname для MJSName и NodeHost.

    Если вы используете startjobmanager для запуска планировщика заданий MATLAB, MJSName является аргументом опции -name. Дополнительные сведения см. в разделе Настройка дополнительных параметров для интеграции планировщика заданий MATLAB (параллельный сервер MATLAB).

  • options являются опциями анализа. Эти опции аналогичны параметрам локального анализа. Например, можно использовать следующие опции:

    • -sources-list-file: Укажите текстовый файл с одним именем исходного файла в строке.

    • -options-file: Укажите текстовый файл с одной опцией на строку.

    • -results-dirУкажите папку загрузки для хранения результатов после анализа.

    Полный список параметров см. в разделе Параметры анализа в Polyspace Bug Finder. Кроме того, можно:

    • Запустите анализ в интерфейсе пользователя и остановитесь после компиляции. Текстовые файлы и сценарии для выполнения анализа можно получить в командной строке. См. раздел Настройка параметров анализа пространства в интерфейсе пользователя и Создание сценариев.

    • Войти polyspace-bug-finder -h. Отображается список доступных опций с кратким описанием.

    • Наведите курсор на каждую опцию на панели Конфигурация (Configuration) в интерфейсе пользователя Polyspace. Нажмите кнопку «Дополнительная справка» для получения информации о синтаксисе опции и о том, когда она требуется.

  • name - это имя пользователя, необходимое для отправки заданий с помощью Parallel Server MATLAB. эти учетные данные требуются только в том случае, если используется уровень безопасности 1 или выше для отправки данных на параллельный сервер MATLAB. См. раздел Установка безопасности кластера планировщика заданий MATLAB (параллельный сервер MATLAB).

Анализ выполняется локально на рабочем столе до конца этапа компиляции. После компиляции программа отправляет задание анализа в кластер и предоставляет идентификатор задания. Также можно прочитать идентификатор из файла 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). Здесь:

  • polyspaceroot является папкой установки MATLAB.

  • 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-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:

      Открыть журнал для задания с указанным идентификатором.

    • remove -job ID:

      Удалить задание с указанным идентификатором.

    • promote -job ID:

      Продвижение задания с указанным идентификатором в очереди.

    • demote -job ID

      Понизить задание с указанным идентификатором в очереди.

Примеры сценариев для удаленного анализа

В Windows, чтобы не вводить команды каждый раз, можно сохранить команды в пакетном файле. В Linux можно повторно запустить анализ с помощью сценария оболочки. Чтобы создать пакетный файл для выполнения анализа:

  1. Сохранение параметров анализа в файле listofoptions.txt. Посмотрите -options-file.

  2. Создание файла 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. localhost - это имя компьютера, на котором размещен главный узел кластера Parallel Server MATLAB.

  3. Замените определения этих переменных в файле:

    • POLYSPACE_PATHВведите фактическое местоположение .exe файл.

    • RESULTS_PATH: Введите путь к папке. Файлы, созданные во время компиляции, сохраняются в папке.

    • OPTIONS_FILE: Введите путь к файлу listofoptions.txt.

  4. Двойной щелчок launcher.bat для выполнения анализа.

Совет

При выполнении анализа Polyspace - Windows .bat или Linux .sh создается файл. Файл находится в .settings в папке результатов. Вместо того чтобы писать сценарий с нуля, можно повторно запустить анализ с помощью этого файла.

См. также

Связанные темы