next up previous contents
Next: Базовые концепции Up: Введение Previous: Свойства, необходимые для поддержки   Contents

Поддержка библиотек в MPI

Для поддержки библиотек MPI обеспечивает:

Коммуникаторы [16,24,27] создают область для всех операций обмена в MPI. Коммуникаторы разделяются на два вида: интра-коммуникаторы (внутригрупповые коммуникаторы), предназначенные для операций в пределах отдельной группы процессов, и интер-коммуникаторы (межгрупповые коммуникаторы), предназначенные для обменов между двумя группами процессов.

Кэширование. Коммуникаторы обеспечивают механизм ``кэширования'', который позволяет связывать с коммуникаторами новые атрибуты на равных правах со встроенными в MPI механизмами. Это может понадобится опытным пользователям, например, чтобы поддерживать функции виртуальной топологии, описанные в главе 6.

Группы. Группы определяют упорядоченную выборку процессов по именам. Таким образом, группы определяют область для парных и коллективных обменов. В MPI группы могут управляться отдельно от коммуникаторов, но в операциях обмена могут использоваться только коммуникаторы.

Интра-коммуникаторы. Обычно наиболее используемые средства для передачи сообщений в MPI - это интра-коммуникаторы. Интра-коммуникаторы содержат образец группы, контексты парных и коллективных обменов, а также допускают включение виртуальной топологии и других атрибутов. Эти свойства означают следующее:

Совет пользователям: Обычно в библиотеках обмена имеется уникальная предопределенная область, включающая все процессы, которые становятся доступными во время инициализации параллельной программы; процессы имеют последовательные номера. Участники парных обменов задаются их номерами; коллективный обмен (такой, как широковещание) всегда вовлекает все процессы. Эта область является коммуникатором с предопределенным в MPI именем MPI_COMM_WORLD. Пользователи, которым достаточно этого коммуникатора, могут использовать его везде, где требуется аргумент коммуникатора.[]

Интер-коммуникаторы. Пока что обсуждение относилось к обмену в пределах группы. MPI также поддерживает обмен между двумя неперекрывающимися группами. Когда приложение состоит из нескольких параллельных модулей, удобно позволить одному модулю связываться с другими, используя локальные номера для адресации в пределах второго модуля. Это особенно удобно в вычислительной системе клиент-сервер, где клиент или сервер имеют параллельную организацию. Поддержка межгрупповых обменов также обеспечивает механизм для расширения MPI до динамической модели, где не все процессы предраспределяются во время инициализации. Межгрупповая связь поддерживается объектами, называемыми интер-коммуникаторами. Эти объекты связывают две группы вместе с коммуникационными контекстами, которые разделяются обеими группами.

Свойства интер-коммуникаторов таковы:

MPI обеспечивает механизмы для создания и управления интер-коммуникаторами. Пользователи, которые в своих приложениях не нуждаются в межгрупповой связи, могут игнорировать это расширение.



Alex Otwagin 2002-12-10