Новопашин А.П. ИДСТУ СО РАН

39
ВВОДНАЯ ЛЕКЦИЯ ПО ПАРАЛЛЕЛЬНОМУ ПРОГРАММИРОВАНИЮ НА ВЫЧИСЛИТЕЛЬНОМ КЛАСТЕРЕ МВС-1000/16 ИДСТУ СО РАН Новопашин А.П. ИДСТУ СО РАН

Upload: ulric

Post on 09-Jan-2016

89 views

Category:

Documents


2 download

DESCRIPTION

ВВОДНАЯ ЛЕКЦИЯ ПО ПАРАЛЛЕЛЬНОМУ ПРОГРАММИРОВАНИЮ НА ВЫЧИСЛИТЕЛЬНОМ КЛАСТЕРЕ МВС-1000 /16 ИДСТУ СО РАН. Новопашин А.П. ИДСТУ СО РАН. Иркутский суперкомпьютерный центр коллективного пользования. Вычислительные кластеры. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Новопашин А.П. ИДСТУ СО РАН

ВВОДНАЯ ЛЕКЦИЯПО ПАРАЛЛЕЛЬНОМУ

ПРОГРАММИРОВАНИЮ НА ВЫЧИСЛИТЕЛЬНОМ КЛАСТЕРЕ МВС-1000/16

ИДСТУ СО РАН

Новопашин А.П.ИДСТУ СО РАН

Page 2: Новопашин А.П. ИДСТУ СО РАН

Вычислительные кластеры

Вычислительный кластер - это совокупность компьютеров (вычислительных узлов), объединённых единой коммуникационной средой для решения одной или нескольких вычислительных задач.

MBC-1000/16 ИДСТУ СО РАН - однородный вычислительный кластер из 16 SMP-узлов

Преимущества кластерного подхода:• экономичность • неограниченная масштабируемость• надежность• высокая степень готовности

Иркутский суперкомпьютерный центр коллективного пользования

Page 3: Новопашин А.П. ИДСТУ СО РАН

Вычислительный кластер

МВС-1000/16(ФГУП ”Квант” (Москва), ИПМ РАН))

Основу вычислительной мощности кластера составляют 16 вычислительных узлов на базе процессоров Intel Xeon, объединенных c помощью интерфейсов двух типов: Myrinet и Gigabit Ethernet.

Пиковая производительность ~170 GFlops.

Реальная производительность на тесте Massively Parallel Linpack ~100 GFlops.

Иркутский суперкомпьютерный центр коллективного пользования

Page 4: Новопашин А.П. ИДСТУ СО РАН

СтруктураМВС-1000/16

Иркутский суперкомпьютерный центр коллективного пользования

Page 5: Новопашин А.П. ИДСТУ СО РАН

Состав кластера:• 16-портовый коммутатор Myrinet M3-E16 с двумя коммутационными платами на 8 оптических портов – M3-SW16-8F• 24-портовый коммутатор Gigabit Ethernet AT-GS924i• 16 вычислительных узлов (ВУ) (один из которых – управляющий (УВУ)) на базе серверной платформы Supermicro SuperServer 6013P-i.Конфигурация ВУ:• 2 x CPU Intel Xeon 2,667 GHz• RAM 2 GB• HDD IDE 80 GB Maxtor• LAN Gigabit Ethernet• NIC Myrinet M3F-PCIXD-2Конфигурация УВУ:• 2 x CPU Intel Xeon 2,667 GHz• RAM 2 Gb• 2 x HDD IDE 80 GB Maxtor• 2 x LAN Gigabit Ethernet

Иркутский суперкомпьютерный центр коллективного пользования

Page 6: Новопашин А.П. ИДСТУ СО РАН

Программное обеспечение:

• Операционная система – Gentoo Linux 2005.1 (ядро - 2.6.11)

• Коммуникационные среды – реализации MPI (LAM (v.7.0.3) и MPICH-GM (v.1.2.6)) и PVM (PVM-GM (v.3.4.4))

• Компиляторы GNU C/C++/F77 (v.3.4.4) и Intel C/C++/F90/F95 (v.8.1)

• Библиотеки Intel Math Kernel Library (v.7.0), SCALAPACK (v.1.7), PETSc (v.2.3.1) и др.

