The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Каталог документации / Раздел "Программирование, языки" / Оглавление документа
next up previous contents
Next: Исправления. Up: Пояснения к MPI-1.0 и Previous: Пояснение к поведению ошибок   Contents

Пояснение к MPI_PROBE и MPI_IPROBE.

Страница 52, строки 1-3 ( MPI-1.1, 12-го июня, 1995 версия без изменений) теперь имеют вид:

``Последующий прием информации, запускаемый тем же коммуникатором, и источник информации и тег, возвращаемый в status подпрограммой MPI_IPROBE получат сообщение, что были поставлены в соответствие зондом, если никакой другой прием не вмешается после запуска зонда и отправка информации не будет успешно отменена''

Объяснение:

Следующая программа показывает, что определения MPI-1 отмены и запуска зонда конфликтуют:

Процесс 0                        Процесс 1
----------                       ----------
MPI_Init();                      MPI_Init();
MPI_Isend(dest=1);
                                 MPI_Probe();
MPI_Barrier();                   MPI_Barrier();
MPI_Cancel();
MPI_Wait();
MPI_Test_cancelled();
MPI_Barrier();                   MPI_Barrier();
                                 MPI_Recv();

Так как отправка информации была отменена процессом 0, ожидание должно быть локальным (страница 54, строка 13) и должно осуществлять возврат до соответствующего приема. Для того чтобы ожидание было локальным, отправка должна быть успешно отменена, и поэтому не должна соответствовать приему в процессе 1 (страница 54, строка 29).

Однако, понятно, что зонд в процессе 1 должен моментально обнаруживать входящее сообщение. На странице 52 строка 1, объясняет, что последующий прием процессом 1 должен возвращать сообщение, найденное зондом. Приведенный выше пример прямо противоположен, и поэтому текст и ``отправка информации не будет успешно отменена'' должен быть добавлен к строке 3 страницы 54.

Альтернативное решение (отклоненное) заключалось бы в изменении семантики отмены, так чтобы вызов не был локальным, если сообщение было прозондировано. Это усложняет реализацию, и добавляет новое понятие ``состояния'' сообщения (зондированное или нет). Оно, однако, сохранило бы то, что после зондирования блокирующий прием становился локальным. []



Alex Otwagin 2002-12-10



Спонсоры:
Слёрм
Inferno Solutions
Hosting by Ihor
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2019 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру