Разработка и  запуск на МВС-1000/16
параллельных программ на языках 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/16 можно производить на рабочей станции или персональной ЭВМ.  К запуску программы на МВС-1000/16 следует переходить после отладки программы. Для этого требуется выполнить следующие шаги.

  1. Зарегистрироваться в качестве пользователя МВС-1000/16  - получить Login имя и пароль.
  2. Установить на своем компьютере систему, поддерживающую протокол ssh. (для OC Windows, например - ftp://ftp.keldysh.ru/dvm-distr/ssh-scp/putty.exe )
  3. Зайти с использованием этого протокола на шлюз rsc2.kiam.ru (194.226.58.16 или 195.208.58.16).
  4. Создать директорию для своей программы  и войти в нее.
  5. Переписать в директорию свою программу и ее начальные данные (с преобразованием текстовых файлов в формат ОС UNIX). Для этого можно использовать на шлюзе FTP (например, оболочку Midnight Commander) или на своем компьютере протокол секретного копирования файлов scp. (для OC Windows, например -  ftp://ftp.keldysh.ru/dvm-distr/ssh-scp/pscp.exe )
  6. Получить список установленных версий DVM-системы (выполнить /home/admdvm/dvminit/dvminit) и инициализировать одну из них (выполнить /home/admdvm/dvminit/dvminit Nvers).

  7. Замечание.
  8. Затранслировать программу 

  9. (dvm c <имя программы>  или dvm f <имя программы>).
    Замечание.
  10. Запустить программу на выполнение 

  11. (dvm run <матрица процессоров>  [-maxtime <максимальное время>] < имя программы > [<параметры задачи>] ).
    Замечания.
  12. Если свободных процессоров недостаточно и программа поставлена в очередь на выполнение (Task "<имя_задачи>.<номер задачи>" queued successfully), то можно ее исключить из очереди (mqdel <имя задачи>.<номер задачи>), опросить количество свободных процессоров (mfree) и запустить задачу повторно на меньшем числе процессоров. 

  13. Замечание.
  14. Получить характеристики эффективности выполнения программы. 

  15. (dvm pa <имя задачи>.sts  <имя файла с характеристиками>).


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

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

  1. Создание директории - mkdir <имя директории>
  2. Определение текущей директории  - pwd 
  3. Вход в поддиректорию (смена текущей директории) - cd  <имя директории>
  4. Выход в родительскую директорию (смена текущей директории) - cd ..
  5. Выдача на экран содержимого директории - ls
  6. Выдача на экран содержимого текстового файла (по частям) - more <имя файла>
  7. Получение информации о запущенных пользователем задачах - mps [<имя задачи>.<номер задачи>]
  8. Завершение запущенной задачи - mkill [<имя задачи>.<номер задачи>]
  9. Опросить количество свободных процессоров - mfree
  10. Просмотр очереди задач - mqinfo
  11. Удалить задачу, стоящую в очереди - mqdel <имя_задачи>.<номер задачи>