• Системы параллельного программирования DVM (v.3.95), HPF Adaptor (v.10.2), Норма (v.0.13)

• Система мониторинга Ganglia (v.3.0.1)

• Система управления прохождением параллельных задач

Иркутский суперкомпьютерный центр коллективного пользования

Page 7: Новопашин А.П. ИДСТУ СО РАН

• Как поделить между процессорами работу

• Как поделить между процессорами данные

• Как организовать доступ к удаленным данным или обмен данными, которые в процессе вычислений нужны одному процессору, в то время как хранятся на другом.

Распределение вычислений и данных должно быть согласованным и выполняться с учетом чередования последовательных и параллельных участков программы.

Иркутский суперкомпьютерный центр коллективного пользования

Сложность параллельного программирования систем с распределенной памятью:

Page 8: Новопашин А.П. ИДСТУ СО РАН

Иркутский суперкомпьютерный центр коллективного пользования

Page 9: Новопашин А.П. ИДСТУ СО РАН

Иркутский суперкомпьютерный центр коллективного пользования

Модели параллелизма

• Модель с общей памятью (МОП). Процессы разделяют общее адресное пространство, отсутствуют ограничения на использование общих данных, предполагается явная спецификация общих данных и упорядочение доступа к ним с помощью средств синхронизации. Логически независимые нити (потоки) вычислений определяются на уровне функциональных задач или витков цикла (пример - OpenMP).

• Модель параллелизма по данным (МПД). Программист распределяет данные по процессорам вычислительной системы. Вычисления распределяются по правилу собственных вычислений - каждый процессор вычисляет только те данных, которые распределены на этот процессор (пример - HPF).

• Модель передачи сообщений (МПС). Каждый процесс имеет собственное локальное адресное пространство. Обработка общих данных и синхронизация осуществляется посредством передачи сообщений (пример - стандарт MPI). Это основная модель для вычислительных кластеров.

Page 10: Новопашин А.П. ИДСТУ СО РАН

MPI (Message Passing Interface) - стандартизованный интерфейс для построения программ по модели обмена сообщениями. MPI - наиболее широко используемый и динамично развивающийся интерфейс в своем классе. Существуют бесплатные и коммерческие реализации для большинства суперкомпьютерных платформ.

Достоинства:• Возможность использования в языках Фортран, Си, Си++• Возможность совмещения обменов сообщениями и вычислений• Несколько режимов передачи сообщений • Широкий набор коллективных операций• Широкий набор редукционных операций • Удобные средства именования адресатов сообщений• Возможность задания типа передаваемой информации

Недостатки:• Слишком сложен для прикладного программиста (программирование на низком уровне)

Иркутский суперкомпьютерный центр коллективного пользования

МPI

Page 11: Новопашин А.П. ИДСТУ СО РАН

MPI-2 – дополнен такими важными элементами функциональности как:

• Динамическое создание и уничтожение процессов.• Односторонние коммуникации и средства синхронизации для организации взаимодействия процессов через общую память.• Параллельные операции ввода-вывода (для эффективного использования существующих возможностей параллельного доступа многих процессоров к различным дисковым устройствам).

Наиболее популярные реализации для кластеров:

• MPICH (Argonne National Laboratory). Поддерживаются кластеры на базе SMP-узлов. • LAM (Ohio Supercomputer Center). Реализация MPI и среда разработки MPI-программ для гетерогенных UNIX-кластеров.

Иркутский суперкомпьютерный центр коллективного пользования

МPI-2

Page 12: Новопашин А.П. ИДСТУ СО РАН

Иркутский суперкомпьютерный центр коллективного пользования

Модели параллелизма

• Модель с общей памятью (МОП). Процессы разделяют общее адресное пространство, отсутствуют ограничения на использование общих данных, предполагается явная спецификация общих данных и упорядочение доступа к ним с помощью средств синхронизации. Логически независимые нити (потоки) вычислений определяются на уровне функциональных задач или витков цикла (пример - OpenMP).

• Модель параллелизма по данным (МПД). Программист распределяет данные по процессорам вычислительной системы. Вычисления распределяются по правилу собственных вычислений - каждый процессор вычисляет только те данных, которые распределены на этот процессор (пример - HPF).

• Модель передачи сообщений (МПС). Каждый процесс имеет собственное локальное адресное пространство. Обработка общих данных и синхронизация осуществляется посредством передачи сообщений (пример - стандарт MPI). Это основная модель для вычислительных кластеров.

Page 13: Новопашин А.П. ИДСТУ СО РАН

OpenMP - это интерфейс прикладной программы (API), расширяющий последовательный язык программирования (Фортран, Си, Си++) набором директив распараллеливания. Стандарт параллельного программирования для систем с общей памятью (SMP-систем).

OpenMP реализует параллелизм по управлению:Программа начинает свое выполнение как один процесс (главная нить), пока не встретится параллельная область программы (ограничивается директивами PARALLEL и END PARALLEL). При входе в параллельную область главная нить порождает некоторое число подчиненных ей нитей, образуя группу нитей. Все операторы программы, находящиеся в параллельной конструкции, выполняются всеми нитями группы параллельно, пока не произойдет выход из параллельной области или не встретится одна из конструкций распределения работ (DO, SECTIONS или SINGLE). При выходе из параллельной конструкции все порожденные ранее нити сливаются с главной, которая продолжает выполняться далее последовательно.

Иркутский суперкомпьютерный центр коллективного пользования

OpenМP

Page 14: Новопашин А.П. ИДСТУ СО РАН

Достоинства:

• Реализация возможностей систем с общей памятью• Явное и полное задание параллелизма программистом• Возможность инкрементального распараллеливания последовательной программы без изменения ее структуры (для программ с большими параллельными циклами)• Единственность разрабатываемого кода – отсутствие необходимости поддерживать последовательный и параллельный вариант программы (директивы OpenMP игнорируются обычными компиляторами)• Гибкий механизм контроля над поведением параллельного приложения• Поддержка наиболее распространенных языков программирования

Недостатки:• Ограничения, характеризуемые областью применения

Иркутский суперкомпьютерный центр коллективного пользования

OpenМP

Page 15: Новопашин А.П. ИДСТУ СО РАН

Гибридная модель как попытка распространения OpenMP на мультикомпьютеры и кластерные системы: программа представляет собой систему взаимодействующих MPI-процессов, а каждый процесс программируется на OpenMP.

Гибридный подход эффективен, когда в программе присутствует два уровня параллелизма – параллелизм между подзадачами и параллелизм внутри подзадачи (многоблочные методы). Тогда c помощью MPI организуется взаимодействие подзадач - обмен между ними граничными значениями, а сами подзадачи распараллеливаются путем распределения между процессорами элементов массивов и витков циклов (роль OpenMP).

Основной недостаток подхода: программисту требуется знать и уметь использовать две разные модели параллелизма и разные инструментальные средства.

Иркутский суперкомпьютерный центр коллективного пользования

OpenМP+MPI

Page 16: Новопашин А.П. ИДСТУ СО РАН

Иркутский суперкомпьютерный центр коллективного пользования

Модели параллелизма

• Модель с общей памятью (МОП). Процессы разделяют общее адресное пространство, отсутствуют ограничения на использование общих данных, предполагается явная спецификация общих данных и упорядочение доступа к ним с помощью средств синхронизации. Логически независимые нити (потоки) вычислений определяются на уровне функциональных задач или витков цикла (пример - OpenMP).

• Модель параллелизма по данным (МПД). Программист распределяет данные по процессорам вычислительной системы. Вычисления распределяются по правилу собственных вычислений - каждый процессор вычисляет только те данных, которые распределены на этот процессор (пример - HPF).

• Модель передачи сообщений (МПС). Каждый процесс имеет собственное локальное адресное пространство. Обработка общих данных и синхронизация осуществляется посредством передачи сообщений (пример - стандарт MPI). Это основная модель для вычислительных кластеров.

Page 17: Новопашин А.П. ИДСТУ СО РАН

HPF (High Performance Fortran) - расширения языка Фортран-90.HPF-2 - расширения языка Фортран-95. Часть расширений реализована в виде функций и операторов языка, а часть - в виде директив компилятору (которые являются комментариями языка Фортран).

HPF реализует модель параллелизма по данным. Каждый массив разрезается несколькими гиперплоскостями на секции примерно одинакового объема, каждая из которых будет расположена на своем процессоре.

Распределение данных производится в два этапа: • с помощью директивы ALIGN задается соответствие между взаимным расположением элементов нескольких массивов• с помощью директивы DISTRIBUTE группа массивов отображается на решетку процессоров.

