The OpenNET Project / Index page

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

Каталог документации / Раздел "Программирование в Linux" / Оглавление документа
next up previous contents
Next: Коммуникации в виде дерева Up: Интерфейс передачи сообщений MPI Previous: Ввод / вывод для   Contents

Коллективные коммуникации

Производительность программы вычисления интеграла можно значительно повысить. Например, пусть программа выполняется на восьми процессорах.

Все процессы начинают выполнять программу практически одновременно. Однако после выполнения основных задач (вызовы
MPI_Init(), MPI_Comm_size() и MPI_Comm_rank()) процессы 1 - 7 будут простаивать, в то время как процесс 0 будет собирать входные данные. После того как процесс 0 примет входные данные, процессы большего ранга должны продолжать ожидать, пока процесс 0 рассылает входные данные всем процессам. Подобная неэффективность наблюдается и в конце программы, когда процесс 0 собирает и суммирует значения локальных интегралов.

Основной задачей организации параллельной обработки является равномерное распределение загрузки по всем процессорам системы. Если, как в приведенном случае, основная нагрузка ложится на один из процессов, то в некоторых случаях будет эффективнее использовать однопроцессорную версию.



Subsections

2004-06-22



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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