Вперед: 4.7.2. Декартова топология
Назад: 4.6.3. Функции работы с коммуникаторами
К содержанию: Оглавление


4.7. Топология процессов

4.7.1. Основные понятия

Топология процессов является одним из необязательных атрибутов коммуникатора. Такой атрибут может быть присвоен только intra-коммуникатору. По умолчанию предполагается линейная топология, в которой процессы пронумерованы в диапазоне от 0 до n-1, где n - число процессов в группе. Однако для многих задач линейная топология неадекватно отражает логику коммуникационных связей между процессами. MPI предоставляет средства для создания достаточно сложных "виртуальных" топологий в виде графов, где узлы являются процессами, а грани - каналами связи между процессами. Конечно же, следует различать логическую топологию процессов, которую позволяет формировать MPI, и физическую топологию процессоров.

В идеале логическая топология процессов должна учитывать как алгоритм решения задачи, так и физическую топологию процессоров. Для очень широкого круга задач наиболее адекватной топологией процессов является двумерная или трехмерная сетка. Такие структуры полностью определяются числом измерений и количеством процессов вдоль каждого координатного направления, а также способом раскладки процессов на координатную сетку. В MPI, как правило, используется row-major нумерация процессов, т.е. используется нумерация вдоль строки. На рис. 4.19 представлено соответствие между нумерациями 6-ти процессов в одномерной и двумерной (2х3) топологиях.

Соотношение между идентификатором процесса и координатами.

Рис. 4.19 Соотношение между идентификатором процесса (верхнее число) и координатами в двумерной сетке 2х3 (нижняя пара чисел).



Вперед: 4.7.2. Декартова топология
Назад: 4.6.3. Функции работы с коммуникаторами
К содержанию: Оглавление