сообщения между одинаковыми процессорами или между процессорами с различной архитектурой. MPI может настраиваться как на работу на однородной, так
ина работу на гетерогенной системах.
5)компиляторами для Fortran(a) и C.
Эффективность и надежность обеспечиваются:
1)определением MPI операций не процедурно, а логически, т.е. внутренние механизмы выполнения операций скрыты от пользователя;
2)использованием непрозрачных объектов в MPI
(группы, коммуникаторы, типы и т.д.);
3)хорошей реализацией функций передачи данных, адаптирующихся к структуре физической системы.
Обменные функции разработаны с учетом архитектуры системы, например, для систем с распределенной памятью, систем с общей памятью, и некоторых других систем, что позволяет минимизировать время обмена данными.
Почему OpenMP? OpenMP является стандартом для программирования на масштабируемых SMP-системах (SSMP, ccNUMA, и т.д.) в модели общей памяти (shared memory model). Примерами систем с общей памятью, масштабируемых до большого числа процессоров, могут служить суперкомпьютеры Cray Origin2000 (до 128 процессоров), HP 9000 V-class (до 32 процессоров в одном узле, а в конфигурации из 4 узлов - до 128 процессоров), Sun Starfire (до 64 процессоров).
MPI тоже работает на таких системах, однако модель передачи сообщений недостаточно эффективна на SMP- системах. POSIX-интерфейс для организации нитей (Pthreads) поддерживается широко (практически на всех UNIX-системах), однако по многим причинам не подходит для практического параллельного программирования: нет поддержки Fortran-а, слишком низкий уровень программирования, нет поддержки параллелизма по данным.