Представление кольцевой топологии в виде гиперкуба

Методы логического представления топологии коммуникационной среды

Как показало рассмотрение основных коммуникационных операций в подразделе 3.1, ряд алгоритмов передачи данных допускает более простое изложение при использовании вполне определенных топологий сети межпроцессорных соединений. Кроме того, многие методы коммуникации могут быть получены при помощи того или иного логического представления исследуемой топологии. Как результат, важным моментом при организации параллельных вычислений является возможность логического представления разнообразных топологий на основе конкретных (физических) межпроцессорных структур.

Способы логического представления (отображения) топологий характеризуются следующими тремя основными характеристиками:

· уплотнение дуг (congestion), выражаемое как максимальное количество дуг логической топологии, которые отображаются в одну линию передачи физической топологии;

· удлинение дуг (dilation), определяемое как путь максимальной длины физической топологии, на который отображается дуга логической топологии;

· увеличение вершин (expansion), вычисляемое как отношение количества вершин в логической и физической топологиях.

Для рассматриваемых в рамках пособия топологий ограничимся изложением вопросов отображения топологий кольца и решетки на гиперкуб. Предлагаемые ниже подходы для логического представления топологий характеризуются единичными показателями уплотнения и удлинения дуг.

Установление соответствия между кольцевой топологией и гиперкубом может быть выполнено при помощи двоичного рефлексивного кода Грея G(i, N) (binary reflected Gray code), определяемого в соответствии с выражениями:

(3.22)

где i задает номер значения в коде Грея, а N есть длина этого кода. Для иллюстрации подхода в табл. 3.1 показывается отображение кольцевой топологии на гиперкуб для сети из p=8 процессоров.

Важное свойство кода Грея: соседние значения G(i,N) и G(i+1,N) имеют только одну различающуюся битовую позицию. Как результат, соседние вершины в кольцевой топологии отображаются на соседние процессоры в гиперкубе.

Таблица 3.1. Отображение кольцевой топологии на гиперкуб при помощи кода Грея  
Код Грея для N=1 Код Грея для N=2 Код Грея для N=3 Номера процессоров  
гиперкуба кольца  
0 0 0 0 0  
0 1 0 0 1  
  1 1 0 1 1  
  1 0 0 1 0  
    1 1 0  
    1 1 1  
    1 0 1  
    1 0 0