Топології мереж.Граф як основа побудови комп’ютерної мережі
s(i)= тоді s-1(i)=
Якщо номер процеса i представити у двійковому коді idid-1...i2i1, то функцію суміші можна подати в наступному вигляді:
s(idid-1...i2i1)=id-1id-2...i1id і s-1(idid-1...i2i1)=i1id...i3i2.
Визначивши функцію суміші, запишемо правило за яким з'єднуються процеси в сумішно-обмінній моделі. В ній кожен процес Pi має три сусіди: Pj, де j відрізняється від i останнім бітом у двійковому розкладі, P s(i) та P s-1(i).
Малюнок 7а. Логічна схема сумішного з'єднання.
Малюнок 7б. Модель комп'ютера сумішно-обмінного з'єднання розміру 8.
Схема сумішно-зсувного з'єднання (shuffle - shift). Малюнок 8. Якщо ми у попередній архітектурі сумішно-обмінного з'єднання сполучимо кожний процесор з наступним та попереднім, то отримаємо сумішно-зсувне з'єднання, яке програмувати на практиці значно легше. Шварц назвав такі комп'ютери ультракомп'ютерами. Схему сумішно-зсувного з'єднання зручно використовувати при розв'язку задачі методом 'розділяй та володарюй'.
Малюнок 8. Модель комп'ютера сумішно-зсувного з'єднання розміру 8Схема з'єднання метеликом [5] (butterfly network). Малюнок 9а. Метелик з N входами подається графом з рівнів, кожен з яких містить N вершин. j-та вершина на i-ому рівні позначається j1j2...jlogN,i, де j1j2...jlogN - бінарне подання числа j і вона з'єднується з вершинами j1j2...jlogN,i+1 та j1j2...ji ji+2...jlogN,i+1 на рівні i+1. На нульовому рівні розташовані вхідні вершини, на рівні logN — вершини виходу. Шлях, який проходять дані з будь-якого входу на будь-який вихід визначається однозначно за номером виходу і його довжина дорівнює . З будь-якої вершини виходять дві дуги: нагору(0) та вниз(1). Наприклад, якщо виходом буде вершина 101, то з якого б входу ми не пішли, підемо вниз, вгору, вниз і обов'язково потрапимо у вихід 101. На малюнку 9б зображена схема метелика з випадковим з'єднанням вершин першого рівня. Його зв'язки повністю співпадають зі зв'язками стандартного метелика окрім першого рівня. З кожної вершини першого рівня виходить дві дуги в будь-які вершини другого рівня, одна з останніх повинна знаходитися в верхній половині, друга - в нижній.
Малюнок 9а. Схема з'єднання Малюнок 9б. Метелик з випадковим
метеликом для 32 процесів. з'єднанням першого рівня.
Схема метелика належить до великого класа розчеплених багатостанових мереж (splitter multistage interconnection networks). Перемикачі на кожному рівні розчепленої мережі можна розбити на блоки. Всі перемикачі рівня 0 належать одному блоку. На рівні 1 існує два блоки - один складається з верхніх N/2 прцесів, другий - з нижніх N/2 процесів. Взагалі, на рівні кількість блоків дорівнює 2i, розмір кожного з яких дорівнює N/2i. Кожний блок на рівні i з'єднується з двома блоками на рівні i+1 - Bhigh та Blow, відповідно верхній та нижній блоки. Розгалуження блоку на два і називається розчепленням. Розчеплена мережа має складність d, якщо будь-яка вершина, яка не є вхідною, має 2d вхідних ребер, а з будь-якої вершини, яка не є виходом, виходить d верхніх та d нижніх ребер. Схеми метелика,які наведено на малюнках 9а та 9б, є розчепленими мережами складності 1. В розчеплених мережах існує лише один шлях між вхідною та вихідною вершиною.
Мережа вулиць Манхетена [31] (Manhattan Street Network) (Малюнок 10) є двовимірна прямокутна мережа безпосереднього з'єднання, яка складається з N=m*n процесів, кожен з яких має ідентифікаційний номер (a,b), де 0ЈaЈm-1, 0ЈbЈn-1. Вершина (a,b) сполучається зв'язками з вершинами (x,b) та (a,y) наступним чином: (x,b) = {(a+/-1) mod m, b}, +/- коли b парне/непарне та (a,y)={a, (b+/-1) mod n}, +/- коли a парне/непарне. Напрямок з'єднань цієї мережі співпадає з напрямком руху по вулицям Манхетена. Діаметр мережі дорівнює N1/2+1, середня довжина шляхів між двома вершинами — (N3/2/2+N-4)/(N-1) [31].
HR4-мережа [34], або торовидна мережа, виглядає як і мережа вулиць Манхетена за винятком того, що її зв'язки двонаправлені. Її діаметр дорівнює N1/2, середня довжина шляхів — N3/2/(2*N-2) [31].
Малюнок 10. Мережа вулиць Манхетена розміру 4*4.
Шестикутна мережа [32] (Hexagonal Mesh — H Mesh) (Малюнок 11). Незгорнута шестикутна мережа представляє собою множину вершин, які знаходяться у вузлах шестикутної решітки. Розміром шестикутника будемо називати кількість процесорних елементів на його одній стороні. В центрі решітки знаходиться процесор з ідентифікаційним номером P0. Навколо процесора P0 знаходиться шестикутник розміру 1, кожен процес якого сполучений зв'язками з P0. І взагалі, навколо шестикутника розмцру k знаходиться шестикутник розміру k+1, які сполучаються як показано на малюнку 11. Розміром шестикутної мережі називається кількість шестикутників, задіяних в архітектурі.