ВУЗ:
Составители:
Рубрика:
- 9 -
рации. Неаккуратное использование процедур с блокировкой может привести
к возникновению тупиковой ситуации (см. ниже), поэтому при этом требует-
ся дополнительная осторожность; при использовании асинхронных операций
тупиковых ситуаций не бывает, однако эти операции требуют более аккурат-
ного использования массивов данных.
При использовании процедур ‘точка-точка’ программист имеет возмож-
ность выбрать способ взаимодействия
процессов и способ взаимодействия
коммуникационного модуля MPI с вызывающим процессом.
По способу взаимодействия процессов - в случае неодновременного вызо-
ва двумя процессами парных функций приема и передачи могут быть произ-
ведены следующим образом:
• Буферизация данных осуществляется на передающей стороне (при этом
функция передачи захватывает временный буфер, копирует в него сообще-
ние и возвращает управление вызвавшему процессу; содержимое буфера
передается принимающему процессу в фоновом режиме).
• Режим ожидания на стороне принимающего процесса (при этом возможно
завершение с выдачей кода ошибки на передающей стороне).
• Режим ожидания на передающей стороне (завершение с кодом ошибки на
стороне приема).
• Автоматический выбор одного из трех вышеприведенных вариантов
(именно так действуют простейшие блокирующие функции
MPI_Recv и
MPI_Send).
рации. Неаккуратное использование процедур с блокировкой может привести к возникновению тупиковой ситуации (см. ниже), поэтому при этом требует- ся дополнительная осторожность; при использовании асинхронных операций тупиковых ситуаций не бывает, однако эти операции требуют более аккурат- ного использования массивов данных. При использовании процедур ‘точка-точка’ программист имеет возмож- ность выбрать способ взаимодействия процессов и способ взаимодействия коммуникационного модуля MPI с вызывающим процессом. По способу взаимодействия процессов - в случае неодновременного вызо- ва двумя процессами парных функций приема и передачи могут быть произ- ведены следующим образом: • Буферизация данных осуществляется на передающей стороне (при этом функция передачи захватывает временный буфер, копирует в него сообще- ние и возвращает управление вызвавшему процессу; содержимое буфера передается принимающему процессу в фоновом режиме). • Режим ожидания на стороне принимающего процесса (при этом возможно завершение с выдачей кода ошибки на передающей стороне). • Режим ожидания на передающей стороне (завершение с кодом ошибки на стороне приема). • Автоматический выбор одного из трех вышеприведенных вариантов (именно так действуют простейшие блокирующие функции MPI_Recv и MPI_Send). -9-
Страницы
- « первая
- ‹ предыдущая
- …
- 7
- 8
- 9
- 10
- 11
- …
- следующая ›
- последняя »