Реферат: Топології мереж Граф як основа побудови комп ютерної мережі
Існує багато підходів до побудови паралельних комплексів. Класифікацію їх архітектур почнемо з машин безпосереднього зв'язку, в яких кожен процесор безпосередньо пов'язаний з декількома іншими. За такої архітектури кожен процесор має власну пам'ять, яка містить локальні змінні та сполучаються один з одним за допомогою керуючих сигналів.
Машини безпосереднього зв'язку подаються у вигляді графу: кожен процесор позначається вершиною графа, зв'язок між процесорами — дугами. Відстань між процесорами P1',P2' визначається як відстань між вершинами у графі: відстанню є таке мінімальне число d, що існує послідовність P1' = P0, P1, P2, ..., Pd = P2', де Pi - сусід Pi+1; два процесори називаються сусідами, якщо вони з'єднані безпосередньо.
Діаметром машини безпосереднього зв'язку називається максимальна відстань між двома будь-якими процесорами.
Степенем процесора називається кількість його сусідів. Степенем машини безпосереднього зв'язку називається максимальний степінь процесора, задіяного у паралельному комплексі. Будь-який комплекс зі степенем k має, як мінімум, діаметр logP/logk -1 (Готліб та Крускал [16]).
Схемою з'єднання будемо називати сполучення декількох процесорів в один комплекс за деякими правилами.
Для спрощення будемо вважати, що два сусідні процесори можуть з'єднатися за один такт. Для великих схем з'єднання це твердження нереальне через їх фізичні можливості, але для паралельних процесорів помірного розміру це реально. Розглянемо різні архітектури машин безпосереднього зв'язку.
Схема повного з'єднання . ??????? 1. ? ??? ????? ?????? ???'?????? ? ????? ??????. ?? ??????????? ?????? ? ??, ?? ??????? ???? ????? ???????? 1, ? ?'??????? ????-???? ???? ?????????? ???????????? ?? ???? ????. ?? ???????? ?????? ??????? ?'??????? ????? ???? ????????. ????? ?????? ????????? ????? ???? ?????? ?? ?????? ???? ?????? ????????? ??????????. ʳ??????? ??'?????, ?????????? ??? ????????? P ??????????, ???????? P*(P-1)/2.
Малюнок 1. Малюнок 2
Схема повного з'єднання. Схема з'єднання в коло
для 6 процесорів. для 6 процесорів.
Схема з'єднання в коло . Малюнок 2. Ця архітектура більш реалістична і будується просто. Кількість дроту дорівнює кількості процесорів. Діаметр дорівнює P/2, середня відстань між процесорами дорівнює приблизно P/4. Передача інформації відбувається по колу за чи проти ходу годинникової стрілки при спільній роботі всіх P процесорів. Для обміну даними між будь-якими двома процесами необхідно зробити не більш ніж P-1 такт.
Двовимірна архітектура мережевого з'єднання [20] . ??????? 3. ij????? ???? ????? ?'??????? ???????? 2 * (P1/2 - 1) - ???????? ??? ???????????? ???????? ??????????? ??????. ???????? ?????????? ??? ????? ????????? ???????????? ?? O(P1/2) ?????? - ???????? ?? ?????? ?? ??????????. ????? ????????? ??????? ? d-??????? ???????????, ??????? ???? ???????? d*(P1/d-1), ???????? ????? ???????????? ?? O(d*P1/d) ??????. ?? ?????? ?????? ???????????????? ??? ????'???? ?????????????? ??????? (????????? ?? ? ????????? ????????) ?? ??????? ???????????? ??????.
Малюнок 3. Двовимірна архітектура Малюнок 4. Зірка з 9 процесів.
мережевого з'єднання для 16 процесорів.
Зірка . ??????? 4. ??? ?'??????? N ???????? ?? ????????????? ???????????? ????????? ?????? ???? ? ??? ? ???????? ???? ? ?????? N-1 ?????????. ???? ? ?????????? ???? ?????? ????????, ?? ????????? ?????? ???????? N-1, ? ??????? ????? ???????? 2. ??? ??????? ????????? ???????? ?? ?????? ???????????????, ???????? ??? ???????? ????? ??????????? ???????? ???? ?????????????? ? ??? ??????? ????????? ?????????? ?? ??????????? ?????? ????????? ???? ??????????.
Малюнок 5. Бінарне дерево розміру 15.
Бінарне дерево . Малюнок 5. Деревоподібна архітектура має найменший діаметр серед всіх існуючих, який дорівнює для бінарного дерева 2lg((P+1)/2) - відстань між двома листами, шлях між якими проходить через корінь. Для k-арних дерев діаметр зменшується зі збільшенням k. Недоліком деревоподібних мереж є те, що обмін даними між процесами відбувається за лінійний час, а процес-корінь є вузьким горлом при передачі інформації.
Багатопроцесорний комп'ютер з паралельною обробкою інформації називається деревовидною машиною (tree machine) [33], якщо його процесори сполучені зв'язками так, що утворюється топологія повного бінарного дерева. Такий комп'ютер має 2d-1 процесорних елементів для деякого d, які розбиті на d рівнів, пронумерованих від 1 до d. Кожний процесор на рівні j, 1ЈjЈd, зв'язаний з єдиним процесором на рівні j-1 (батьком), та з двома процесорами на рівні j+1 (синами). Зв'язки між процесами розташовані таким чином, що безпосередньо обмінюватися інформацією можуть лише батько з сином. Єдиний процесор на першому рівні називається коренем в топології дерева, а процесори на рівні d — листами. Корінь не має батька, а листи не мають синів. На малюнку 15 зображена топологія деревовидної машини з d=4 рівнями, яка містить 24-1 = 15 процесорних елементів.
Схема з'єднання в куб . ??????? 6. ???? d - ?????????? ?????????, ?? ??? ??????? P=2d ????????. ???????? ????? ???????????? ?? ??????. ????? ???????? ???????????? ? d ????????. ij????? ???????? ?????? ???????? ????? logdP. ????? ???????? ????? ?????????????? d-???????? ???????? ?????. ???? ???????? ??? ????????? ????? ?????????, ?????????? ???? ?? ???????. ??? ????????? ?? ??????????? ?????????? ????? ???????????? ????? - ? 00...0 ?? 11...1.
Малюнок 6.Схема з'єднання в куб розміру 8.
Схема сумішно-обмінного з'єднання (shuffle - exchange). Малюнки 7а.7б. Ця архітектура мережі є однією з найкращих для паралельної обробки інформації: її діаметр приблизно дорівнює 2*lgP, кількість тактів для обміну між двома процесами - 4*lgP-3. Використовується вона в телефонних комунікаціях. Ця схема вирішує проблеми великого діаметра моделі та повільного часу обміну між двома процесами. Кожен процес з'єднується з іншими за правилом, яке визначає функція суміші для P=2*id процесорів:
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...jiji+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. ???????? ??????????? ?????? ??????????? ????????? ?????????????, ???????? ? ???????????.
Малюнок 11а. Незгорнута Малюнок 11б. Згорнута
шестикутна мережа розміру 3. шестикутна мережа розміру 3.
Зірчатий граф . Мережа, топологією якої є зірчатий граф, представлена у [35] і зображена на малюнку 12. Ця топологія є однією з найпривабливіших при розробці архітектур симетричних мереж завдяки невеликому діаметру, малій степені вершин, симетрії, та великій надійності при передачі даних. Основними напрямками робіт є вивчення топологічних властивостей зірчатого графу, питань надійності та стійкості до відмов, розробка алгоритмів [35].
Малюнок 12. Зірчатий граф S4.
Зірчатий граф розміру n, який позначається Sn, представляє собою симетричний граф степеню n-1, який має n! вершин. Кожна вершина має свій власний ідентифікаційний номер, який представляється кортежем з n елементів — перестановкою множини {1,2,...,n}. Дві вершини з'єднані зв'язком i, якщо номер однієї вершини можна буде отримати з номера другої вершини перестановкою першої (лівої) та i-тої цифри, де 1<iЈn.
Гама мережа [38] розміру N=2n складається з n+1 станів, кожний стан має N перемикачів. Кожний перемикач в проміжному стані має тип 3*3, в першому стані — 1*3, в останньому — 3*1. N входів та N виходів занумеровані від 0 до N-1 як показано на малюнку. Стани занумеровані від 0 до n зліва направо. j-ий перемикач стану k з'єднується з трьома перемикачами стану k+1 відповідно до функцій: fBk(j) = j + 2k(modN), fUk(j) = j - 2k(modN), fSk(j) = j. Ці функції визначають відповідно нижній, верхній та прямий зв'язок. Гама мережа розміру 8 подана на малюнку 13.
Омега мережа [39] розміру N=2m або N*N складається з m=log2N однакових станів і має N входів та виходів. Кожний стан містить N/2 перемикачів типу 2*2. Кожний зв'язок має свій номер, який подається у двійковому коді. На малюнку 4 зображено омега мережу розміру 8*8.
Шлях між довільними входом та виходом може бути поданий парою (s,d) де s=s0s1...sm-1 — двійкова адреса входу, d=d0d1...dm-1 — двійкова адреса виходу. Шлях однозначно визначається послідовністю s0s1...sm-1d0d1...dm-1, яку будемо називати кодом шляху. m-бітовим вікном Wi в позиції i будемо називати послідовність з m бітів яка починається з i-ої позиції в коді шляху. Тоді вікно Wi визначає шлях повідомлення що передається на i-ому стані. Наприклад для передачі інформаційного пакету з 100 в 011 код шдяху буде 100011, вікна: W0=100, W1=000, W2=001, W3=011.
?????: 1 2 3 4