Разработка и запуск на МВС-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