В HPF вся работа по распределению данных возлагается на программиста.

Иркутский суперкомпьютерный центр коллективного пользования

HPF

Page 18: Новопашин А.П. ИДСТУ СО РАН

Достоинства:• Параллелизм по данным является естественным параллелизмом вычислительных задач, для которых характерно вычисление по одним и тем же формулам множества однотипных величин – элементов массивов.• Cохраняется последовательный стиль программирования. Программист не должен представлять программу в виде взаимодействующих процессов и заниматься низкоуровневым программированием передач сообщений и синхронизации.• Распределение вычисляемых данных между процессорами – это не только самый компактный способ задать распределение работы между процессорами, но и способ повышения локализации данных. Чем меньше данных требуется процессору для выполнения возложенной на него работы, тем быстрее она будет выполнена.

Недостатки:• Имеющихся средств спецификации свойств программ часто оказывается недостаточно для эффективного распараллеливания(в частности, нерегулярных вычислений).

Иркутский суперкомпьютерный центр коллективного пользования

HPF

Page 19: Новопашин А.П. ИДСТУ СО РАН

DVM-система (Distributed Virtual Memory & Distributed Virtual Machine) – единый комплекс средств разработки параллельных программ для научно-технических расчетов:

• Компилятор Fortran-DVM = язык Фортран + спец. комментарии• Компилятор С-DVM = язык Си + специальные макросы • Lib-DVM - система поддержки параллельного выполнения• DVM-отладчик• Анализатор производительности DVM-программ• Предсказатель производительности DVM-программ

Свойства языков Fortran-DVM и C-DVM:

• Специальные комментарии и макросы являются высокоуровневыми спецификациями (директивами) параллелизма “невидимыми” для стандартных компиляторов• Один экземпляр программы для последовательного и параллельного счета• Сохраняется последовательный стиль программирования• Отсутствуют низкоуровневые передачи данных и синхронизации

Иркутский суперкомпьютерный центр коллективного пользования

DVM-система

Page 20: Новопашин А.П. ИДСТУ СО РАН

Модель DVM реализует два уровня параллелизма:

• Параллелизм по данным реализуется распределением витков тесно-гнездового цикла между процессорами. При этом каждый виток такого параллельного цикла полностью выполняется на одном процессоре. Операторы вне параллельного цикла выполняются по правилу собственных вычислений.• Параллелизм задач реализуется распределением данных и независимых вычислений на решетку процессоров.

При вычислении значения собственной переменной процессору могут потребоваться как значения других собственных переменных, так и значения удаленных переменных. Все удаленные переменные должны быть указаны в директивах доступа к удаленным данным.

Типы директив:

• Распределения данных• Распределение вычислений• Спецификация удаленных данных

Иркутский суперкомпьютерный центр коллективного пользования

Модель параллелизма DVM

Page 21: Новопашин А.П. ИДСТУ СО РАН

В модели DVM параллельная программа на исходном языке Fortran-DVM (или C-DVM) преобразуется в программу на языке Фортран (или Си), содержащую вызовы функций системы поддержки, и выполняющуюся в соответствии с моделью SPMD на каждом выделенном задаче процессоре:

• В момент запуска программы существует единственная ветвь, которая начинает свое выполнение с первого оператора программы на всех выделенных для решения задачи процессорах.• Все объявленные в программе переменные (за исключением специально указанных "распределённых" массивов) размножаются по всем процессорам.• При входе в параллельную конструкцию (параллельный цикл или область параллельных задач) ветвь разбивается на определенное количество параллельных ветвей, каждая из которых выполняется на выделенном ей процессоре.• При выходе из параллельной конструкции все ветви снова сливаются в единую ветвь.

Иркутский суперкомпьютерный центр коллективного пользования

Модель выполнения DVM

Page 22: Новопашин А.П. ИДСТУ СО РАН

1. Легкость создания параллельных программ, размер параллельной программы по отношению к последовательной (HPF, DVM, OpenMP).

2. Эффективность разработанных параллельных программ (MPI, OpenMP+MPI - для однородных кластеров, DVM - для неоднородных).

3. Переносимость и повторное использование (HPF, DVM).

