exponenta event banner

Отправка анализа обнаружения ошибок с рабочего стола на локально размещенный сервер

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

Это учебное пособие можно распространить на более сложные конфигурации. Полные инструкции по настройке и рабочему процессу см. ниже по ссылкам.

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

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

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

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

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

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

  3. Узлы работника: когда работник становится доступным, планировщик заданий назначает анализ работнику. Анализ Polyspace выполняется на работнике, и результаты загружаются обратно на рабочий стол клиента для просмотра.

    На компьютерах, выполняющих функции рабочих узлов, требуется продукт MATLAB Parallel Server. Для выполнения анализа также требуется серверный продукт Polyspace - Polyspace Bug Finder Server™.

См. также раздел Установка продуктов для отправки анализа Polyspace с настольных компьютеров на удаленный сервер.

Предпосылки

В этом учебном пособии используется тот же компьютер, что и клиент и сервер. На компьютере необходимо установить следующее:

  • Клиентский продукт: Polyspace Bug Finder

  • Серверные продукты: MATLAB Parallel Server и Polyspace Bug Finder Server

Дополнительные сведения см. в разделе Установка продуктов для отправки анализа Polyspace с настольных компьютеров на удаленный сервер.

Необходимо знать имя узла компьютера. Например, в Windows ® откройте терминал командной строки и введите:

hostname

Настройка и запуск сервера

Остановить предыдущие службы

При запуске служб MATLAB Parallel Server (mjs ), убедитесь, что вы остановили все службы. В частности, может потребоваться:

  • Проверьте временную папку, например: C:\Windows\Temp в Windows и удалите MDCE если она существует.

  • Остановите все службы явным образом.

    Откройте терминал командной строки. Перейти к matlabroot\toolbox\parallel\bin (использование cd) и введите следующее:

    mjs uninstall -clean

    Здесь, matlabroot - папка установки параллельного сервера MATLAB, например, C:\Program Files\MATLAB\R2021a.

Если службы запускаются в первый раз, выполнять эти действия не требуется.

Настроить mjs Параметры службы

Перед запуском служб необходимо настроить mjs настройки службы. Перейти к matlabroot\toolbox\parallel\bin, где matlabroot - папка установки параллельного сервера MATLAB, например, C:\Program Files\MATLAB\R2021a. Измените эти два файла. Для редактирования и сохранения этих файлов необходимо открыть редактор в режиме администратора.

  • mjs_def.bat (Windows) или mjs_def.sh (Linux ®)

    Прочитайте инструкции в файле и раскомментируйте строки по мере необходимости. Как минимум, может потребоваться раскомментировать следующие строки:

    • Имя хоста:

      REM set HOSTNAME=myHostName
      в Windows или
      #HOSTNAME=`hostname -f`
      в Linux. Удалить REM или # и явно укажите имя компьютера.

    • Уровень безопасности:

      REM set SECURITY_LEVEL=
      в Windows или
      #SECURITY_LEVEL=""
      в Linux. Удалить REM или # и явно указать уровень безопасности.

    В противном случае при запуске планировщика заданий может появиться ошибка.

  • mjs_polyspace.conf

    Измените и раскомментируйте строку, относящуюся к корню продукта сервера Polyspace. Строка должна относиться к номеру выпуска и корневой папке установки продукта сервера Polyspace. Например, если R2021a выпуск Polyspace Bug Finder Server установлен в корневой папке C:\Program Files\Polyspace Server\R2021a, измените строку следующим образом:

    POLYSPACE_SERVER_ROOT=C:\Program Files\Polyspace Server\R2021a
    

    В противном случае при установке Parallel Server MATLAB не удается найти установку Polyspace Bug Finder Server для выполнения анализа.

Запустить службы

Запустите mjs и назначить текущий компьютер как головной узел и рабочий узел.

Перейти к matlabroot\toolbox\parallel\bin, где matlabroot - папка установки параллельного сервера MATLAB, например, C:\Program Files\MATLAB\R2021a. Выполните следующие команды (непосредственно в командной строке или с помощью сценариев):

mjs install
mjs start
startjobmanager -name JobScheduler -remotehost hostname -v
startworker -jobmanagerhost hostname -jobmanager JobScheduler -remotehost hostname -v

Здесь, hostname - имя узла компьютера. Это имя узла, указанное в файле mjs_def.bat (Windows) или mjs_def.sh (Linux).

Вместо командной строки можно запустить службы из интерфейса Центра администрирования. См. раздел Установка продуктов для отправки анализа Polyspace с настольных компьютеров на удаленный сервер.

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

Настройка клиента

Откройте интерфейс пользователя настольного продукта Polyspace Bug Finder. Перейти к polyspaceroot\polyspace\bin, где polyspaceroot - папка установки настольного продукта Polyspace, например, C:\Program Files\Polyspace\R2021a и дважды щелкните значок polyspace исполняемый.

Выберите «Сервис» > «Установки». На вкладке Конфигурация сервера введите имя узла компьютера для имени узла планировщика заданий.

Теперь вы настроены для рабочего процесса сервер-клиент.

Отправить анализ с клиента на сервер

Запуск средства поиска ошибок в файле numerical.c в комплекте с вашей установкой.

Перед выполнением этих шагов, чтобы избежать ввода полных путей к исполняемым файлам Polyspace, добавьте путь polyspaceroot\polyspace\bin в PATH переменная среды в операционной системе. Здесь polyspaceroot - папка установки настольного продукта Polyspace, например, C:\Program Files\Polyspace\R2021a. Чтобы проверить, добавлен ли путь, откройте терминал командной строки и введите:

polyspace-bug-finder -h

Если путь к команде уже добавлен, появится полный список параметров.

  1. Копировать файл numerical.c от polyspaceroot\polyspace\examples\cxx\Bug_Finder_Example\sources в папку с разрешениями на запись.

  2. Откройте командный терминал. Перейдите в папку, в которой было сохранено numerical.c и введите следующее:

    polyspace-bug-finder -sources numerical.c -checkers numerical -results-dir . -batch -scheduler hostname

    Здесь, hostname - имя узла компьютера.

    После компиляции анализ передается на сервер и возвращает идентификатор задания. Для выполнения анализа программы проверки кода используйте polyspace-code-prover вместо polyspace-bug-finder. Вы можете запустить polyspace-code-prover только с лицензией Polyspace Bug Finder, при условии использования -batch вариант.

  3. См. состояние текущего задания.

    polyspace-jobs-manager listjobs -scheduler hostname

    Текущее задание можно найти с помощью идентификатора задания.

  4. После завершения задания можно явно загрузить результаты.

    polyspace-jobs-manager download -job jobID -results-folder . -scheduler hostname

    Здесь, jobID - идентификатор задания из отправки.

Папка результатов содержит загруженный файл результатов (с расширением .psbf). Откройте результаты в интерфейсе пользователя настольного продукта Polyspace Bug Finder.

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