next up previous contents
Next: Интра-коммуникаторы Up: Базовые концепции Previous: Группы   Contents

Контексты

Контекст есть свойство коммуникаторов, которое позволяет разделять пространство обмена. Сообщение, посланное в одном контексте, не может быть получено в другом контексте. Более того, там, где это разрешено, коллективные операции независимы от ждущих операций парного обмена. Контексты не являются явными объектами MPI; они проявляются только как часть реализации коммуникаторов.

Совет разработчикам: Различные коммуникаторы в одном и том же процессе имеют различные контексты. В сущности, контекст - это управляемый системой признак (или признаки), необходимый для обеспечения безопасности внутри коммуникатора для парного и коллективного обмена. Безопасность означает, что коллективный и парный обмен в пределах одного коммуникатора не смешиваются, и что обмены по различным коммуникаторам также не смешивается.

Возможной реализацией контекста является дополнительный тэг, подключаемый к сообщениям при посылке, и сопоставляемый при получении. Каждый интра-коммуникатор сохраняет значения двух cвоих тэгов (один для парного и другой для коллективного обменов).

Аналогично, в межгрупповой связи (которая является строго парной), каждый коммуникатор хранит значения двух cвоих тэгов: один используется группой A для отправки и группой B для приема; второй используется группой B для отправки и группой A для приема.

Так как контексты не являются явными объектами, то возможны и другие их реализации[]



Alex Otwagin 2002-12-10