4. Качество и разнообразие средств отладки (DVM, MPI).

Иркутский суперкомпьютерный центр коллективного пользования

Сравнение подходов

Page 23: Новопашин А.П. ИДСТУ СО РАН

ScaLAPACKhttp://www.netlib.org/scalapack

Библиотека ScaLAPACK (Scalable LAPACK) – библиотека LAPACK, переработанная для использования на компьютерах с распределенной памятью; включает набор процедур для решения систем линейных уравнений, обращения матриц, нахождения собственных значений и др.

Разработана с использованием PBLAS - параллельной версии библиотеки BLAS (Basic Linear Algebra Subroutines), включающей базовые операции линейной алгебры (перемножение матриц, умножение матрицы на вектор и т.д.).

Библиотека может быть портирована на любую платформу, где поддерживается PVM или MPI.

Иркутский суперкомпьютерный центр коллективного пользования

Специализированные параллельные библиотеки

Page 24: Новопашин А.П. ИДСТУ СО РАН

PETSchttp://www-unix.mcs.anl.gov/petsc/petsc-as/

Библиотека PETSc (Portable, Extensible Toolkit for Scientific Computation) - набор процедур и структур данных для параллельного решения научных задач с моделями, описываемыми в виде дифференциальных уравнений с частными производными.

Библиотека основана на использовании MPI, BLAS, LAPACK.

Библиотека разработана в Argonne National Laboratory / MCS division.

Распространяется бесплатно.

Иркутский суперкомпьютерный центр коллективного пользования

Специализированные параллельные библиотеки

Page 25: Новопашин А.П. ИДСТУ СО РАН

PGAPackhttp://www.mcs.anl.gov/pgapack.html

Библиотека PGAPack (Parallel Genetic Algorithm Library) параллельных генетических алгоритмов.

Разработана в ANL/MCS (David Levine).

AzTechttp://www.cs.sandia.gov/CRF/aztec1.html

Библиотека итерационных методов для решения больших систем линейных уравнений с разреженными матрицами.

Иркутский суперкомпьютерный центр коллективного пользования

Специализированные параллельные библиотеки

Page 26: Новопашин А.П. ИДСТУ СО РАН

Parallel FFTWhttp://www.fftw.org/

Высокпороизводительная параллельная библиотека для вычисления многомерного быстрого преобразования Фурье.

ATLAShttp://www.netlib.org/atlas

Библиотека ATLAS (Automatically Tuned Linear Algebra Software) позволяет автоматически генерировать и оптимизировать численное программное обеспечение для процессоров с многоуровневой организацией памяти и конвейерными функциональными устройствами. Базируется на BLAS.

ATLAS позволяет получать "оптимальный" код для архитектуры целевого компьютера.

Библиотека разработана в Argonne National Laboratory / MCS division. Распространяется бесплатно.

Иркутский суперкомпьютерный центр коллективного пользования

Специализированные параллельные библиотеки

Page 27: Новопашин А.П. ИДСТУ СО РАН

Удаленный доступ в защищенном режиме Зарегистрироваться в качестве пользователя МВС-1000/16 - получить login и пароль. Установить на своем компьютере утилиту защищенного удаленного доступа по протоколу ssh (например, PuTTY). Зайти с использованием этой утилиты на host-машину (Host name: mvs.icc.ru Port: 22). Создать директорию для своей программы, переписать туда программу и файлы с исходными данными (с преобразованием текстовых файлов в формат ОС UNIX). С этой целью рекомендуется использовать протокол защищенного копирования файлов scp (реализация в виде утилиты WinSCP).

Средства удаленного доступа можно загрузить с сайта: http://mvs.icc.ru. Там же в разделе “Пользователю” находится инструкция по удаленному доступу к МВС-1000/16, руководство пользователя кластера и заявление, которое необходимо заполнить для регистрации.

Иркутский суперкомпьютерный центр коллективного пользования

Page 28: Новопашин А.П. ИДСТУ СО РАН

МВС-1000/16 для пользователя

Иркутский суперкомпьютерный центр коллективного пользования

С точки зрения пользователя МВС-1000/16 состоит из 4-х компонентов:• многопроцессорного вычислителя;• управляющей ЭВМ (host-машина);• сервера доступа;• файлового сервера.

