В.Д. Корнеев - Параллельное программирование в MPI
Описание файла
DJVU-файл из архива "В.Д. Корнеев - Параллельное программирование в MPI", который расположен в категории "". Всё это находится в предмете "распределенные операционные системы" из 8 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр DJVU-файла онлайн
Распознанный текст из DJVU-файла
УЛК 518.65 ББК 3 973.2 — 018 К 67 Корнеев В..П. Параллельное программирование в МР1. — 2-е изд., испр. — Новосибирск: Изд-во ИВМиМГ СО РАН, 2002. — 215 с. Книга посвящена параллельному программированию на базе системы с передачей сообщений МР1, которая является основным средством программирования таких современных высокопроизводительных мультикомпьютеров, как ЯгИсоп ОгарЫсв, Сгау ТЗО, Сгау ТЗЕ, 1ВМ ЯР2 и многих других.
Рассмотрены многочисленные примеры параллельного программирования алгоритмов решения различных стандартных задач; умножения матрицы на матрицу, задачи Дирихле, решения систем линейных уравнений методом Гаусса н методом простой итерации, разделения множеств и др.
Описана модифицированная версия 1.1 МР1 стандарта, приведено описание основных функций МР1. Книга может служить практическим руководством по системе параллельного программирования с передачей сообщений. Изучение строится на практической основе: описываются средства параллельного программирования, предлагается ряд конкретных задач, в ходе которых рассматриваются как средства языка, так н методы программирования. Книга рассчитана на научных работников и инженеров, использующих параллельные ЭВМ, студентов и аспирантов, изучающих параллельное программирование.
Она является учебным пособием для пользователей Сибирского суперкомпьютерного центра. Книга издана зв счет средств Президиуме СО РАН, направленных нв развитие Сибирского суперкомпьютерного центра, Когпееч ч Д). РагаИе1 ргобгаппшпЕ тп МР1.
— 2 ес)., соггесСес). — )с)охов!Ыгв)с: 1пзС. оГ Сошр. МаСЬ. апс1 МаСЬ. ОеорЬ.РиЫ., 2002. — 215 р. ТЬе риййсвбоп оЕ Сйе Ьоой исав блвлссвйу вирроггед Ьу Ргемд!игп оЕ ЯВ РАЯ Егош СЬе Еилс!в !лгелс!ед Еог Сйе с!ече!оргоепг оЕ Сйе 5ирегсогпригет Селгег. Рецензенты: доктор технических наук О.Л. Бандман кандидат технических наук С.В. Пискунов доктор физико-математических наук В.А.
Вщивков Ссу В.Л. Корнеев, 2002 Сс! ИВМиМГ (ВН) СО РАН, 2002 !ЯВ!с! 5-901548-13-2 ТЬе Ъоо1с гергевепСв оГ Сйе птезвайе равгйпй вувзегп оГ рагаИе1 ргокгаппп!пк Ьвзес) оп СЬе МР1 (Меввабе Раве!пя 1пгегГасе). ТЫв вувСеш тв СЬе Ъвв!в тпеапв оГ ргойташш!пй оГ зисЬ шос)егп Ь!яЬ- регГоппапсе ши!С!сопгригегв, вв ЯИ!соп ОгарЫсв, Сгау ТЗО, Сгау ТЗЕ, 1ВМ ЯР2 апП птапу оСЬегв. Мапу ехашр!ев оГ рагаИе! ргобтаппп!пй оГ а!Зот!СЬшв оГ во!иС!оп оГ чапоив вгапс!агс! ргоЫешв аге сопвЫегесЬ тпи1бр1кабоп оГ а шагпх Ьу а шагт!х, СЬе ГйгтсЫеС ртоЫепт, во!иСюп оГ вувгешв оГ СЬе Ппеаг есртаИопв (ЯЯЬЕ) Ьу СЬе Саивв шеСЬос! апй воЫСюп оГ СЬе 551,Е Ьу Сйе вппр1е Вегабоп шеСЬос), зератабоп оГ веге, еСс.
ТЬе шос!!Иес$ вСапс1агс1 четв!оп 1.1 МР1 Ьаз Ьееп с)евст!Ъес1, Спа! Гипсбопв оГ СЬе МР1 аП Ье!пк с)евсг!Ьес) ав иеИ. ТЬе Ьоо)с сап вегче вв а ргасИса! ЗиЫе Ы СЬе шевваяе раввтпб вувгеш оГ рагаИе! ргокташт!пк. ЯСис)у!пя ы Ьввес! оп СЬе ргасбса! кгоипс!в: СЬе шеапв оГ рагаИе! ргокгашш!пя аге с)евсг!Ьес), СЬе пщпЬег оГ сопсгеСе ргоЫешв ге о)Гегес), тп счЬове во!ибоп ЪоСЬ СЬе тпеапв оГ СЬе !апйиайе, алс! СЬе шеСЬос)в оГ ргокгашш!пк аге сопвЫегес1. ТЬе Ъоо)с шау Ье оГ гпгегевС Гог гевевгсЬегв апс) епк!песте, ав счеП вв Гог вгис)епсв апс) розг-бгас)негев, Гог аИ СЬове !пчо1чес! ш рагаИе1 ргобгашш!пб. ТЫв Ьоо!с тв ес!исаС!опа1 вирр!у Гог СЬе цвете оГ Я!Ьег!ап ЯирегсотриСег СепСег. Предисловие редактора После долгого (по компьютерным меркам), примерно сорокалетнего, развития параллельное программирование из экзотического занятия ученых довольно быстро превращается в массовую и популярную профессию.
Невероятно быстрое развитие электронных технологий обеспечило появление на рынке большого числа коммерческих суперкомпьютеров. Онн успешно применяются для решения многих задач в науке (математическое моделирование) и промышленности (управление сложными техническими устройствами). Множество проблем параллельного программирования до сих пор не нашли хорошего решения в современных технологиях, языках и системах параллельного программирования.
По этой причине параллельная реализация алгоритмов наталкивается на значительные трудности. Разработка, отладка и сопровождение параллельных программ оказываются весьма сложным делом. Нередко встречаются ситуации, когда долго и правильно работающая программа вдруг выдает ошибочные результаты. Такие случаи известны и в послецовательном программировании, однако в параллельном программировании подобные проблемы усугубляются дополнительной необходимостью правильно (содержательно и во времени) запрограммировать межпроцессные коммуникации, что очень трудно сделать человеку (как и всякие действия во времени).
Кроме того, параллельные программы часто должны обладать многими необычными динамическими свойствами. Хотя, конечно, есть немало задач, сравнительно просто программируемых для исполнения на мультикомпьютерах, все же многие задачи трудно распараллелить и запрограммировать. Все это делает параллельное программирование занятием для хорошо образованных в математике и хорошо обученных нужным технологиям людей. Наиболее распространены сейчас системы параллельного программирования на основе МР1 (Мевваяе Разе!пя 1пгегГасе). Идея МР! исходно проста и очевидна.
Она предполагает представление параллельной программы в виде множества параллельно исполняющихся процессов (программы процессов обычно разработаны на обычном последовательном языке программирования С или Фортран), взаимодействующих друг с другом в ходе исполнения для передачи данных с помощью коммуникационных процедур. Они и составляют библиотеку МР1. Однако надлежащая реализация МР1 для обеспечения межпроцессорных коммуникаций оказалась довольно сложной. Достаточно сказать, что библиотека МР1 и методы параллельного программирования с МР1 изучаются на факультете прикладной математики и информатики Новосибирского государственного технического университета в течении семестра.
Такая сложность связана с необходимостью достижения высокой производительности программ, необходимостью использовать многочисленные ресурсы мультикомпьютера, и, как следствие, большим разнообразием в реализации коммуникапионных процедур в зависимости от режима обработки данных в процессорных элементах мультикомпьютера. При этом передачи данных между процессами программы должны осуществляться вне зависимости от того, где, на каких процессорах, реально находятся взаимодействующие процессы. Другой источник сложности — учет в реализации коммуникаций особенностей передачи данных между процессами.
Чем больше учет особенностей оборудования и режима обработки данных в процессорных элементах, тем лучше параллельная программа. Чем меньше учет - тем более общие алгоритмы используются для реализации коммуникаций, тем хуже по времени качество передачи данных. Особый бесконечный разговор — об обнаружении и локализации ошибок коммуникаций, потому как такие ошибки происходят, как правило, в одном месте программы, а их последствия обнаруживаются в другом, далеком от источника ошибки, месте. В результате МР! оказалась большой системой и приходится затрачивать немало усилий как на ее освоение, так и на освоение методов параллельного программирования с МР1.
Последнее много важнее. Настоящая книга, видимо, единственная на русском языке, в деталях описывающая МР1 и способы ее применения для программирования различных прикладных задач и их решения на мультикомпьютерах. Предисловие редакгаора Книга снабжена множеством примеров программирования решений небольших задач. Эти примеры дадут образны правильных подходов к программированию прикладных задач.
Примеры сами могут использоваться как готовые фрагменты для программирования других задач. В заключение необходимо отметить, что автоматически параллельная программа не создается с МР1, МР1 — зто всего лишь сложный инструмент для создания параллельных программ, он может быть использован н правильно и неправильно. И если нет умения им правильно пользоваться, то и на успех рассчитывать не приходится. В.Э.
Малышкин 1. Введение Книга посвящена параллельному программированию на базе системы с передачей сообщений МР1. Система МР1 является основным средством программирования таких современных высокопроизводительных мультикомпьютеров, как %!!соп Сгарп!се Ог!и!и 2000, Сгау Т30, Сгау ТЗЕ, 1ВМ ЯР2, МВС-1000/М и многих других. Рассмотрены многочисленные примеры параллельного программирования алгоритмов решения различных стандартных задач: умножения матрицы на матрицу, задача Дирихле, решение систем линейных уравнений (СЛАУ) методом Гаусса и решение СЛАУ методом простой итерации, разделения множеств и других. При написании книги использовались многочисленные материалы по системе МР1, наиболее полной является (1).