next up previous contents
Next: Координация. Up: Подпрограммы доступа к данным. Previous: Позиционирование.   Contents

Синхронизация.

MPI поддерживает блокирующие и неблокирующие подпрограммы.

Блокирующий вызов ввода-вывода не возвратится, до того как запрос ввода-вывода будет завершен.

Неблокирующий вызов ввода-вывода начинает операцию ввода- вывода, но не дожидается завершения. При подходящем аппаратном обеспечении это позволяет производить перемещения данных в/из буфера пользователя параллельно с вычислениями. Отдельный вызов завершения запроса (MPI_WAIT, MPI_TEST или любой из их вариантов) необходим для завершения запроса ввода-вывода, то есть для того, чтобы убедиться в том, что данные были записаны или прочитаны, и использовать буфер снова безопасно для пользователя. Неблокирующие версии подпрограмм называются MPI_FILE_IXXX. Ошибочно осуществлять доступ к локальному буферу неблокирующих операций доступа к данным или использовать этот буфер как источник или цель других взаимодействий, между началом и завершением операции. разделенные коллективные подпрограммы - это ограниченная форма неблокирующих операций для коллективного доступа к данным (см. раздел Split Collective Data Access Routines ).



Alex Otwagin 2002-12-10