Сервер доступа объединен с управляющей ЭВМ и имеет сетевое имя irc-1, имена вычислительных узлов – irc-2, irc-3, …., irc-16.

На файловом сервере каждый пользователь имеет свой домашний каталог /home/имя_пользователя. Сервер служит для подготовки и хранения исходных текстов программ пользователей, данных для пользовательских задач, результатов расчетов, для компиляции и подготовки самих задач.

Управляющая ЭВМ служит для доступа пользователей, а также для запуска (завершения, управления) на многопроцессорном вычислителе пользовательских задач. На host-машине ведется очередь задач к вычислителю.

В нашем случае файловый сервер объединен с управляющей ЭВМ.

Page 29: Новопашин А.П. ИДСТУ СО РАН

Система запуска задач Задача (параллельная прикладная программа) пользователя выполняется на одном или нескольких процессорах вычислителя. Задачи запускаются и завершаются независимо друг от друга. Вычислитель делится между задачами динамически с точностью до узла. Узел не делится между задачами. При запуске задачи на счет она получает набор узлов с произвольными именами из числа свободных. При этом другие узлы задаче не доступны.

Старт (завершение, получение информации) задачи инициируется пользователем на управляющем узле набором команд системы запуска.

Система запуска задач прозрачна для программы, обслуживает исключительно взаимодействие системы с пользователем в процессе запуска программы на счет и последующего контроля.

Иркутский суперкомпьютерный центр коллективного пользования

Page 30: Новопашин А.П. ИДСТУ СО РАН

Типы задач. Планирование очередей

Все задачи пользователей делятся на три категории: Отладочные задачи – это короткие по времени задачи, которые запускаются исключительно в целях отладки. Пакетные задачи – это средние по времени задачи, которые производят реальные расчеты и выполняются, не прерываясь. Фоновые задачи – задачи с большим временем счета, которые могут прерываться системой. Для фоновой задачи пользователь должен явно указать квант – минимальное время счета фоновой задачи, в течение которого задачу прерывать нельзя. Планирование очередей в каждый момент времени производится в соответствии с параметрами текущего режима планирования. Режим планирования определяется следующими параметрами:• дата и время включения режима; • максимальное время, отведенное для отладочных задач;• максимальное время, отведенное для пакетных задач; • число процессоров, которые «резервируются» для отладочных задач; • шкала приоритетов пользователей.

Иркутский суперкомпьютерный центр коллективного пользования

Page 31: Новопашин А.П. ИДСТУ СО РАН

Пример команд компиляции MPI-приложений

Для компиляции MPI-программ рекомендуется пользоваться командами:

mpicc (для программ на С)mpiСС (для программ на С++)mpif77 / mpif90 (для программ на Фортране 77/90)

Опция “–o name” позволяет задать имя name для получаемого исполняемого файла (по умолчанию a.out). Для оптимизации рекомендуется использовать ключ “–fast”, например:

mpif77 –fast –o program program.f

Если необходимо скомпилировать только объектный модуль, используется опция “–c”, например:

mpiCC –c program2.c

Для сборки многомодульных приложений целесообразно использовать утилиту make.

Иркутский суперкомпьютерный центр коллективного пользования

Page 32: Новопашин А.П. ИДСТУ СО РАН

Основные команды системы запуска задач Запуск на исполнение MPI-программы:

mpirun [параметры_mpirun...] <имя_программы>

Параметры команды:

-maxtime <максимальное_время>Максимальное время счета. От этого времени зависит положение задачи в очереди. После истечения этого времени задача принудительно заканчивается.

-np <число_процессоров>Число процессоров, требуемое программе.

-quantum <значение_кванта_времени>Параметр указывает, что задача является фоновой, и задает размер кванта для фоновой задачи.

-h - интерактивная подсказка по параметрам команды.

Иркутский суперкомпьютерный центр коллективного пользования

Page 33: Новопашин А.П. ИДСТУ СО РАН

Основные команды системы запуска задач Пользователь может оформить паспорт задачи в виде отдельного файла и потом запустить задачу с этим паспортом специальной командой. Формат файла-паспорта задачи приведен в руководстве пользователя. Запустить задачу с указанным в паспорте именем:

mrunf <имя_файла-паспорта>

Иркутский суперкомпьютерный центр коллективного пользования

Page 34: Новопашин А.П. ИДСТУ СО РАН

