Разработка и запуск на МВС-1000
параллельных программ на языках C-DVM и Fortran-DVM
DVM-система, созданная в Институте прикладной математики им. РАН, позволяет разрабатывать на языках C-DVM и Fortran-DVM параллельные программы для ЭВМ различной архитектуры и сетей ЭВМ.
При использовании языков C-DVM и Fortran-DVM программист имеет только один вариант программы и для последовательного и для параллельного выполнения. Эта программа, помимо описания алгоритма обычными средствами языков Си или Фортран, содержит правила параллельного выполнения этого алгоритма. Эти правила (DVM-указания) оформляются синтаксически таким образом, что они являются "невидимыми" для стандартных компиляторов с последовательных языков Си и Фортран и не препятствуют выполнению и отладке DVM-программы на рабочих станциях как обычной последовательной программы.
Компилятор переводит программу на языке C-DVM (Fortran-DVM) в программу на стандартном языке Cи (Фортран), расширенную функциями системы поддержки выполнения DVM-программ, которая для организации межпроцессорного взаимодействия использует стандартные коммуникационные библиотеки (MPI, PVM).
Отладка программ осуществляется следующим образом
Сначала программа отлаживается на рабочей станции (или персональной ЭВМ) как обычная последовательная программа с использованием штатных средств отладки. Затем на той же рабочей станции программа пропускается в специальных режимах для проверки DVM-указаний и сравнения промежуточных результатов ее параллельного выполнения с эталонными результатами, полученными при ее последовательном выполнении.
Для облегчения отладки производительности служит специальный инструмент (предиктор), позволяющий на рабочей станции смоделировать выполнение DVM-программы на параллельной ЭВМ и получить информацию об основных характеристиках ее эффективности.
Получить подробную информацию о DVM-системе и загрузить ее (в виде исходных текстов или библиотек выполняемых программ) можно через Интернет (http://www. *****/dvm). Вместе с системой поставляется набор демонстрационных DVM-программ, а также документация пользователя и разработчика (в виде html-файлов и файлов Word). Вопросы и замечания следует отправлять по адресу *****@***ru.
Как следует из вышесказанного, разработку DVM-программ для МВС-1000 можно производить на рабочей станции или персональной ЭВМ. К запуску программы на МВС-1000 следует переходить после отладки программы. Для этого требуется выполнить следующие шаги.
1. Зарегистрироваться в качестве пользователя МВС-1000 - получить Login имя и пароль.
2. Установить на своем компьютере систему, поддерживающую протокол ssh (для OC Windows, например - putty. exe ).
3. Зайти с использованием этого протокола на шлюз mvs.icc.ru.
4. Создать директорию для своей программы и войти в нее.
5. Переписать в директорию свою программу и ее начальные данные (с преобразованием текстовых файлов в формат ОС UNIX). Для этого можно использовать протокол секретного копирования файлов scp (для OC Windows, например - WinSCP. exe или pscp. exe )
6. Выполнить инициализацию системы DVM запуском команды в вашем рабочем каталоге ~/bin/dvminit
7. Транслировать программу
(dvm c <имя программы> или dvm f <имя программы>).
Замечание.
8. Здесь и далее при вызове команды dvm подразумевается, что в переменной окружения $PATH указан путь до директории bin в вашем рабочем каталоге. И после инициализации dvm (~/bin/dvminit ) должен существовать файл ~/bin/dvm
9. Запустить программу на выполнение
(dvm run <матрица процессоров> [-maxtime <максимальное время>] < имя программы > [<параметры задачи>] ).
Замечания.
§ Параметр <максимальное время> задает максимальное время счета задачи. Этот параметр является необязательным - значение по умолчанию 30 минут.
§ Параметр <матрица процессоров> - задает размерность процессорной решетки, на которой будет запущена задача ( <n1> <n2>... <nK>). Задача будет запущена на <n1>*<n2>*...*<nK> процессорах.
10. Если свободных процессоров недостаточно и программа поставлена в очередь на выполнение (Task "<имя_задачи>.<номер задачи>" queued successfully), то можно ее исключить из очереди (mqdel <имя задачи>.<номер задачи>), опросить количество свободных процессоров (mfree) и запустить задачу повторно на меньшем числе процессоров.
Замечание.
§ <имя задачи> - это <имя программы>.<число процессоров>.<номер запуска>. Поле <номер запуска> - это число запусков программы на данном числе процессоров из текущей директории.
11. Получить характеристики эффективности выполнения программы.
(dvm pa <имя задачи>.sts <имя файла с характеристиками>).
Инструкции по использованию в OC Windows программ putty и pscp, реализующих протоколы ssh и scp, а также по работе с оболочкой Midnight Commander, которая предоставляет удобные возможности создания и просмотра директорий, а также просмотра и редактирования файлов, можно прочитать здесь: mvsugr. doc
Ниже приводится список директив, полезных при запуске программ на МВС-1000
1. Создание директории - mkdir <имя директории>
2. Определение текущей директории - pwd
3. Вход в поддиректорию (смена текущей директории) - cd <имя директории>
4. Выход в родительскую директорию (смена текущей директории) - cd ..
5. Выдача на экран содержимого директории - ls
6. Выдача на экран содержимого текстового файла (по частям) - more <имя файла>
7. Редактирование файла – mcedit <имя файла>
8. Получение информации о запущенных пользователем задачах - mps [<имя задачи>.<номер задачи>]
9. Завершение запущенной задачи - mkill [<имя задачи>.<номер задачи>]
10. Опросить количество свободных процессоров - mfree
11. Просмотр очереди задач - mqinfo
12. Удалить задачу, стоящую в очереди - mqdel <имя_задачи>.<номер задачи>
Получить подробную информацию о работе на МВС-1000 можно здесь: userguide. doc


