Параллельные вычисления в ИММ УрО РАН
 
 

Разработка и  запуск на МВС-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-системе и  загрузить ее (в виде исходных текстов или  библиотек выполняемых программ) можно через Интернет (http://www.keldysh.ru/dvm). Вместе с системой поставляется набор демонстрационных DVM-программ, а также  документация пользователя и разработчика (в виде html-файлов и файлов Word97). Вопросы и замечания следует отправлять по адресу   dvm@keldysh.ru.

 

Как следует из вышесказанного, разработку DVM-программ для МВС-1000 можно производить на рабочей станции или персональной ЭВМ.  К запуску программы на МВС-1000 следует переходить после отладки программы. Для этого требуется выполнить следующие шаги.

1.      Зарегистрироваться в качестве пользователя МВС-1000  - получить Login имя и пароль.

2.      Установить на своем компьютере систему, поддерживающую протокол ssh.
(для
OC Windows, например - ftp://www.keldysh.ru/dvm-distr/ssh-scp/putty.exe )

3.      Зайти с использованием этого протокола на шлюз gateway.kiam.ru (195.208.58.15 или 194.226.58.15).

4.      Создать директорию для своей программы  и войти в нее.

5.      Переписать в директорию свою программу и ее начальные данные (с преобразованием текстовых файлов в формат ОС UNIX). Например, используя на шлюзе FTP (например оболочку Midnight Commander) или на своем компьютере протокол секретного копирования файлов scp.

(для OC Windows, например -  ftp:// www.keldysh.ru/dvm-distr/ssh-scp /pscp.exe )

6.      Получить список установленных версий DVM-системы (выполнить /usr/opt/dvm/init или просто dvminit ) и инициализировать одну из них (выполнить /usr/opt/dvm/init Nvers или dvminit Nvers).

7.      Затранслировать программу 
(
dvm c <имя программы>  или dvm f < имя программы >).
Замечание.  Если текущая директория не указана в пути поиска, то все команды
DVM-системы должны начинаться с “./dvm  (а не с “dvm”)

8.      Запустить программу на выполнение
(
dvm run <матрица процессоров> < имя программы >).

9.      Если свободных процессоров недостаточно и программа поставлена в очередь на выполнение (Task “<имя_задачи>.<номер задачи>” queued successfully), то можно ее исключить из очереди (mqdel <имя задачи>.<номер задачи>), опросить количество свободных процессоров (mfree) и запустить задачу повторно на меньшем числе процессоров.
 Замечания.

¨      <имя задачи> - это <имя программы>.dvm

¨      После запуска программы на выполнение для просмотра текущего состояния очереди задач и удаления выполняющейся (или стоящей в очереди) задачи рекомендуется открыть новый сеанс ssh-клиента.

10.  Получить характеристики эффективности выполнения программы.
(
dvm pa sts  <имя файла с характеристиками>).

 

Инструкции по использованию в OC Windows  программ putty и pscp, реализующих протоколы ssh и scp, а также  по работе с оболочкой Midnight Commander, которая предоставляет удобные возможности создания и просмотра директорий, а также  просмотра и редактирования файлов, можно прочитать по FTP (ftp:// www.keldysh.ru/dvm-distr/ssh-scp/mvsUGr.doc)

Ниже приводится список директив, полезных при запуске программ на МВС-1000.

1.      Создание директории - mkdir <имя директории>

2.      Определение текущей директории  -   pwd

3.      Вход в поддиректорию (смена текущей директории) – cd  <имя директории>

4.      Выход в родительскую директорию (смена текущей директории) – cd ..

5.      Выдача на экран содержимого директорииls

6.      Выдача на экран содержимого текстового файла (по частям) – more <имя файла>

7.      Запуск команды на выполнение с откреплением от терминала- nohup <имя команды> <параметры команды> (например, nohup dvm run <матрица процессоров> < имя программы >).

8.      Получение информации о запущенных пользователем задачах - mps [<имя задачи>.<номер задачи>]

9.      Завершение запущенной задачи - mkill [<имя задачи>.<номер задачи>]

10.  Опросить количество свободных процессоров – mfree

11.  Просмотр очереди задач - mqinfo

12.  Удалить задачу, стоящую в очереди - mqdel <имя_задачи>.<номер задачи>

Получить подробную информацию о работе на МВС-1000 можно через Интернет (ftp://ftp.kiam.ru/pub/sys1000/doc/).