Основные команды системы запуска задач Стандартный вывод (печать на экран) задачи можно просмотреть с помощью команды:

mout [имя_задачи.номер_задачи [что_выдавать]]

При отсутствии параметров будет предложен выбор из списка запущенных задач. При отсутствии параметра что_выдавать будет предложен вопрос. В качестве ответа можно задать либо out, что означает выдачу стандартного вывода, либо err, что означает просмотр стандартного вывода сообщений об ошибках, либо log (стандартный вывод специального системного процесса-менеджера задачи). Если Вы задали параметры команде mout, то она выдаст Вам запрошенную информацию, даже если задача уже завершилась на момент вызова команды.

Иркутский суперкомпьютерный центр коллективного пользования

Page 35: Новопашин А.П. ИДСТУ СО РАН

Основные команды системы запуска задач Завершение запущенной задачи:

mkill [имя_задачи.номер_задачи]

Полное завершение задачи c повторами:

mterm [имя_задачи.номер_задачи]

В качестве параметра указывается имя задачи и – через точку – ее номер. При отсутствии параметра пользователю будет выдан список всех запущенных задач и предложено ввести номер (по списку) той задачи, которую нужно завершить.

Иркутский суперкомпьютерный центр коллективного пользования

Page 36: Новопашин А.П. ИДСТУ СО РАН

Основные команды системы запуска задач Получение информации о запущенных пользователем задачах:

mps [имя_задачи.номер_задачи]

При отсутствии параметра на экран будет выдан список всех запущенных пользователем и работающих или находящихся в очереди на момент выдачи команды задач. Если задача находится в очереди, это будет отмечено словом queued рядом с именем задачи.

Команда просмотра очереди (без параметров):

mqinfo

Иркутский суперкомпьютерный центр коллективного пользования

Page 37: Новопашин А.П. ИДСТУ СО РАН

Основные команды системы запуска задач Определение статуса задачи ("в очереди", "запущена", "завершилась"):

mqtest <имя_задачи>

Удаление задачи из очереди:

mqdel <имя_задачи.номер_задачи>

Команда получения информации о свободных процессорах:

mfree

Иркутский суперкомпьютерный центр коллективного пользования

Page 38: Новопашин А.П. ИДСТУ СО РАН

Список литературы:

[1] Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. - СПб.: БХВ-Петербург, 2002. - 608 с.

[2] Лацис А. Как построить и использовать суперкомпьютер. - М.: Бестселлер, 2003. - 240 c.

[3] Эндрюс Г.Р. Основы многопоточного, параллельного и распределеннго программирования. : Пер. с англ. - М.: Изд-во "Вильямс", 2003. - 512 c.

[4] Немнюгин С.А., Стесик О.Л. Параллельное программирование для многопроцессорных вычислительных систем. - СПб.: БХВ-Петербург, 2002. - 400 с.

[5] Основы параллельного программирования / К.Ю. Богачёв. - М.: БИНОМ. Лаборатория знаний, 2003. - 342 с.

[6] Корнеев В.Д. Параллельное программирование в MPI. - Новосибирск: Изд-во СО РАН, 2000. - 213 с.

….

Иркутский суперкомпьютерный центр коллективного пользования

Page 39: Новопашин А.П. ИДСТУ СО РАН

Методические и учебные пособия:

[1] Антонов А.С. "Введение в параллельные вычисления" : Методическое пособие. – М.: Изд-во Физического факультета МГУ, 2002. - 70 с.

[2] Антонов А.С. "Параллельное программирование с использованием технологии MPI" : Учебное пособие. – М.: Изд-во МГУ, 2004. - 71 с.

[3] Букатов А.А. , Дацюк В.Н. , Жегуло А.И. "Программирование многопроцессорных вычислительных систем". - Ростов-на-Дону: Изд-во ООО "ЦВВР", 2003. - 208 с.

[4] Шпаковский Г.И. , Серикова Н.В. "Программирование для многопроцессорных систем в стандарте MPI" : Пособие. – Минск: Изд-во БГУ, 2002. - 323 с.

Основной информационный WEB-ресурс: www.parallel.ru (при поддержке Лаборатории параллельных информационных технологий Научно-исследовательского вычислительного центра МГУ).

Иркутский суперкомпьютерный центр коллективного пользования