Н., Пескова Е. Е., Шаманаев П. А. Основы параллельного программирования с использованием технологий mpi и openmp учебное пособие саранск издательство свмо 2013 2


 Системы с распределенной памятью



Pdf көрінісі
бет5/53
Дата07.06.2023
өлшемі6.58 Mb.
#474796
1   2   3   4   5   6   7   8   9   ...   53
ParProg MPI OpenMP

1.2. Системы с распределенной памятью 
 
В системах этого типа на каждом вычислительном узле 
функционирует 
собственные 
копии 
операционной системы, под 
управлением которых выполняются независимые программы. Это могут 
быть как действительно независимые программы, так и параллельные 
ветви одной программы. В этом случае единственно возможным 
механизмом взаимодействия между ними является механизм передачи 
сообщений [1,7,8].
В 1994 г. был принят стандарт механизма передачи сообщений MPI 
(Message Passing Interface). Основная цель, которую ставили перед собой 
разработчики MPI – это обеспечение полной независимости приложений, 
написанных с использованием MPI, от архитектуры многопроцессорной 
системы, без какой-либо существенной потери производительности.
MPI – это библиотека функций, обеспечивающая взаимодействие 
параллельных процессов с помощью механизма передачи сообщений. 
Библиотека включает в себя множество функций передачи сообщений 
типа точка-точка, развитый набор функций для выполнения коллективных 
операций и управления процессами параллельного приложения [2,5,10].
Альтернативный подход предоставляет парадигма параллельной 
обработки данных, которая реализована в языке высокого уровня HPF. От 
программиста требуется только задать распределение данных по 
процессорам, а компилятор автоматически генерирует вызовы функций 
синхронизации и передачи сообщений (неудачное расположение данных 
может вызвать существенное увеличение накладных расходов). Для 
распараллеливания циклов используются либо специальные конструкции 
языка, 
либо 
директивы 
компилятору, 
задаваемые 
в 
виде 
псевдокомментариев. Язык HPF реализует идею инкрементального 
распараллеливания и модель общей памяти на системах с распределенной 
памятью. 
Эти 
два 
обстоятельства 
и 
определяют 
простоту 
программирования и соответственно привлекательность этой технологии. 
Одна и та же программа, без какой-либо модификации, должна 
эффективно работать как на однопроцессорных системах, так и на 
многопроцессорных вычислительных системах. Программы на языке HPF 



существенно 
короче 
функционально 
идентичных 
программ, 
использующих прямые вызовы функций обмена сообщениями [7,8].
Следует отметить область, где механизму передачи сообщений нет 
альтернативы – это обслуживание функционального параллелизма. Если 
каждый узел выполняет свой собственный алгоритм, существенно 
отличающийся от того, что делает соседний процессор, а взаимодействие 
между ними имеет нерегулярный характер, то ничего другого, кроме 
механизма передачи сообщений, предложить невозможно. 





Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   ...   53




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет