1
нформационные технологии в управлении
УДК 004.724.2 + 004.272.43
РАСШИРЕННОЕ МУЛЬТИКОЛЬЦО С ДИАМЕТРОМ 2
B.C. Подлазов
Рассмотрены свойства и способ построения расширенного двумерного мультикольца с увеличенным числом узлов и наличием независимых путей между узлами.
Ключевые слова: двумерное мультикольцо, диаметр, квазиполный граф, квазиполный орграф, симметричные блок-схемы, самомаршрутизируемые пути, независимые пути.
ВВЕДЕНИЕ
В последнее время для создания системных сетей с десятками тысяч узлов и диаметром в единицы скачков применяют многопортовые полные коммутаторы с максимально большим числом портов [1—5].
Полный коммутатор1 является неотъемлемой составной частью современных системных сетей — связных подсистем многопроцессорных вычислительных систем, в частности, суперкомпьютеров.
Основные его свойствами — неблокируемость и
о
самомаршрутизируемость , т. е. бесконфликтность на произвольной перестановке пакетов при независимой их маршрутизации между портами, которые обеспечивают диаметр 14. Полный коммутатор является составной частью системных сетей со структурой сети Клоза [1], многомерного тора [2], многомерного обобщенного гиперкуба [3, 4] и двухуровневой иерархии полных графов [5].
При однокристальном исполнении число портов полного коммутатора ограничено числом контактов на кристалле. До последнего времени число
1 Полный коммутатор имеет прямые каналы (без промежуточной буферизации) между любыми своими портами и позволяет беконфликтно осуществлять произвольную перестановку пакетов параллельно между всеми портами.
2 Неблокируемость — бесконфликтность прямых каналов между абонентами (портами) на произвольной перестановке пакетов между ними.
3 Самомаршрутизируемость — возможность прокладки
прямых каналов каждым абонентом (портом) самостоятельно, т. е. независимо от других абонентов.
Строго говоря, диаметр определяется на произвольной перестановке [3, 6, 7]. Диаметр 1 означает наличие прямых бесконфликтных каналов между любыми абонентами, которые они могут проложить самостоятельно.
дуплексных портов на кристалле не превосходило 64 (коммутатор YARC Cray [1]). Это недостаток частично преодолевается, например, в сети Dragonfly [3, 5], благодаря применению распределенного полного коммутатора со структурой двумерного обобщенного гиперкуба (точнее параллелепипеда). Такую же внутреннюю структуру (рис. 1) имеет и сам коммутатор YARC [1, 4].
Сеть со структурой двумерного m-ичного гиперкуба имеет N = m сетевых узлов, содержащих полные дуплексные коммутаторы m s m и использующие r = 2(m — 1) дуплексных портов для связей между узлами (рис. 1). Она представляет собой неблокируемую самомаршрутизируемую сеть
с диаметром 15 и потому является распределенным полным коммутатором.
Такие же возможности и свойства имеет сеть со структурой двумерного m-ичного мультикольца [6, 7]. В нем (рис. 2) из каждого узла выходят наборы хордовых дуг с «длинами» {1, 2, ..., m — 1} и
{m, 2m, ..., (m — 1)m}. Он объединяет N = m сетевых узлов, каждый из которых содержит m-порто-вые полные дуплексные коммутаторы и использует r = 2(m — 1) дуплексных портов для связей между узлами. Указанные мультикольцо и гиперкуб различаются только схемами инцидентности каналов и узлов [7].
Позже был найден еще один способ построения распределенного полного коммутатора [7—12] в виде сети с топологией квазиполного графа, в котором таблица смежности узлов задается некоторой симметричной блок-схемой [13]. Для таких
Любая неблокируемая самомаршрутизируемая сеть имеет диаметр 1, так как передача пакетов в ней осуществляется по прямым путям только с комбинационными задержками (без буферизации пакетов), что и дает право называть такую сеть распределенным полным коммутатором.
Рис. 1. Двумерный троичный гиперкуб
блок-схем имеется развитая математическая теория, описывающая главным образом условия их существования. Построение же этих блок-схем осуществляется в основном переборными методами, что затрудняет их нахождение для сетей с большим числом узлов [7, 10].
Квазиполный граф6 — это однородный двудольный граф, каждую долю которого составляют N узлов степени т. Значение т выбирается минимальным (при фиксированном при котором любые два узла в одной доле связаны 1 < ст < т прямыми путями длины 2, проводя разные пути через разные узлы в другой доле. Если такой граф существует, то его параметры связаны соотношени-
ем N = т(т — 1)/ст + 1. На рис. 3 представлена сеть с топологией квазиполного графа с двумя путями между узлами одной доли.
Квазиполный граф дает единый способ построения распределенных полных коммутаторов с заданной степенью резервирования составляющих его каналов и коммутаторов, при котором ст задает число независимых путей в сети между любыми двумя ее абонентами.
При схемной реализации квазиполного графа узлы одной его доли являются дуплексными т-портовыми коммутаторами, другой — т-порто-выми абонентами, а ребра — дуплексными каналами. Абоненты и коммутаторы с одинаковыми номерами составляют единый сетевой узел, который содержит г = 2(т — 1) сетевых (внешних) портов.
Более детальное исследование схем связей гиперкубов и мультиколец показало [7], что они имеет топологию квазиполного орграфа.
Квазиполный орграф определяется только при ст = 1. Квазиполный орграф — это однородный двудольный граф, каждую долю которого составляют N узлов степени т. Значение т выбирается минимальным, при котором любые два узла в одной доле связаны прямым путем длины 2 через некоторый узел в другой доле.
Такой орграф всегда существует, и его параметры связаны соотношением N = т . На рис. 4 дан
Рис. 3. Сеть с топологией квазиполного графа при т = 4 и ст = 2
6 Термин квазиполный граф означает «почти как полный граф» по свойству существования и построения прямых бесконфликтных путей между узлами.
Рис. 4. Квазиполный орграф, полученный из мультикольца на рис. 2
пример квазиполного орграфа, полученный из двумерного троичного мультикольца.
При этом остается непонятным, почему топология квазиполного орграфа не обеспечивает возможности иметь несколько прямых путей между узлами. Может, все дело в ограниченности самого способа построения двумерных мультикольца и обобщенного гиперкуба, при котором дуги задаются в т-ичной системе счисления?
В данной работе предлагается новый способ построения двумерных мультиколец, который позволяет иметь большее число узлов и несколько независимых каналов при том же числе портов в узлах, как и в случае двумерных т-ичных мультико-лец. Эти новые мультикольца совмещают свойства сетей с топологией квазиполных графа и орграфа благодаря отказу от т-ичности в последнем, т. е. от представления длин дуг значениями разрядов т-ичной системы счисления. Платой за это служит увеличение диаметра мультикольца с 1 до 27.
1. ПОСТАНОВКА ЗАДАЧИ И ПОЛУЧЕННЫЕ РЕШЕНИЯ
Пусть имеется коммутируемое мультикольцо [6] с N узлами степени г, состоящее из набора г
колец с шагами = 1, 1£,..., г- где lS ф ■/'£. По определению мультикольца [6] это означает, что из каждого узла выходят г дуг с «длинами» = 1, ..., г ^ где длина дуги определяется разницей по modN номеров инцидентных ей узлов. Будем характеризовать такое мультикольцо набором Сг
длин дуг Сг = (°£, ..., г ) и задавать его парой Сг|.
Мультикольцо {Ж, Сг} является двумерной сетью, если любые два узла соединяет хотя бы один путь длиной не больше 2, т. е. по одной дуге или по двум дугам через один промежуточный узел. Эта сеть содержит а независимых каналов, если между любыми двумя узлами существует не менее а (1 < а < г/2) разных путей с длиной не больше 2. Такое мультикольцо мы называем расширенным мультикольцом и задаем тройкой {а, Ж, Сг}. Как видно из определения расширенного мультикольца, его диаметр равен 2. На рис. 5 дан пример мультикольца для г = 3 и а = 1.
В табл. 1 приведена схема маршрутизации для мультикольца на рис. 5.
Здесь сразу возникает вопрос о существовании и построении расширенного кольца {а, Ж, Сг}, от-
7 Диаметр 2 означает, что произвольная перестановка не может быть целиком реализована с использованием прямых каналов, т. е. на части маршрутов могут возникать конфликты, и для их разрешения потребуется блокировка и буферизация части пакетов.
Рис. 5. Расширенное неблокируемое мультикольцо {ст = 1, N = 8,
сг = 3 = (1, 3, 4)}
вет на который следует из ответов на ряд подчиненных вопросов. Существует ли при заданных N и а такое минимальное г *, при котором расширенное кольцо существует? Какое максимальное число узлов N * достигается в таком мультикольце при заданных г и а? Какой вид имеет Сг в мультикольце {а, N*, Сг}?
У автора нет теоретических ответов на поставленные вопросы. Задача решалась экспериментальным путем посредством поиска ответа на два последних вопроса в результате численного моделирования, сводящегося к переборному построению Сг при заданных г и а. Способ ее решения рассматривается в § 2.
Здесь же представляются некоторые предварительные результаты, полученные на ограниченных вычислительных мощностях (персональном компьютере). Они могут измениться, но только в сторону увеличения N *.
В табл. 2 приведены найденные значения N *(г) для ряда малых г при а = 1. Две верхние строки приводят N *(г) для расширенного мультикольца, а две нижние — ^т) для квазиполного орграфа (для двумерного т-ичного мультикольца с той же степенью сетевых узлов г), где г = 2(т — 1).
Таблица 1
Маршрутизация в {а = 1, N = 8, Сг=3 = (1, 3, 4)}
Длина 1 2 3 4 5 6 7
маршрута
Маршрут 1 1 + 1 3 4 1 + 4 3 + 3 3 + 4
по дугам
Таблица 2
Число узлов для расширенного мультикольца N* при s = 1 и квазиполного орграфа N
Таблица 3
Число узлов расширенного мультикольца N* и квазиполного графа N для некоторых s при N = m(m - 1)/s + 1
В каждой строке первый столбец содержит номер узла-приемника, в который входят дуги, исходящие из узлов источников, номера которых перечисляются в остальных ячейках строки. Каждый столбец в таблице А{^ г} представляет собой циклическую последовательность 1, 2, ..., N смещенную вниз на длину дуги между источником и приемником, т. е. на число, задаваемое Сг. Поэтому значения в Сг задаются как разница номеров строк в таблице А{Д г}, содержащих 1 в столбцах источников и столбце приемника.
В таблице А{Д г} параметр а явным образом не задается, но учитывается при построении таблиц А г}, задающих расширенные мультикольца для разных а.
Каждой таблице А{Ж, г} ставятся в соответствие матрицы Nх N смежности приемников и источников А и числа путей между ними О. Последняя за-
'у
дается как О = А + А . Для этих матриц узлы тра-
r 4 5 6 7 8 9 10 12 14 16
а = 2 N* 7 11 16 21 27 33 42 53 69 89
m 3 — 4 — 5 — 6 7 8 9
N 4 — 7 — 11 — 16 21 27 37
r 4 5 6 7 8 9 10 12 14 16
а = 3 N* 6 11 13 15 19 24 29 37 49 61
m 3 — 4 — 5 — 6 7 8 9
N 3 — 5 — 7 — 11 15 18 23
а = r/2 r 4 5 6 7 8 9 10 12 14 16
N* 7 — 11 — 15 19 23 27 31
а = m/2 m 3 4 5 6 7
N 3 — 5 — 6 — 7 — 8 —
r 3 4 5 6 7 8 9 10 12 14 16
N* 9 13 19 21 30 35 43 51 65 85 108
m — 3 — 4 — 5 — 6 7 8 9
N — 9 — 16 — 25 — 36 49 64 81
Примечание. Здесь N*(a, r) получено перебором, а N = m2 при r = 2(m — 1).
Видно, что при г > 5 имеет место соотношение 1,3Дт) < N*(г) < 1,4Дт).
В табл. 3 приведены значения N *(г) для ряда малых г при а = 2, а = 3 и а = г/2 при одинаковой степени сетевых узлов. Видно, что при указанных а имеет место соотношение N*(г) > 2М(т).
Сравним сетевые узлы расширенного мультикольца и т-ичного мультикольца. Они представлены на рис. 6 и 7 соответственно.
Сложность узла расширенного мультикольца Sr
оценивается при а = 1 соотношением < г /2 + 3г, если учесть, что в коммутаторе не нужно иметь одновременное соединение /-го входа с у-м выходом и у-го входа с /-м выходом. Сложность узла т-ичного мультикольца задается соотноше-
2 2 нием Бт = т + 2т = (г/2 + 1) + г + 2. Поэтому
< 2^т, т. е. расширенное мультикольцо имеет не более чем вдвое большую сложность сетевых узлов.
2. СПОСОБ РЕШЕНИЯ
Расширенное мультикольцо с узлами степени г и их числом N описывается таблицей смежности А{Д г} с N строками и г + 1 столбцами (табл. 4).
Рис. 6. Сетевой узел расширенного мультикольца: А — абонент
Рис. 7. Сетевой узел m-ичного мультикольца: А — абонент
Таблица 4
Табилца смежности А* (8, 3) для мультикольца {1, 8, (1, 3, 4)} на рис. 5
Приемник Источники
1 8 6 5
2 1 7 6
3 2 8 7
4 3 1 8
5 4 2 1
6 5 3 2
7 6 4 3
8 7 5 4
диционно задаются номерами на единицу меньше, чем в таблице A{N, г}, т. е. числами 0, 1, ..., N — 1.
Таблица A{N, г} задает расширенное мульти-кольцо с а путями, если значение каждой ячейки О. ■ удовлетворяет условию О. . > а, т. е. является числом, не меньше а. Такую таблицу A{N, г} будем обозначать как A *{N *, г}.
Поиск расширенных мультиколец для заданных N*, г и а состоит в переборе всех разных таблиц A{N *, г} и выделении из них тех, которые удовлетворяют условию О. . > а для всех 0 < i, j < N * — 1.
Однако этот поиск осложняется тем, что при заданных г и а число N * заранее неизвестно. Поэтому поиск решений начинается с N = 2(г/2)2 + г, для которого ищутся таблицы A *, г}. Если их нет, то N * уменьшается на 1, и поиск таблиц A *, г} повторяется. Поиск решений завершается на том N *, для которого найдется хотя бы одна таблица A *, г}. Обычно находится множество таких таблиц.
Переборный поиск решений представляет собой NP-трудную по г задачу. Для г < 10 на персональном компьютере удалось найти все решения, т. е. построить все таблицы A *, г}. Для четных г > 10 потребовалось сокращение перебора путем поиска только симметричных решений, в которых сумма длин /-й и (г + 1 — /)-й дуг равна N*. Это позволило найти все симметричные решения в диапазоне 10 < г < 16. По нашей оценке для поиска всех симметричных решений в области 18 < г < 24 необходимы кластерные системы с сотнями процессорных ядер, а в области г > 24 — с тысячами и десятками тысяч ядер.
3. НЕКОТОРЫЕ РАСШИРЕННЫЕ МУЛЬТИКОЛЬЦА
В табл. 5 для каждого г приводится одно решение (первое найденное) при а = 1, в табл. 6 — при а = 2 и в табл. 7 — при а = 3.
4. ПРИМЕНЕНИЕ РАСШИРЕННОГО МУЛЬТИКОЛЬЦА
Для расширенных мультиколец с четным г всегда существуют симметричные наборы Сг. В частности, для г = 8 и N * = 35 это С8 = (1, 6, 7, 10, 28, 29, 34). Такой набор 8-ми симплексных колец мо-
Таблица 5
Расширенные мультикольца (1, С)
г И* С г
3 9 (1, 3, 4)
4 13 (1, 5, 8, 12)
5 19 (1, 3, 12, 14, 15)
6 21 (1, 3, 4, 8, 9, 11)
7 30 (1, 3, 9, 11, 12, 16, 26)
8 35 (1, 3, 5, 6, 16, 17, 24, 25)
9 43 (1, 3, 4, 9, 15, 22, 25, 32, 38)
10 51 (1, 4, 11, 14, 20, 31, 37, 40, 47, 50)
12 65 (1, 3, 5, 14, 23, 30, 35, 42, 51, 60, 62, 64)
14 85 (1, 3, 5, 12, 25, 26, 41, 44, 59, 60, 73, 80, 82, 84)
16 108 (1, 3, 5, 12, 26, 27, 45, 46, 62, 63, 81, 82, 96, 103, 105, 107)
Таблица 6
Расширенные мультикольца (2, С)
г И* Сг
4 9 (1, 5, 6, 7)
5 11 (1, 3, 4, 5, 9)
6 16 (1, 3, 4, 8, 9, 11)
7 21 (1, 3, 4, 6, 8, 11, 12)
8 27 (1, 3, 6, 13, 14, 21, 24, 26)
9 33 (1, 3, 4, 9, 18, 23, 24, 26, 30)
10 42 (3, 6, 7, 12, 14, 28, 30, 35, 36, 39)
12 53 (1, 3, 6, 9, 19, 20, 33, 34, 44, 47, 50, 52)
14 69 (1, 3, 4, 7, 13, 23, 28, 41, 46, 56, 62, 65, 66, 68)
16 89 (1, 3, 4, 9, 14, 28, 30, 39, 50, 59, 61, 75, 80, 85,
86, 88)
Таблица 7
Расширенные мультикольца (3, С)
г И* Сг
5 9 (1, 3, 4, 5, 7)
6 11 (1, 3, 4, 5, 6, 8)
7 15 (1, 3, 4, 5, 6, 7, 13)
8 19 (1, 3, 4, 5, 7, 8, 9, 17)
9 24 (1, 3, 4, 5, 9, 12, 16, 19, 23)
10 29 (1, 3, 8, 11, 12, 17, 18, 21, 26, 28)
12 37 (1, 3, 4, 9, 11, 17, 20, 26, 28, 33, 34, 36)
14 49 (1, 3, 4, 9, 14, 19, 21, 28, 30, 35, 40, 45, 46, 48)
16 61 (1, 3, 4, 11, 16, 17, 25, 27, 34, 36, 44, 45, 50,
57, 58, 60)
жет быть представлен также как набор 4-х дуплексных колец с шагами C8 = (±1, ±6, ±7, ±10). Аналогично для r = 16 и N * = 108 (см. табл. 6) это набор 8-ми дуплексных колец с шагами C16 = (±1, ±3, ±5, ±12, ±26, ±27, ±45, ±46).
В расширенных мультикольцах пакеты можно коммутировать в режиме «на лету» (cut-through). В этом режиме любой узел осуществляет анализ адресной части поступающего пакета, и он (пакет) коммутируется на выходной канал, только если нет собственного пакета для передачи в этот же канал. В противном случае передается собственный пакет, а поступающий пакет блокируется и буферизуется. Режим «на лету» обеспечивает минимальные задержки коммутации. В частности, для m-ичных мультиколец задержки будут сопоставимы с задержками в методе червоточины с прокладкой прямых путей, который обычно применяется в неблокируемых сетях.
Применение расширенных мультиколец с несколькими независимыми каналами (ст > 1) позволяет повышать пропускную способность мультиколец, не уменьшая числа узлов в них, благодаря увеличению числа портов r на 2 при увеличении ст на 1. Правильность этого утверждения прямо следует из сравнения табл. 5, 6, и 7.
ЗАКЛЮЧЕНИЕ
Рассмотренный способ построения сетей с топологией расширенного мультикольца позволяет строить коммутаторы с большим число абонентов, чем в коммутаторах с топологией квазиполных графа и орграфа, и иметь несколько независимых каналов между узлами. Указанные возможности достигаются благодаря увеличению диаметра мультикольца с 1 до 2.
Область применения расширенных мультиколец — реализация отдельных измерений в многомерных обобщенных торах с небольшим диаметром. Например, двумерный тор с реализацией измерений в виде расширенных мультиколец с 16 портами в узлах будет содержать R = N*2 = = 11 664 узлов с 32 сетевыми портами в каждом узле и иметь диаметр 4.
Для сравнения сеть Dragonfly [3] имеет близкое число узлов с 40 сетевыми портами в каждом узле. Она имеет структуру 4-мерного обобщенного гиперкуба, в котором 2 младших и 2 старших измерения имеют структуру распределенных полных коммутаторов. Для этой сети существуют такие перестановки, полная реализация которых требует 4-х скачков. Поэтому сеть Dragonfly по задержкам имеет плавающий диаметр в диапазоне 2+4.
С другой стороны, двумерный тор с реализацией измерений в виде расширенных мультиколец с 18 портами в узлах будет иметь сходное число уз-
лов и 2 независимых канала между любыми узлами. Если разбить пакеты на две части и передавать их параллельно по этим каналам, то быстродействие сети повысится вдвое. В сети ^га^оиДу аналогичная возможность имеется для одних узлов за счет других узлов.
Опять же, двумерный тор с реализацией измерений в виде расширенных мультиколец с 20 портами в узлах будет иметь сходное число узлов и 3 независимых канала между любыми узлами, т. е. втрое большее быстродействие.
ЛИТЕРАТУРА
1. Scott S., Abts D., Kim J. and Dally W. The black widow high-radix Clos network // Proc. 33rd Intern. Symp. Comp. Arch. (ISCA'2006). — URL: http://cva.stanford.edu/people/ jjk12/isca06.pdf (дата обращения 29.05.2015).
2. Alverson R., Roweth D. and Kaplan L, Cray Inc. // The Gemini System Interconnect // 18th IEEE Symp. on High Performance Interconnects. — 2009. — P. 83—87.
3. Alverson R., Roweth D., Kaplan L. and Roweth D. Cray XC® Series Network — URL: http://www.cray.com/Assets/PDF/products/ xc/CrayXC30Networking.pdf (дата обращения 29.05.2015).
4. Kim J., Dally W. J., Scott S. and Abts D. Technology-driven, highly-scalable dragonfly topology // Proc. of the 35th annual international symposium on computer architecture. (ISCA'2008). — P. 77—88.
5. Arimili B., Arimili R., Chung V., et al. The PERCS High-Performance Interconnect // 18th IEEE Symposium on High Performance Interconnects. — 2009. — P. 75—82.
6. Алленов А.В., Подлазов В.С. Пропускная способность набора кольцевых каналов II. Кольцевые коммутаторы // Автоматика и телемеханика. — 1996. — № 4. — С. 162—172.
7. Каравай М.Ф., Подлазов В.С. Распределенный полный коммутатор как «идеальная» системная сеть для многопроцессорных вычислительных систем // Управление большими системами. — 2011. — Вып. 34. — С. 92—116.
8. Подлазов В. С., Соколов В.В. Однокаскадные коммутаторы большой размерности для многопроцессорных и многомашинных вычислительных систем // Проблемы управления. — 2006. — № 6. — С. 19—24.
9. Николаев А.Б., Подлазов В.С. Отказоустойчивое расширение системных сетей многопроцессорных вычислительных систем // Автоматика и телемеханика. — 2008. — № 1. — С. 162—170.
10. Каравай М.Ф., Пархоменко П.П., Подлазов В.С. Комбинаторные методы построения двудольных однородных минимальных квазиполных графов (симметричных блок-схем) // Автоматика и телемеханика. — 2009. — № 2. — C. 153—170.
11. Каравай М.Ф., Подлазов В.С. Метод инвариантного расширения системных сетей многопроцессорных вычислительных систем. Идеальная системная сеть // Автоматика и телемеханика. — 2010. — № 12. — C. 166—176.
12. Каравай М.Ф., Подлазов В.С. Расширенные блок-схемы для идеальных системных сетей // Проблемы управления. — 2012. — № 4. — C. 45—51.
13. Холл М. Комбинаторика. — М.: Мир, 1970. — 424 с. — Гл. 10—12.
Статья представлена к публикации членом редсовета
чл.-корр. РАНП.П. Пархоменко.
Подлазов Виктор Сергеевич — д-р техн. наук,
гл. науч. сотрудник, Институт проблем управления
им. В.А. Трапезникова РАН, г. Москва, И podlazov@ipu.ru.