ВУЗ:
Составители:
Рубрика:
- 4 -
Введение: общая информация о технологии
программирования в стандарте MPI
MPI (Message Passing Interface,
http://www.mpi-forum.org) является техноло-
гией создания параллельно выполняющихся программ, основанной на пере-
даче сообщений между процессами (сами процессы могут выполняться как
на одном, так и на различных вычислительных узлах). MPI-технология явля-
ется типичным примером императивной (основанной на полном управлении
программистом последовательности вычислений и распределения данных)
технологии создания программ для параллельного выполнения [1
÷ 3, 5].
Значительное число современных систем разработки параллельных про-
грамм основаны на императивности в распределении данных по процессо-
рам; подобной MPI императивностью обладает система DVM (Distributed
Virtual Memory или Distributed Virtual Machine,
http://www.keldysh.ru/dvm) - в
противоположность системе HPF (Hight Performance Fortran,
http://www.erc.msstate.edu/hpff/home.html), где программист не предписывает
компилятору конкретного распределения вычислений по процессорам, при
этом существенная часть работ по распараллеливанию вычислений выполня-
ется компилятором [3]. Свободно распространяемым инструментом автома-
тизации создания параллельных MPI-программ является система
HOPМА
(
http://www.keldysh.ru/pages/norma), позволяющая (на основе специализирован-
ного декларативного языка) синтезировать исходный текст с вызовами MPI
[1,2]; из иных (истинная эффективность неизвестна) можно назвать препро-
цессор пакета
Forge (http://www.tc.cornell.edu/UserDoc/Software/PTools/forge). По-
луавтоматическое распараллеливание достигается введением в состав уни-
версального языка программирования (С или Fortran) дополнительных инст-
рукций для записи параллельных конструкций кода и данных, препроцессор
‘переводит’ исходный текст в текст на стандартном языке с вызовами MPI;
примеры: система
mpC (massively parallel C, http://www.ispras.ru/~mpc) и HPF
(High Performance Fortran,
http://www.crpc.rice.edu/HPFF).
Формально MPI-подход основан на включении в программные модули вы-
зовов функций специальной библиотеки (заголовочные и библиотечные фай-
лы для языков С/С++ и Fortran) и загрузчика параллельно исполняемого кода
в вычислительные узлы (ВУ). Подобные библиотеки имеются практически
для все платформ, поэтому написанные с использованием технологии MPI
взаимодействия ветвей параллельного приложения программы
независимы
от машинной архитектуры (могут исполняться на однопроцессорных и мно-
гопроцессорных c общей или разделяемой памятью ЭВМ), от расположения
ветвей (выполнение на одном или разных процессорах) и от API (Application
Program Interface) конкретной операционной системы (ОС).
История MPI начинается в 1992 г. созданием стандарта эффективной и пе-
реносимой библиотеки передачи сообщений в Oak Ridge National Laboratory
(Rice University), окончательный
вариант стандарта MPI 1.0 представлен в
1995 г., стандарт MPI-2 опубликован в 1997 г.
Введение: общая информация о технологии программирования в стандарте MPI MPI (Message Passing Interface, http://www.mpi-forum.org) является техноло- гией создания параллельно выполняющихся программ, основанной на пере- даче сообщений между процессами (сами процессы могут выполняться как на одном, так и на различных вычислительных узлах). MPI-технология явля- ется типичным примером императивной (основанной на полном управлении программистом последовательности вычислений и распределения данных) технологии создания программ для параллельного выполнения [1 ÷ 3, 5]. Значительное число современных систем разработки параллельных про- грамм основаны на императивности в распределении данных по процессо- рам; подобной MPI императивностью обладает система DVM (Distributed Virtual Memory или Distributed Virtual Machine, http://www.keldysh.ru/dvm) - в противоположность системе HPF (Hight Performance Fortran, http://www.erc.msstate.edu/hpff/home.html), где программист не предписывает компилятору конкретного распределения вычислений по процессорам, при этом существенная часть работ по распараллеливанию вычислений выполня- ется компилятором [3]. Свободно распространяемым инструментом автома- тизации создания параллельных MPI-программ является система HOPМА (http://www.keldysh.ru/pages/norma), позволяющая (на основе специализирован- ного декларативного языка) синтезировать исходный текст с вызовами MPI [1,2]; из иных (истинная эффективность неизвестна) можно назвать препро- цессор пакета Forge (http://www.tc.cornell.edu/UserDoc/Software/PTools/forge). По- луавтоматическое распараллеливание достигается введением в состав уни- версального языка программирования (С или Fortran) дополнительных инст- рукций для записи параллельных конструкций кода и данных, препроцессор ‘переводит’ исходный текст в текст на стандартном языке с вызовами MPI; примеры: система mpC (massively parallel C, http://www.ispras.ru/~mpc) и HPF (High Performance Fortran, http://www.crpc.rice.edu/HPFF). Формально MPI-подход основан на включении в программные модули вы- зовов функций специальной библиотеки (заголовочные и библиотечные фай- лы для языков С/С++ и Fortran) и загрузчика параллельно исполняемого кода в вычислительные узлы (ВУ). Подобные библиотеки имеются практически для все платформ, поэтому написанные с использованием технологии MPI взаимодействия ветвей параллельного приложения программы независимы от машинной архитектуры (могут исполняться на однопроцессорных и мно- гопроцессорных c общей или разделяемой памятью ЭВМ), от расположения ветвей (выполнение на одном или разных процессорах) и от API (Application Program Interface) конкретной операционной системы (ОС). История MPI начинается в 1992 г. созданием стандарта эффективной и пе- реносимой библиотеки передачи сообщений в Oak Ridge National Laboratory (Rice University), окончательный вариант стандарта MPI 1.0 представлен в 1995 г., стандарт MPI-2 опубликован в 1997 г. -4-
Страницы
- « первая
- ‹ предыдущая
- …
- 2
- 3
- 4
- 5
- 6
- …
- следующая ›
- последняя »