- •2.Технологии создания параллельных программ
- •2.1. Технология OpenMp
- •2.2. Технология mpi
- •3.Обзор технологии mpi
- •3.1. Стандартизация модели передачи данных (mpi)
- •3.2Введение в mpi.
- •3.3.Переносимость mpi-программ
- •3.4.Основные типы операций передачи данных mpi
- •4.Заключение
- •5.Литература
- •1. В.В.Воеводин, Вл.В.Воеводин "Параллельные вычисления".
- •2. А.С.Антонов "Введение в параллельные вычисления" (методическое пособие).
- •3. Грегори р.Эндрюса "Основы многопоточного, параллельного и распределенного программирования".
3.Обзор технологии mpi
3.1. Стандартизация модели передачи данных (mpi)
Для систем с распределенной памятью организация параллельных вычислений является возможной при использовании тех или иных способов передачи данных между взаимодействующими процессорами. Модель с передачей сообщений подразумевает концепцию построения
распределенного приложения, при которой приложение представляется в виде множества процессов, имеющих только локальную память, но способных связываться с другими процессами, посылая и принимая сообщения.
Определяющим свойством модели для передачи сообщений является тот факт, что передача данных из локальной памяти одного процесса в локальную память другого процесса требует выполнения операций обмена (приема-передачи) обоими процессами.
Использование модели передачи данных для разработки параллельных программ предполагает стандартизацию основных используемых понятий и применяемых средств. Подобные попытки унификации после разработки отдельных инструментальных коммуникационных библиотек привели к появлению в 1994 г. стандарта интерфейса передачи данных (message passing interface - MPI).
Основной целью спецификации MPI явилось сочетание в рамках единого подхода мобильных, эффективных и развитых средств передачи данных. Это означает возможность писать мобильные программы, использующие специализированное аппаратное или программное обеспечение, предлагаемое отдельными поставщиками. В то же время многие свойства, такие как ориентированная на приложения структура процессов или динамически управляемые группы процессов с широким набором коллективных операций, которые есть в любой реализации MPI, могут быть использованы в любой параллельной прикладной программе.
Одна из наиболее критических групп пользователей - это разработчики параллельных библиотек, для которых эффективная, мобильная и высокофункциональная коммуникационная среда особенно важна. MPI - это первая спецификация, которая позволяет им писать действительно мобильные библиотеки.
Выбранные требования - мобильность, эффективность, функциональность - диктуют многие проектные решения, которые определяют спецификацию MPI. Из дальнейшего описания будет видно, как эти решения влияют и на фундаментальные операции модели - send и receive - и на множество других, более развитых операций по передаче сообщений, включенных в MPI. MPI не является революционно новым способом программирования для параллельных компьютеров. Скорее, это попытка
собрать лучшие свойства многих существующих систем передачи сообщений, улучшить их, если необходимо, и стандартизовать их:
MPI служит основой для разработки библиотек передачи данных. MPI специфицирует имена, последовательности вызова и результаты подпрограмм, вызываемых из программ на Фортране, и функций, вызываемых из Си-программ. Программы, написанные на Фортране и Си, компилируются обычными компиляторами и компонуются с библиотекой MPI;
MPI относится к модели для передачи сообщений. Параллельная программа,написанная c cиспользованием MPI, является совокупностью. процессов, обменивающихся сообщениями.
В настоящее время MPI является широко распространенным стандартом, с использованием которого разрабатывается значительное число параллельных приложений. Существует большое количество реализаций MPI, как коммерческих, так и свободнораспространяемых.
