Разработка и запуск на МВС-1000
параллельных программ на языках C-DVM и Fortran-DVM
DVM-система, созданная в Институте прикладной математики им. М.В.Келдыша РАН, позволяет разрабатывать на языках
C-DVM и
Fortran-DVM параллельные программы для ЭВМ различной архитектуры и сетей ЭВМ
.
При использовании языков C-DVM и Fortran-DVM программист имеет только один вариант программы и для последовательного и для параллельного выполнения. Эта программа, помимо описания алгоритма обычными средствами языков Си или Фортран 77, содержит правила параллельного выполнения этого алгоритма. Эти правила (DVM-указания) оформляются синтаксически таким образом, что они являются «невидимыми» для стандартных компиляторов с последовательных языков Си и Фортран и не препятствуют выполнению и отладке DVM-программы на рабочих станциях как обычной последовательной программы.
Компилятор переводит программу на языке C-DVM (Fortran-DVM) в программу на стандартном языке Cи (Фортран), расширенную функциями системы поддержки выполнения DVM-программ, которая для организации межпроцессорного взаимодействия использует стандартные коммуникационные библиотеки (MPI, PVM, Router).
Отладка программ осуществляется следующим образом.
Сначала программа отлаживается на рабочей станции (или персональной ЭВМ) как обычная последовательная программа с использованием штатных средств отладки. Затем на той же рабочей станции программа пропускается в специальных режимах для проверки DVM-указаний и сравнения промежуточных результатов ее параллельного выполнения с эталонными результатами, полученными при ее последовательном выполнении.
Для облегчения отладки производительности служит специальный инструмент (предиктор), позволяющий на рабочей станции смоделировать выполнение DVM-программы на параллельной ЭВМ и получить информацию об основных характеристиках ее эффективности.
Получить подробную информацию о DVM-системе и загрузить ее (в виде исходных текстов или библиотек выполняемых программ) можно через Интернет (https://www.keldysh.ru/dvm). Вместе с системой поставляется набор демонстрационных DVM-программ, а также документация пользователя и разработчика (в виде html-файлов и файлов Word97). Вопросы и замечания следует отправлять по адресу [email protected].
Как следует из вышесказанного, разработку DVM-программ для МВС-1000 можно производить на рабочей станции или персональной ЭВМ. К запуску программы на МВС-1000 следует переходить после отладки программы. Для этого требуется выполнить следующие шаги.
-
Зарегистрироваться в качестве пользователя МВС-1000 - получить Login имя и пароль.
-
Установить на своем компьютере систему, поддерживающую протокол ssh.
(для OC Windows, например - ftp://www.keldysh.ru/dvm-distr/ssh-scp/putty.exe )
-
Зайти с использованием этого протокола на шлюз gateway.kiam.ru (195.208.58.15 или 194.226.58.15).
-
Создать директорию для своей программы и войти в нее.
-
Переписать в директорию свою программу и ее начальные данные (с преобразованием текстовых файлов в формат ОС UNIX). Например, используя на шлюзе FTP (например оболочку Midnight Commander) или на своем компьютере протокол секретного копирования файлов scp.
(для OC Windows, например -
ftp:// www.keldysh.ru/dvm-distr/ssh-scp /pscp.exe )
-
Получить список установленных версий DVM-системы (выполнить /usr/opt/dvm/init или просто dvminit ) и инициализировать одну из них (выполнить /usr/opt/dvm/init Nvers или dvminit Nvers).
-
Затранслировать программу
(dvm c <имя программы> или dvm f < имя программы >).
Замечание. Если текущая директория не указана в пути поиска, то все команды DVM-системы должны начинаться с “./dvm” (а не с “dvm”)
-
Запустить программу на выполнение
(dvm run <матрица процессоров> < имя программы >).
-
Если свободных процессоров недостаточно и программа поставлена в очередь на выполнение (Task “<имя_задачи>.<номер задачи>” queued successfully), то можно ее исключить из очереди (mqdel <имя задачи>.<номер задачи>), опросить количество свободных процессоров (mfree) и запустить задачу повторно на меньшем числе процессоров.
Замечания.
-
<имя задачи> - это <имя программы>.dvm
-
После запуска программы на выполнение для просмотра текущего состояния очереди задач и удаления выполняющейся (или стоящей в очереди) задачи рекомендуется открыть новый сеанс ssh-клиента.
-
Получить характеристики эффективности выполнения программы.
(dvm pa sts <имя файла с характеристиками>).
Инструкции по использованию в OC Windows программ
putty и
pscp, реализующих протоколы
ssh и
scp, а также по работе с оболочкой Midnight Commander, которая предоставляет удобные возможности создания и просмотра директорий, а также просмотра и редактирования файлов, можно прочитать по FTP (
ftp:// www.keldysh.ru/dvm-distr/ssh-scp/mvsUGr.doc)
Ниже приводится список директив, полезных при запуске программ на МВС-1000.
-
Создание директории - mkdir <имя директории>
-
Определение текущей директории - pwd
-
Вход в поддиректорию (смена текущей директории) – cd <имя директории>
-
Выход в родительскую директорию (смена текущей директории) – cd ..
-
Выдача на экран содержимого директории – ls
-
Выдача на экран содержимого текстового файла (по частям) – more <имя файла>
-
Запуск команды на выполнение с откреплением от терминала- nohup <имя команды> <параметры команды> (например, nohup dvm run <матрица процессоров> < имя программы >).
-
Получение информации о запущенных пользователем задачах - mps [<имя задачи>.<номер задачи>]
-
Завершение запущенной задачи - mkill [<имя задачи>.<номер задачи>]
-
Опросить количество свободных процессоров – mfree
-
Просмотр очереди задач - mqinfo
-
Удалить задачу, стоящую в очереди - mqdel <имя_задачи>.<номер задачи>
Получить подробную информацию о работе на МВС-1000 можно через Интернет (
ftp://ftp.kiam.ru/pub/sys1000/doc/).