Разработка и запуск на МВС-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. *****/dvm). Вместе с системой поставляется набор демонстрационных DVM-программ, а также документация пользователя и разработчика (в виде html-файлов и файлов Word97). Вопросы и замечания следует отправлять по адресу *****@***ru.
Как следует из вышесказанного, разработку DVM-программ для МВС-1000 можно производить на рабочей станции или персональной ЭВМ. К запуску программы на МВС-1000 следует переходить после отладки программы. Для этого требуется выполнить следующие шаги.
1. Зарегистрироваться в качестве пользователя МВС-1000 - получить Login имя и пароль.
2. Установить на своем компьютере систему, поддерживающую протокол ssh.
(для OC Windows, например - ftp://www. *****/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. *****/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. *****/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. *****/pub/sys1000/doc/).


