УДК 004.724.2 + 004.272.43 РС!: http://doi.org/10.25728/pu.2020.3.7
ОТКАЗОУСТОЙЧИВЫЙ НЕБЛОКИРУЕМЫЙ ТРЕХМЕРНЫЙ РАЗРЕЖЕННЫЙ ГИПЕРКУБ
В.С. Подлазов
Аннотация. Предложена системная сеть в виде неблокируемого отказоустойчивого трехмерного обобщенного р-ичного гиперкуба с одним процессором в каждом узле гиперкуба. В любой неблокируемой сети данные между абонентами передаются с наименьшими задержками по прямым каналам без промежуточной буферизации. Отмечено, что сети с топологией обобщенного гиперкуба имеют наименьшие длины прямых каналов и наименьшие задержки передачи. Разработана структура этого гиперкуба на базе сетей с топологией квазиполного графа, которая позволяет разменивать число абонентов на число разных прямых каналов между любыми абонентами и задавать канальную и узловую отказоустойчивость сети. Даны параметры квазиполных графов, существующих при любой р-ичности гиперкуба. В результате предложена структура сети в виде разреженного р-ичного гиперкуба с числом узлов несколько меньшим, чем в обычном р-ичном гиперкубе. Разреженный гиперкуб разработан как отказоустойчивая системная сеть для однокристального процессора-ускорителя с несколькими сотнями ядер. Разработаны процедура и алгоритм прокладки бесконфликтных прямых каналов посредством динамической локальной самомаршрутизации пакетов, при котором узлы не взаимодействуют друг с другом и используют только расширенную маршрутную информацию из пакетов.
Ключевые слова: системная сеть, квазиполный граф, обобщенный гиперкуб, канальная отказоустойчивость, коммутационные свойства, неблокируемая сеть, бесконфликтные прямые каналы, локальная динамическая самомаршрутизация.
ВВЕДЕНИЕ
Данная статья продолжает серию работ автора по созданию самомаршрутизируемых неблокируе-мых системных сетей для многопроцессорных вычислительных систем [1—3]. Эти сети обладают наибольшим быстродействием, так как передача данных в них ведется по прямым каналам без промежуточной буферизации.
Исходно эти сети имели топологию квазиполных графа или орграфа [1, 2] и обладали квадратичной зависимостью числа узлов от их степени. Самомаршрутизация в этих сетях статическая, при которой любой источник самостоятельно прокладывает весь бесконфликтный путь к приемнику для произвольной перестановки пакетов данных между узлами. Главный недостаток этих сетей — малое число узлов в них. Топологию квазиполного орграфа имели сети в виде 2-мерного обобщенного гиперкуба и 2-мерного полного мультиколь-ца [2].
Обобщенный г-мерный р-ичный гиперкуб [4] со степенью узлов т = гр и числом узлов N = рг
применяется как системная сеть в некоторых современных многопроцессорных вычислительных системах [5]. В работе [3] на базе 2-мерного гиперкуба был построен неблокируемый 3-мерный р-ичный гиперкуб, для которого был предложен алгоритм динамической локальной самомаршрутизации. Он позволяет параллельно прокладывать бесконфликтные пути при произвольной перестановке пакетов данных между узлами на основе только локальной информации в промежуточных узлах без взаимодействия между ними.
Полное r-мерное р-ичное мультикольцо также
имеет N = pr узлов со степенью m = rp. В работе [3] на базе 2-мерного мультикольца было построено неблокируемое 3-мерное р-ичное мультикольцо, алгоритм динамической локальной самомаршрутизации в котором имел те же свойства, что и в гиперкубе. Эта работа была ориентирована на проектирование сетей для однокристальных процессоров-ускорителей с кольцевыми каналами типа Cell, Xion Phy или ПС2100, в которых необходимо иметь сотни и тысячи ядер.
Рис. 1. Квазиполный граф с N=
мутаторы
7, р = 4 и о = 2: квадраты — ком-
К сожалению, сети с топологией квазиполных орграфов не имеют изначальных (врожденных) свойств обеспечения их отказоустойчивости. Тогда как сети с топологией квазиполного графа таким свойствами обладают — в них возможно создание конфигураций с несколькими (двумя, тремя и более) разными путями между любыми двумя узлами. Поэтому в работе [3] была поставлена задача создания на базе р-ичного квазиполного графа отказоустойчивой 3-мерной неблокируемой сети с числом узлов Я = 0(р ) и с наличием ст разных прямых путей между узлами.
В настоящей статье предлагается структура расширенного по каналам 3-мерного р-ичного гиперкуба, который образует неблокируемую системную сеть с канальной отказоустойчивостью заданного порядка. Для этой сети предложен алгоритм динамической самомаршрутизации пакетов, который прокладывает бесконфликтные пути на основе расширенной маршрутной информации локально по узлам сети.
Структура работы. Во Введении обосновывается актуальность построения отказоустойчивых неблокируемых гиперкубов, так как ранее построенные неблокируемые гиперкубы и мультикольца не обладали канальной отказоустойчивостью. В § 1 вводятся такие основные понятия, как квазиполный граф, плоская сеть и бесконфлитктная самомаршрутизация. В § 2 дается новое основное понятие данной статьи, а именно 3-мерный разреженный гиперкуб из плоских сетей. Даются структуры гиперкуба и составляющих его плоских сетей. В § 3 объясняется, как в построенном гиперкубе осуществляется отказоустойчивая самомаршрутизация по разным путям через плоские сети. В § 4 объясняется, как в такой топологии сети организуется неблокируемая самомаршрутизация. Обоснование неблокируемости требует введения дополнительных параллельных каналов в структуру гиперкуба и рассмотрения методов разрешения на
их основе двух типов возникающих конфликтов. Наконец, в § 5 описывается алгоритм неблокируемой самомаршрутизации, который можно непосредственно реализовывать в коммутаторах сети. Алгоритм использует передаваемую в пакетах м ар-шрутную информацию динамически локально по узлам, т. е. в процессе прокладки бесконфликтных путей. В Заключении отражены основные результаты статьи.
1. НЕБЛОКИРУЕМАЯ ОТКАЗОУСТОЙЧИВАЯ СЕТЬ С ТОПОЛОГИЕЙ КВАЗИПОЛНОГО ГРАФА
Квазиполный граф представляет собой минимальный двудольный граф, одну долю которого составляют узлы-абоненты, а другую — узлы-коммутаторы (рис. 1). Степень всех узлов в каждой доле одинакова и равна р. Число вершин в каждой доле N, перенумерованных от 0 до N — 1, задается равенством N=р(р — 1)/ст + 1 [6], где ст задает ч ис-ло разных путей между любыми двумя абонентами. Каждый такой путь имеет длину в 2 ребра через один и только один коммутатор. Каждое ребро представляет собой две встречных дуги — от абонента к коммутатору и обратно.
Схемы соединений между коммутаторами и абонентами задаются, например, в табл. 1. В каждой строке первая ячейка задает номер коммутатора, а остальные ячейки — номера абонентов, связанных с данным коммутатором ребром в виде дуплексного канала (двух встречных симплексных каналов).
Если объединить одноименные коммутатор и абонента квазиполного графа в одном сетевом узле, то мы получим плоскую сеть ПС(^ р, ст). Она является неблокируемой сетью с бесконфликтной статической самомаршрутизацией и обладает (ст — 1)-канальной отказоустойчивостью при ст > 1 (рис. 2).
Самомаршрутизация в ПС(^ р, ст) осуществляется по схеме соединений (см. табл. 1) с помощью номеров узлов абонента-источника и абонента-приемника. В таблице находятся номера комму-
Таблица 1
Схемы соединений в двух квазиполных графах
Коммутаторы
N = 7 р = 3, ст = 1
Абоненты
N = 7 р = 4, ст = 2
Абоненты
Рис. 2. Неблокируемые сети: а — ПС(7, 3, 1); б — ПС(7, 4, 2)
таторов, связанных дуплексными каналами с абонентами-приемниками. Среди этих коммутаторов находится тот, который связан таким же каналом с абонентом-источником. По свойствам квазиполных графов таких коммутаторов ст.
На самом деле, каждая таблица соединений представляет собой одну из неполных уравновешенных симметричных блок-схем BD(N, p, ст), исследуемых в комбинаторике [7]. Они существуют и, тем более, построены не для всех значений па-
Таблица 2 Число элементов в блок-схемах БО(Ы, р, а)
Таблица 3
Число элементов N в блок-схемах BD(N, p, s) и N* в 1-расширенных блок-схемах BD(N*, p, sis + 1)
раметров p и ст. В табл. 2 приведены значения N для блок-схем при малых значениях этих параметров. Пустые клетки отмечают блок-схемы, которые не существуют по определению. Прочерки в клетках отмечают блок-схемы, которые не могут существовать по теории, а перечеркнутые значения отмечают блок-схемы, которые еще не построены.
Необходимость построения отказоустойчивых сетей ПС(^ p, ст) требует некоторого эффективного заполнения пустых клеток в табл. 2. Для этого в работе [8] были предложены и построены 1-рас-ширенные блок-схемы BD(N*, p, ст|ст + 1), задающие таблицы соединений для 1-расширенных плоских сетей ПС(Ж", p, ст|ст + 1), в которых малая часть абонентов связаны ст + 1 разными путями, а остальные — точно ст разными путями. Значения N и N* числа узлов в упомянутых блок-схемах приведены в табл. 3, где последние выделены подчеркиванием.
2. ТРЕХМЕРНЫЙ РАЗРЕЖЕННЫЙ ГИПЕРКУБ ИЗ ПЛОСКИХ СЕТЕЙ
Пусть имеется сеть из N узлов с номерами (хр х2, ..., х^, где х1 е [0, ^ — 1]. Следом 1(х) узла х{ считается остаток от деления его номера на N. Такая сеть считается плоской, если в ней любые два узла со следами ¿(х;) и ^х) объединяются такими
I 3
же ребрами (учетом абонентов и коммутаторов), как узлы с теми же следами в сети ПС(^ р, ст).
а р
3 4 5 6 7 8 9 10 11 12
1 7 11 21 31 39 57 73 91 95 133
2 4 7 11 15 21 27 37 42 51 63
3 3 5 7 11 15 19 23 29 36 43
р
а
3 4 5 6 7 8 9 10 11 12
1 7 11 21 31 — 57 73 91 44+ 133
2 4 7 11 16 — — 37 — -56 —
3 3 5 11 15 25 31 45
Рис. 3. Разреженный троичный гиперкуб с плоскими сетями на Рис. 4. Разреженный троичный гиперкуб из плоских сетей на плоскостях ЖУ1 плоскостях ЖУ1 и XZj
Иначе говоря, плоскими мы считаем сети, изоморфные сети ПС(^ р, ст).
Шаблоном Т плоской сети с номерами узлов (хр х2, ..., х^) мы называет набор (множество) их следов Т = {¿(х^, ¿(х2), ..., ¿(х^)}.
Построим трехмерный р-ичный гиперкуб [3], каждая плоскость ХУ и Хг которого содержит плоские сети из р узлов, с единым шаблоном Т сетей ПС(^ р, ст) или ПС(Ж", р, ст|ст + 1). Не снижая общности, построение будем вести на примере ПС(7, 3, 1) (см. табл. 1), в которой номера узлов и их следы совпадают. В дальнейшем всегда будем применять обозначение ПС(^ р, ст), даже если используется ПС(Ж", р, ст|ст + 1).
Будем размещать на вертикальных плоскостях ХУ, 1 < I < р, гиперкуба плоские сети, узлы которых имеют номера ху + ^ 0 < у < р — 1, и размещены на плоскостях одинаково по следам у. В результате мы получим разреженный гиперкуб с Я = Щ узлами (рис. 3). На рис. 3 узлы на вертикальных плос-
Таблица 4
Размещение ПС(7, 3, 1) по плоскостям ХУ и XI
Т g ХУ1 ХУ2 ХУ3 g Щ Х22 Хг,
0 0 7 14 0 7 14
1 1 1 8 15 1 1 8 15
2 2 9 16 2 9 16
3 3 10 17 17 3 10
4 2 4 11 18 2 18 4 11
5 5 12 19 12 19 5
6 3 6 13 20 3 13 20 6
костях обозначаются как }(х(^ + щ), а штриховые линии только выделяют вертикальные плоскости (это не ребра между узлами).
Теперь перераспределим узлы между горизонтальными плоскостями Хг, 1 < У < р, не меняя их принадлежность к вертикальным плоскостям ХУ1 (рис. 4), так чтобы в во всех них (как ХУ, так и Хг)
I )
были плоские сети из N узлов, т. е. с шаблоном сети ПС(^ р, ст). На рис. 4 штриховые линии окон-туривают горизонтальные плоскости (это не ребра между узлами).
Процедура перераспределения узлов при ст = 1 состоит в следующем. Все узлы плоских сетей на вертикальных плоскостях ХУ разбиваются на р групп с номерами g. Первая группа состоит из х узлов, а остальные — из у узлов, где х + у(р — 1) = N (левая часть табл. 4 при р = 3). Такое разбиение й по группам будем задавать парой (х, у), которая при ст = 1 является парой (р, р — 1). Номера узлов группы g в плоскостях ХУ сдвигаются циклически на g — 1 ячеек вправо, образуя при этом таблицы плоских сетей на плоскостях Х2 (правая часть табл. 4).
При произвольном р плоские сети в плоскостях Х2 строятся аналогично (табл. 5).
Построение плоских сетей для плоскостей Хг при ст > 1 осуществляется аналогично. В табл. 6 приведен пример для р = 4 и ст = 2. Здесь первая группа состоит из одного узла, а остальные — из двух узлов, т. е. разбиение й по группам задается парой (1, 2).
Разбиение й по группам для остальных сетей ПС(^ р, 2) задается табл. 7, а для сетей ПС(^ р, 3) — табл. 8.
В заключение данного параграфа рассмотрим табл. 9, задающую число узлов в построенных трехмерных разреженных гиперкубах. В ней подчеркнутые значения относятся к гиперкубам, построенным на 1-расширенных плоских сетях
Размещение ПС(Я, p,
ПС(Ж", p, ст|ст + 1), в которых N* < N. Остальные значения задаются формулой R(p, ст) = N(p, ст)р, т. е. R(p, 1) = p3 - p2 + p, R(p, 2) = p3/2 - p2/2 + p и R(p, 3) = p3/3 - p2/3 + p.
Таблица 5
1) по плоскостям XZ
Т g Щ XZ2 XZ3 xz4 xzp
0 p- 1 1 0 p - 1 N N + p - 1 2N 2N + p - 1 3N 3N + p - 1 (p - 1)N (p - 1)N + p - 1
p 2p - 2 2 (p - 1)N + p (p - 1)N + 2p - 2 p 2p - 2 N + p N + 2p - 2 2N + p 2N + 2p - 2 (p - 2)N + p (p - 2)N + 2p - 2
2p - 1 3p - 3 3 (p - 2)N + 2p - 1 (p - 2)N + 3p - 3 (p - 1)N + 2p - 1 (p - 1)N + 3p - 3 2p - 1 3p - 3 N + 2p - 1 N + 3p - 3 (p - 3)N + 2 - 1p (p - 3)N + 3p - 3
3p - 2 4p - 4 4 (p - 3)N + 3p - 2 (p - 3)N + 4p - 4 (p - 2)N + 3p - 2 (p - 2)N + 4p - 4 (p - 1)N + 3p - 2 (p - 1)N + 4p - 4 3p - 2 4p - 4 (p - 4)N + 3p - 2 (p - 4)N + 4p - 4
(p - 1)2 + 1 p2 ' - p p p2 + N - 1 p2 - p + N p2 + 2N - 1 p2 - p + 2N1 p2 + 3N - 1 p2 - p + 3N p2 + 4N - 1 p2 - p + 4N p2 - 1 p2 - p
Таблица 6
Размещение ПС(7, 4, 2) по плоскостям XY и XZ
T g XY1 XY2 XY3 xy4 g XZ1 XZ, XZ3 XZ4
0 1 0 7 14 21 1 0 7 14 21
1 1 8 15 22 2 22 1 8 15
2 2 2 9 16 23 23 2 9 16
3 3 10 17 24 3 17 24 3 10
4 3 4 11 18 25 18 25 4 11
5 4 5 12 19 26 4 12 19 26 5
6 6 13 20 27 13 20 27 6
Таблица 7
Размещение по группам для плоских сетей, изоморфных ПС(Я, р, 2)
p 4 5 6 7 8 9 10 11 12
N 7 11 15 21 27 37 42 51 63
d (1, 2) (3, 2) (3, 2) (3, 3) (6, 3) (5, 4) (6, 4) (1, 5) (8, 5)
Таблица 8
Размещение по группам для плоских сетей, изоморфных ПС(Я, р, 3)
p 4 5 6 7 8 9 10 11 12
N 5 7 11 15 19 23 29 36 43
d (2, 1) (3, 1) (1, 2) (3, 2) (5, 2) (7, 2) (2, 3) (6, 3) (10, 3)
Таблица 9
Число узлов Я(р, а) в трехмерных разреженных гиперкубах
ст р
3 4 5 6 7 8 9 10 11 12
1 21 44 105 186 273 456 657 910 1045 1596
2 12 28 55 90 147 216 333 420 561 756
3 9 20 35 66 105 152 207 290 396 516
Пути между любыми абонентами в плоскостях ХУ и Хг состоят из двух дуг, проходящих через промежуточный коммутатор (рис. 5) — выходная дуга О от абонента-источника к коммутатору и входная дуга I от коммутатора к абоненту-прием-
Рис. 6. Секущие ребра Ыш в троичном гиперкубе
нику. Выходная дуга принадлежит обеим плоскостям и может обозначаться как Оили ОХг, в зависимости от контекста (способа маршрутизации). В дальнейшем употребляется обозначение ОУ.
3. МАРШРУТИЗАЦИЯ В ТРЕХМЕРНОМ РАЗРЕЖЕННОМ ГИПЕРКУБЕ
Построенный разреженный гиперкуб не является полносвязным, так как в нем нет путей между частью абонентов, которые находятся в разных вертикальных и горизонтальных плоскостях, например, между абонентами 0 и 11 на рис. 6.
Для преодоления этого недостатка можно дополнительно проложить ребра между узами плоскостей Хг, которые имеют одинаковый след (см. рис. 6). Такие ребра мы назовем секущими М1а, так как они пересекают плоскости ХУ и Х2 и образуют полный граф между узлами с одинаковыми следами. При этом дуплексные каналы, соответствующие секущим ребрам, прокладываются только между коммутаторами узлов.
Теперь любой кратчайший путь, который не покрывается плоскостями ХУ и Х2, можно представить как трехдуговой, состоящий из дуг ребер ОХУ, МУг и 1Хг. Пусть узел абонента-источника находится в плоскости ХУр а узел абонента-приемника — в плоскости Х2У. Первое ребро ОУ находится в плоскости ХУ{ и проходит от абонента-источника в коммутатор первого промежуточного узла. Второе ребро МТ2 проходит от плоскости ХУ{ к плоскости Хг, — от коммутатора первого промежуточного узла к коммутатору второго промежуточного узла. Третье ребро 1Хг находится в плоскости Хг^ и проходит от коммутатора второго промежуточного узла к абоненту-приемнику.
Такая маршрутизация основывается на том факте, что в качестве промежуточных узлов выбираются узлы с одинаковыми следами в плоскостях ХУ. и Хг,. Сначала находятся следы номеров узлов
I )
абонента-источника и абонента-приемника. Затем находится след промежуточного узла как при самомаршрутизации в ПС(^ р, ст) (см. § 1) между
От абонента
Оху 10x7.
Коммутатор рХ2р
К
абонентам
Рис. 5. Структура коммутатора узла в плоскостях ХУ и XZ
?0(14) ^1(15) у ^2(16)
'' /
/П У*) /г 5(Щ 7 -7Н$(20) \
\irrn 1 11 Л' ] Ут 1' у' 2(9) \
/
3(17) // у // \\ > 4(18)
л ^ у ' 5(12) Цу ,'°6(13)
0 1 2
От От
абонентов коммутаторов
0x7
Коммутатор 2р*Ър
1ХУ
Охг Му2
/
К
ш
Му^
К
абонентам коммутаторам
Рис. 7. Структура коммутатора узла в разреженном гиперкубе
источником и приемником с наиденными следами. Затем по следу промежуточного узла восстанавливаются номера первого и второго промежуточных узлов в плоскостях ХУ. и Х2,.
Рассмотрим пример маршрутизации в разреженном гиперкубе, построенном на базе ПС(7, 3, 1) (см. табл. 1 и рис. 2). Пусть узлы абонента-источника и абонента-приемника имеют номера 0 и 11 со следами 0 и 4. Они лежат (см. рис. 6) в разных плоскостях — ХУ1 и Х23 соответственно. В сети ПС(7, 3, 1) путь от источника в узле 0 к приемнику в узле 4 осуществляется через коммутатор в узле 0. Поэтому первый и второй промежуточные узлы имеют след 0 — это узлы с номерами 0 и 14 в плоскостях ХУ1 и Х23. Поэтому трехдуговой путь содержит внутриузловую дугу от источника к коммутатору в узле 0, дугу секущего ребра между коммутаторами в узлах 0 и 14 (рис. 7) и дугу от коммутатора в узле 14 к приемнику в узле 11.
Важно подчеркнуть, что при ст > 1 рассмотренный способ маршрутизации по следам сохраняет наличие ст разных путей между любыми источниками и приемниками, так как они проходят через промежуточные узлы с разными следами.
Как уже показывалось в § 1, кратчайшие пути между любыми абонентом-источником и абонентом-приемником, узлы которых расположены на одной вертикальной или горизонтальной плоскости, являются двухдуговыми — от абонента-источника к промежуточному коммутатору и от него к абоненту-приемнику. Поэтому кратчайший путь между ними не содержит никаких секущих ребер. Как следствие, двухдуговые и трехдуговые пути не могут иметь конфликтов м ежду собой — конфликтовать могут только трехдуговые пути на секущих ребрах.
В заключение данного параграфа отметим, что для прокладки кратчайших двухдуговых и трех-дуговых путей коммутатор каждого узла должен иметь схему, представленную на рис. 7.
4. НЕБЛОКИРУЕМОСТЬ В РАЗРЕЖЕННОМ ТРЕХМЕРНОМ ГИПЕРКУБЕ
Аналогичными маршрутными свойствами обладает и 3-мерный р-ичный гиперкуб, построенный на базе квазиполного орграфа [3]. Главное отличие 3-мерного разреженного гиперкуба от обычного 3-мерного гиперкуба, построенного в данной работе на базе квазиполного графа ББ(И, р, ст), — это возможность иметь ст разных кратчайших путей между любыми двумя абонентами. Однако по своим маршрутным свойствам эти гиперкубы очень близки.
В работе [3] стандартный 3-мерный р-ичный гиперкуб удалось сделать неблокируемым благодаря увеличению числа межузловых ребер и применению динамической локальной самомаршрутизации пакетов. Неблокируемость в стандартном 3-мерном р-ичном гиперкубе достигалась в работе [3] путем утроения числа вертикальных ребер измерения У и удвоения ч исла горизонтальных ребер измерения 2. Будем применять аналогичный метод и в настоящей работе с заменой вертикальных ребер на секущие ребра.
Рассмотрим кратчайший трехдуговой путь от источника в узле 5 к приемнику в узле й ч ерез промежуточные узлы I и I (рис. 8). Первая дуга от источника 5 в первый промежуточный узел I является дугой ребра 0ХУ. Через узел I м огут проходить пути от разных источников, которые в качестве вторых дуг используют дуги ребер М72. Если каждую дугу использует только один путь через узел ., то он является бесконфликтным и остается таковым на последней дуге ребра 1]а.
Рис. 8. Конфликт первого типа и его разрешение
Рис. 9. Дуги наборов 1и
Будем задавать дуги ребер 0ХУ и Му2 номерами портов шх и т2 (0 < т1, т2 < р — 1), из которых они выходят. Для дуг Му2 эти порты нумеруются в порядке возрастания длин дуг, задаваемых следующим образом. Пусть дуга МУ2 проходит из плоскости Х22. в плоскость Х2, тогда ее длина
. У
Щ, У) = У - если (У - I) > 0, и Щ, У) = р + (У - /), если (} — I) < 0.
Ситуация, при которой на одну дугу МУ2 претендуют несколько путей, считается конфликтом первого типа. При его возникновении один из этих путей имеет приоритет и проходит по дуге
а остальные остаются конфликтными в узле Такой конфликт имеет место, если на прохождение через узел I претендуют несколько путей (рис. 9) из разных узлов-источников 5 и 5*. Здесь и далее для краткости мы обозначаем только два таких узла, которых на самом деле может быть любое число от 2 до р — 1. На рис. 8 конфликтная дуга обозначена полужирным пунктиром, так как она при последующем разрешении конфликта не используется.
Для разрешения конфликта необходимо использовать в каждом узле дуги еще р — 1 ребер и Су2, которые дублируют ребра Му2 и обозначены на рис. 8. Использование этих дуг позволяет избежать повторных конфликтов между дугами секущих ребер. Порты выходных дуг М1а, БУ2 и СУ2 в описании дальнейшей маршрутизации нумеруются одинаково.
Конфликт разрешается таким образом: по заведомо разным дугам Бу2 из узла I прокладываются пути в разные вспомогательные узлы к и к* (без заливки на рис. 6) и осуществляется возврат из них в узел I по встречным дугам ребер СУ2. Если на дугах СУ2 нет конфликтов, то проложенные пути бесконфликтные. Они останутся бесконфликтными и
на последних дугах 12 от коммутатора узла I к приемникам в узлах й и й*.
Заведомо разными являются те дуги БУ2, которые выходят из тех же по номерам портов, что и дуги 0ХУ из узлов 5 и 5* в узел I. Пусть конфликтная дуга МУ2 из узла I в узел I выходит из порта с номером и, а дуга БУ2 — из порта с номером V. Тогда в качестве возвратной дуги из узла к в узел I выбирается дуга Су2 с номером w = IV — и|. Такая дуга всегда найдется, так как ребра СУ2 образуют полный граф.
Однако и на дугах СУ2 могут возникать конфликты второго типа. Каждый из них происходит в том случае, если на проход через узел . на втором этапе претендуют несколько путей из разных узлов I и I * после первого этапа (рис. 10) и после возникновения конфликта первого типа. Для его разрешения в каждом узле потребуется иметь еще два набора дуг. Первый набор IХ2 содержит дуги м ежду коммутаторами узлов, плоских сетей на плоскостях Х2, 1 < У < р — 1. Эти дуги являются копиями дуг 1Х2, но проложены м ежду коммутаторами узлов (см. рис. 9). Второй набор содержит секущие дуги из коммутаторов узлов со следом I к приемникам в других узлах с тем же следом (рис. 10). Дуги БУ2 являются копиями дуг МУ2, и СУ2, но проложены от коммутаторов к абонентам.
Конфликт второго типа разрешается следующим образом (см. рис. 10). Из промежуточного узла к пути прокладываются по тем дугам 1Х2, которые равны дугам 12 к приемникам. Все эти дуги 1Х2 различны, так как они завершают прямые пути из узла I. Поэтому различны и дуги 1]а, а пути про-
Рис. 10. Конфликт второго типа и его разрешение
Рис. 11. Структура коммутатора узла в неблокируемом разреженном гиперкубе
кладываются в разные вспомогательные узлы в и е*, из которых они завершаются бесконфликтно по разным дугам .
В рассмотренном разреженном гиперкубе внут-риузловой коммутатор должен иметь структуру, представленную на рис. 11.
5. ПРОТОКОЛ САМОМАРШРУТИЗАЦИИ В РАЗРЕЖЕННОМ ГИПЕРКУБЕ
Самомаршрутизация в 3-мерном разреженном гиперкубе осуществляется как червячная маршрутизация путем прокладки бесконфликтного прямого пути между любыми источником и приемником через промежуточные коммутаторы. Она осуществляется путем посылки пилотного пакета, содержащего маршрутную информацию, с фиксацией прямого пути в промежуточных коммутаторах. Пакет данных передается по прямому пути без задержек на его буферизацию в промежуточных узлах.
Сначала представим процедуру самомаршрутизации в терминах дуг плоскостей ХУ, Х2 и секущих плоскость У2 ребер, считая, что исходный маршрут имеет вид 0]УМУ21]2.
Процедура динамической самомаршрутизации
1. Если дуга 0ХУ отсутствует, то путь прокладывается по локальной дуге в узле 5 от источника к коммутатору. Переход к п. 3.
Если дуга 0У присутствует, то путь прокладывается от источника в узле 5 по дуге 0ХУ к коммутатору узла I. Переход к п. 2.
2. Если дуги МУ2 и 1Х2 отсутствуют, то путь прокладывается по локальной дуге в узле I от коммутатора к источнику. Конец алгоритма.
3. Если дуга МУ2 отсутствует, а дуга 1Х2 присутствует, то путь прокладывается по дуге 12 от ком-
мутатора узла I к приемнику в узле й. Выход из процедуры.
Если дуга Му2 присутствует, а дуга 12 отсутствует (узлы I и й совпадают), то путь прокладывается по дуге Му2 от коммутатора узла I к приемнику по локальной дуге. Выход из процедуры.
Если дуги МУ2 и 1Х2 присутствуют, то проверяется наличие конфликта на дуге МУ2. Если конфликта нет, то путь прокладывается по дуге МУ2 от коммутатора узла I к коммутатору узла I. Переход к п. 4.
Если на дуге МУ2 конфликт имеет место, то путь прокладывается по уникальной для узла дуге (разной для разных путей) от коммутатора узла I к коммутатору узла к. Переход к п. 5.
4. Путь прокладывается по дуге 1Х2 от коммутатора узла . к абоненту в узле-приемнике й. Выход из процедуры.
5. Проверяется наличие конфликта на возвратной дуге С2 из узла к.
Если конфликта нет, то путь прокладывается по дуге С2 от коммутатора узла к к коммутатору узла .. Переход к п. 4.
Если же конфликт имеет место, то переход к п. 6.
6. Путь прокладывается по дуге [Х2 от коммутатора узла к к коммутатору узла е. Переход к п. 7.
7. Путь прокладывается по дуге БУ2 от коммутатора узла е к приемнику в узле й. Выход из процедуры.
Теперь представим алгоритм локальной самомаршрутизации в терминах путевой информации, которая содержится в пилотном пакете для червячной маршрутизации. Этот алгоритм конкретизирует процедуру самомаршрутизации, так как учитывает значения номеров портов коммутаторов, передаваемых в заголовках пакетов.
Путевую информацию будем представлять номерами портов выходных дуг в каждом узле, которые д олжны составлять прямой путь. Они задаются числами от 0 до р — 1. Номер 0 задает либо внутриузловую дугу в узле-источнике и в узле-приемнике, либо отсутствие дуги м ежду коммутаторами разных узлов. Таким образом, выходные дуги 0У задаются как числа тр 0 < тх < р — 1, секущие дуги МУ2 задаются как числа т2, 0 < т2 < р — 1, и дуги 1Х2 задаются как числа т3, 0 < т3 < р — 1.
Любой кратчайший путь задается тремя числами тр т2 и т3. Для прокладки прямого пути пилотный пакет должен содержать пять чисел тх, т2, т3 и т2, т3, где т2 = тр а т3 = |т2 — т21. Эти числа вычисляются каждым источником заранее.
Прямой путь прокладывается по следующему алгоритму.
Алгоритм динамической самомаршрутизации
Шаг 1. Если т1 = 0, то путь прокладывается по локальной дуге в узле абонента-источника к коммутатору. Переход к шагу 3.
Если т1 > 0, то путь прокладывается от абонента-источника по дуге ОХУ( тх). Переход к шагу 2.
Шаг 2. Если т2 = 0 и т3 = 0, то путь прокладывается по локальной дуге в узле абонента-приемника от коммутатора к абоненту. Выход из алгоритма.
Шаг 3. Если т2 = 0 и т3 ф 0, то путь прокладывается по дуге 1Хг(т3) к абоненту-приемнику. Выход из алгоритма.
Если т2 ф 0 и т3 = 0, то путь прокладывается по дуге МУг(т2) к коммутатору узла абонента-приемника и по локальной дуге к абоненту-приемнику. Выход из алгоритма.
Если т2 > 0, то проверяется наличие конфликта на дуге МУг(т2). Если конфликта нет, то путь прокладывается по этой дуге М}^(т2). Переход к шагу 4.
Если т2 > 0 и имеет место конфликт, то путь прокладывается по дуге БУ2( т*2). Переход к шагу 5.
Шаг 4. Путь прокладывается по дуге 1Хг(т3) к абоненту-приемнику. Выход из алгоритма.
Шаг 5. Проверяется конфликтность пути по дуге СУг( т3).
Если конфликта нет, то путь прокладывается по дуге СУг( т3). Переход к шагу 4.
Если же конфликт имеет место, то переход к шагу 6.
Шаг 6. Путь прокладывается по дуге 1Хг(т3). Переход к шагу 7.
Шаг 7. Путь прокладывается по дуге Бу^т„). Выход из алгоритма.
Отметим, что прокладка прямых путей по приведенному алгоритму может содержать до четырех этапов. Однако передача всех пакетов данных по прямым путям осуществляется за один скачок. Последнее свойство позволяет утверждать, что не-блокируемый гиперкуб практически (по задержкам передачи) имеет единичный диаметр.
ЗАКЛЮЧЕНИЕ
Предложена новая структура трехмерного не-блокируемого отказоустойчивого гиперкуба на базе плоских сетей с топологией квазиполного графа. Такой гиперкуб назван разреженным р-ичным гиперкубом, так как он содержит меньше узлов, чем неблокируемый 3-мерный р-ичный гиперкуб [3], но позволяет разменивать число узлов на чис-
ло разных каналов между ними, что обеспечивает его канальную отказоустойчивость. Передача данных в разреженном гиперкубе осуществляется по прямым каналам между абонентами, что обеспечивает его наибольшее быстродействие. Внутриуз-ловой коммутатор в разреженном гиперкубе имеет в 9/8 раз большее число портов, чем в неблокиру-емом гиперкубе или мультикольце [3, 9].
Построенный неблокируемый разреженный гиперкуб может иметь несколько сотен абонентов (процессорных ядер) при двух-трех разных прямых каналах м ежду ними. Наличие нескольких каналов не только обеспечивает отказоустойчивость данного гиперкуба, но и открывает возможность дальнейшего повышения его быстродействия путем их параллельного применения.
Область применимости данного разреженного гиперкуба — системная сеть в многоядерном однокристальном процессоре-ускорителе.
ЛИТЕРАТУРА
1. Каравай М.Ф., Подлазов В. С. Метод инвариантного расширения системных сетей многопроцессорных вычислительных систем. Идеальная системная сеть // Автоматика и телемеханика. — 2010. — № 12. — С. 166—176. [Karavay, M.F., Podlazov, V.S. An Invariant Extension Method for System Area Networks of Multicore Computational Systems. An Ideal System Network // Automation and Remote Control. — 2010. Vol. 71. — No. 12. — P. 2644—2654.]
2. Каравай М.Ф., Подлазов В.С. Распределенный полный коммутатор как «идеальная» системная сеть для многопроцессорных вычислительных систем // Управление большими системами. — 2011. — Вып. 34. — С. 92—116. [Kara-vai, M.F., Podlazov, V.S. Raspredelennyi polnyi kommutator kak «ideal'naya» sistemnaya set' dlya mnogoprotsessornykh vy-chislitel'nykh sistem // Upravlenie bol'shimi sistemami. — 2011. — No. 34. — S. 92—116. (In Russian)]
3. Подлазов В. С. Бесконфликтная самомаршрутизация для трехмерного обобщенного гиперкуба // Проблемы управления. — 2018. — No. 3. — С. 26—32. [Podlazov, V.S. Be-skonfliktnaya samomarshrutizatsiya dlya trekhmernogo obobsh-chennogo giperkuba // Control Sciences. — 2018. — No. 3. — P. 26—32. (In Russian)]
4. Bhuyan, L.N., and Agrawal, D.P. Generalized Hypercube and Hyperbus Structures for a Computer Network // IEEE Trans. on Computers. — 1984. — Vol. C-33, no 4. — P. 323—333.
5. Alverson, R., Froese, E., Kaplan, L., and Roweth, D. Cray® XCTM Series Network. — URL: https://www.cray.com/sites/ default/files/resources/CrayXCN etwork.pdf
6. Каравай М.Ф., Пархоменко П.П., Подлазов В.С. Комбинаторные методы построения двудольных однородных минимальных квазиполных графов (симметричных блок-схем) // Автоматика и телемеханика. — 2009. — № 2. — С. 153— 170. [Karavay, M.F., Parkhomenko, P.P., Podlazov, V.S. Combinatorial methods for constructing bipartite uniform minimal quasicomplete graphs (symmetrical block designs // Automation and Remote Control. — 2009. — Vol. 70, no. 2. — P. 312—327.]
7. Холл М. Комбинаторика. — М.: Мир, 1970. — Гл. 10—12. [Hall, M. Combinatorial Theory. — Waltham: Blaisdell Publishing Company, 1967. — Ch. 10—12.]
8. Каравай М. Ф., Подлазов В. С. Расширенные блок-схемы для идеальных системных сетей // Проблемы управления. — 2012. — № 4. — С. 45—51. [Karavay, M.F., Podlazov, V.S. Rasshirennye blok-skhemy dlya ideal'nykh sistemnykh setei // Control Sciences. — 2012. — No. 4. — P. 45—51. (In Russian)]
9. Подлазов В.С. Бесконфликтная самомаршрутизация для трехмерного полного мультикольца // Проблемы управления. — 2018. — № 4. — С. 54—60. [Podlazov, V.S. Conflict-Free Self-Routing for a Three-Dimensional Complete Multiring // Automation and Remote Control. — 2019. — Vol. 80, no. 5. — P. 936—945.]
Статья представлена к публикации членом редколлегии В.М. Вишневским.
Поступила в редакцию 9.09.20, после доработки 2.12.2019.
Принята к публикации 2.12.2019.
Подлазов Виктор Сергеевич — д-р техн. наук, Н podlazov@ipu.ru,
Институт проблем управления им. В.А. Трапезникова РАН, г. Москва.
FAULT-TOLERANT NON-BLOCKING THREE-DIMENSIONAL SPARSE HYPERCUBE
V.S. Podlazov
V.A. Trapeznikov Institute of Control Sciences of Russian Academy of Sciences, Moscow, Russia
M podlazov@ipu.ru
Abstract. A system network is proposed in the form of a non-blocking fault-tolerant three-dimensional generalized p-ary hypercube with a single processor in each node of the hypercube. In any non-blocking network, data between processors is transmitted over direct channels with the lowest latencies and without intermediate buffering. Networks with the topology of a generalized hypercube have the smallest lengths of direct channels and the smallest transmission delays. The structure of this hypercube based on networks with the topology of a quasi-complete graph is developed, which allows exchanging the number of processors for the number of different direct channels between any processors and setting the channel and node fault tolerance of the network. The parameters of quasi-complete graphs that exist for any p-identity of a hypercube are given. As a result, a network structure is proposed in the form of a sparse p-ary hypercube with a number of nodes slightly smaller than in a regular p-ary hypercube. The sparse hypercube is designed as a fault-tolerant system network for a single-chip processor accelerator with several hundred cores. A procedure and an algorithm for the laying of conflict-free direct channels through dynamic local packet self-routing has been developed, in which the nodes do not interact with each other and use only extended routing information from the packets.
Keywords: system network, quasi-complete graph, generalized hypercube, channel fault tolerance, switching properties, non-blocking network, conflict-free direct channels, local dynamic self-routing.
Кульба В.В., Сиротюк В.О. Формализованная методология повышения эффективности и качества патентных информационных фондов и опыт ее использования при формировании и развитии евразийского патентно-информационного пространства. — М.: ИПУ РАН, 2019. — 236 с. — ISBN 978-5-91450-238-3.
Сомов С.К. Сохранность информации в распределенных системах обработки данных. — М.: ИПУ РАН. — 2019. — 254 с. — ISBN 978-5-91450-235-2.
Лазарев А.А. Теория расписаний. Методы и алгоритмы. — М.: ИПУ РАН, 2019. — 408 с. — ISBN 978-5-91450-236-6.
Проблемы управления безопасностью сложных систем: материалы XXVII Междунар. конф., 18 дек. 2019 г., Москва / под общ. ред. А.О. Калашникова, В.В. Кульбы. — М.: ИПУ РАН. — 2019. — 459 с. — ISBN 978-5-91450-241-3.