не может закончить свой
Шаг |
Текущие позиции для процессов с rank |
Примечание |
0 |
1 |
остальные |
1 |
3 |
3 |
3 |
. |
2 |
4 |
4 |
4 |
. |
3 |
5 |
5 |
5 |
. |
4 |
9 |
7 |
9 |
Процесс с rank равным 1 не может закончить свой шаг по "тривиальной параллельной" причине - управление не может вернуться из функции MPI_Recv так как процесс с rank равным 0 еще не вызвал функцию MPI_Send в строке 11 и не вызовет ее на этом шаге. |
5 |
10 |
7 |
13 |
Остальные процессы не могут завершить шаг по "тривиальной параллельной" причине - для завершения работы MPI_Finalize ее должны вызвать все процессы. |
6 |
11 |
7 |
13 |
Процесс с rank равным 1 процесс должен закончить выполнение MPI_Recv. |
7 |
13 |
9 |
13 |
. |
8 |
13 |
13 |
13 |
. |
Таблица 1. Текущие позиции для различных процессов при пошаговом выполнении MPI программы.
В данном примере за восемь шагов параллельной программы процесс с rank равным 0 сделал 7 последовательных шагов, процесс с rank равным 1 сделал 6 последовательных шагов, остальные процессы сделали 5 последовательных шагов, и пользователю не потребовалось никаких дополнительных действий для этого.
Основные отличия предложенной схемы выполнения команды "шаг" от существующих схем:
- Первые три шага в параллельном отладчике с синхронной схемой команды "шаг" будут идентичны приведённым выше. Однако пользователь не дождётся завершения шага 4 в таком отладчике, поскольку процесс с rank равным 1 не сможет завершить свою часть команды. Пользователю придётся прервать выполнение команды. В результате он получит набор процессов, остановленных в разных точках программы. Он не будет знать, какой из процессов остановился самостоятельно, выполнив свой элементарный шаг, а какой был прерван пользователем.
- Если в отладчике реализована асинхронная модель параллельной команды "шаг", то пользователь, после того, как выдал команду и получил управление в отладчике (сразу же после выдачи команды), не может быть уверен, что все процессы завершили выполнение своих частей общей параллельной команды "шаг".
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий