| |
![]() |
Равномерное распределение загрузки по процессорам предполагает определенную организацию передач данных в рамках некоторой структуры. Например, при рассылке входных данных между процессами программы вычисления интеграла хороший результат может дать организация дерева процессов, корнем которого является процесс 0 (рис. 2).
На первой стадии распределения данных процесс 0 посылает данные процессу
4. В течение следующей стадии, процесс 0 посылает данные процессу
2, в то время как процесс 4 посылает те же данные процессу 6. В ходе
последней стадии, процесс 0 посылает данные процессу 1, в то время
как процесс 2 посылает данные процессу 3, процесс 4 посылает данные
процессу 5, и наконец, процесс 6 посылает данные процессу 7. При
этом цикл распределения данных уменьшился с 7 этапов до 3. Если существует
процессов, эта процедура позволяет распределять входные данные
в
этапов, вместо
этапов,
что при достаточно большом
существенно ускоряет процесс.
Чтобы модифицировать функцию Get_data() для использования
схемы распределения в виде дерева, необходимо ввести цикл из
итераций. Каждый процесс при этом определяет на каждой стадии:
Закладки на сайте Проследить за страницей |
Created 1996-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |