Научная статья на тему 'Поиск кратчайших путей в оптимальных двумерных циркулянтах'

Поиск кратчайших путей в оптимальных двумерных циркулянтах Текст научной статьи по специальности «Математика»

CC BY
112
21
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
ДВУМЕРНЫЕ ЦИРКУЛЯНТНЫЕ ГРАФЫ / ДИАМЕТР / КРАТЧАЙШИЕ ПУТИ / ОПТИМАЛЬНЫЕ ОБОБЩЁННЫЕ ГРАФЫ ПЕТЕРСЕНА / СЕТИ НА КРИСТАЛЛЕ / TWO-DIMENSIONAL CIRCULANT NETWORKS / DIAMETER / SHORTEST PATHS / OPTIMAL GENERALIZED PETERSEN GRAPHS / NETWORKS-ON-CHIP

Аннотация научной статьи по математике, автор научной работы — Монахова Эмилия Анатольевна

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

A computation of the shortest paths in optimal two-dimensional circulant networks

For a family of optimal two-dimensional circulant networks with an analytical description, two new improved versions of the shortest paths search algorithm with a constant complexity estimate are obtained. A simple, based on the geometric model of circulant graphs, proof of the formulas used for the shortest path search algorithm is given. Algorithms of pair exchanges are presented and their estimates are given for networks on a chip with a topology in the form of the considered graphs. New versions of the algorithm also improve the previously proposed shortest path search algorithm for optimal generalized Petersen graphs with an analytical description.

Текст научной работы на тему «Поиск кратчайших путей в оптимальных двумерных циркулянтах»

ПРИКЛАДНАЯ ДИСКРЕТНАЯ МАТЕМАТИКА

2020 Прикладная теория графов №47

УДК 519.87

ПОИСК КРАТЧАЙШИХ ПУТЕЙ В ОПТИМАЛЬНЫХ ДВУМЕРНЫХ ЦИРКУЛЯНТАХ1

Э. А. Монахова

Институт вычислительной математики и математической геофизики СО РАН,

г. Новосибирск, Россия

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

Ключевые слова: двумерные циркулянтные графы, диаметр, кратчайшие пути, оптимальные обобщённые графы Петерсена, сети на кристалле.

DOI 10.17223/20710410/47/7

A COMPUTATION OF THE SHORTEST PATHS IN OPTIMAL TWO-DIMENSIONAL CIRCULANT NETWORKS

E. A. Monakhova

Institute of Computational Mathematics and Mathematical Geophysics SB RAS, Novosibirsk,

Russia

E-mail: emilia@rav.sscc.ru

A family of tight optimal two-dimensional circulant networks designed by analytical formulas has a description of the form C(N; d, d + 1), where N is the order of a graph and the generator d is the nearest integer to (\/2N — 1 — 1)/2. For this family, two new improved versions of a shortest-path routing algorithm with a complexity O(1) are presented. Simple proofs for formulas used for routing algorithms based on the plane tessellation are received. In the routing algorithm, for a graph C(N; d, d +1) the following formulas for the computing shortest routing vector (x, y) from 0 to a node k < LN/2J are used: if k mod (d + 1) = 0 or |k/(d + 1)J < d + 1 — 2k mod (d + 1), then x = —k mod (d + 1), y = |_k/(d + 1)J — x, else x = —k mod (d + 1) + d + 1, y = = |_k/(d + 1)J — x + 1. The routing algorithms and their estimates are considered for using in topologies of networks-on-chip. For implementation in networks-on-chip the proposed routing algorithm requires |log2 N] + |log2N/2]] bits. New versions of the routing algorithm improve also the routing algorithm proposed early by the author for optimal generalized Petersen graphs with an analytical description of the form P(N, a, a + 1), where 2N is the order of a graph and a =

W (N — 1)/2] — 1.

Исследование выполнено в рамках проекта №0315-2016-0006.

Keywords: two-dimensional circulant networks, diameter, shortest paths, optimal generalized Petersen graphs, networks-on-chip.

Введение

Наряду с широким интересом к циркулянтным сетям в различных областях информатики и вычислительной техники [1-3] актуальным становится их применение в качестве топологии для сетей на кристалле (networks-on-chip) [4-6]. Это обусловлено их лучшими структурными характеристиками [1, 4] и высокими показателями масштабируемости при большом количестве узлов по сравнению со стандартными топологиями сетей на кристалле (mesh, torus). В связи с необходимостью сокращения аппаратурных затрат ресурсов для сетей на кристалле важной задачей становится разработка эффективных алгоритмов маршрутизации в сетях с циркулянтной топологией. В данной работе рассматриваются эффективные алгоритмы парной маршрутизации, разработанные для двумерных циркулянтных сетей.

Пусть si, s2,... , sk, N — целые числа, такие, что 1 ^ s1 < s2 < ... < sk < N. Неориентированный граф C с множеством вершин V = {0,1,... , N — 1} и множеством рёбер E = {(i,j) : i — j = ±sm (mod N),m = 1,...,k} называется циркулянтной сетью, а множество S = {s1 , s2,... , } — множеством образующих графа. Параметрическое описание вида (N; S) определяет циркулянт порядка N и размерности k. Свойство симметрии циркулянтов позволяет в дальнейшем ограничиться рассмотрением цирку-лянтных графов с образующими, не превосходящими |_N/2_|.

Диаметром графа C называется D(N; S) = maxD(i,j), где D(i,j) —длина крат-

i,jev

чайшего пути между вершинами i и j, принадлежащими C. Точная нижняя граница диаметра двумерных циркулянтов для любого порядка N > 4 равна [7]

D(N ) = |"(-1 + V2N — 1)/2].

Средним расстоянием (средним диаметром в некоторых источниках) графа C(N; S)

называется d(N; S) = (1/N(N — 1)) Y1 D(i,j). Диаметр и среднее расстояние оценива-

i,j

ют максимальную и среднюю структурные задержки в сети. Как показали исследования, наилучшими структурами вычислительных систем по различным критериям функционирования при равном количестве узлов и линий связи являются структуры с минимальными диаметром и средним расстоянием.

1. Оптимальные двумерные циркулянты

Двумерные циркулянты интенсивно изучаются в литературе в связи с различными практическими приложениями. Для k = 2 в 1981 г. доказано [7], что для каждого числа вершин N циркулянтные графы могут иметь одновременно минимальный диаметр D(N) и минимально возможное среднее расстояние, т.е. являются оптимальными.

Теорема 1 [7]. Для любого целого N > 4 оптимальный двумерный циркулянт порядка N есть

C (N ; d,d +1), где d = [(V2N — 1 — 1)/2], (1)

[x] — ближайшее целое к x.

В 1991г. Р. Байвиде с соавт. [8] получили то же самое семейство циркулянтов (1), записанное в другом виде.

Теорема 2 [8]. Для любого целого N > 2 оптимальный двумерный циркулянт порядка N есть

C(N; b — 1,b), где b = |УВД. (2)

Два оптимальных семейства (1) и (2) идентичны как по числовым значениям образующих и порядков, так и по диапазонам существования с данными образующими. Докажем это.

Лемма 1. Для любого порядка N > 4 циркулянтные графы C(N; d, d +1) и C(N; b — 1, b), описываемые соответственно (1) и (2), совпадают при b — 1 = d и являются оптимальными при изменении N в диапазоне 2d2 < N ^ 2(d + 1)2 и соответственно 2(b — 1)2 < N ^ 2b2.

Доказательство. Пусть N > 4 — любое заданное число. Для семейства (1) из определения ближайшего целого следует d — 1/2 ^ (V2N — 1 — 1)/2 < d +1/2. Отсюда после простых преобразований получаем 2d2 + 1/2 ^ N < 2(d + 1)2 + 1/2. Так как N — целое число, имеем

2d2 < N ^ 2(d + 1)2. Аналогично для семейства (2) из определения b следует b — 1 < \JN/2 ^ b и

2(b — 1)2 < N ^ 2b2.

Поскольку полученные диапазоны изменения N имеют место при любом заданном N, отсюда следует b — 1 = d, что и требовалось доказать. ■

Вопросы исследования найденного семейства оптимальных двумерных циркулянтов как сетей связи компьютерных систем широко изучаются последние 20 лет. В работе [9] изучены сетевые свойства двумерных циркулянтов, в частности оптимальных графов вида C(N^; d, d + 1), и исследовали возможность вложимости в них решёток. Здесь и далее Nd = 2d2 + 2d +1 — максимально возможный порядок двумерного циркулянта диаметра d ^ 0 (подробнее см. [1]). В [10-12] рассматриваются оптимальные сети (2), названные Midimew-сетями, в качестве технической реализации сетей связи суперкомпьютерных систем высокой производительности. В [11] показано для Midimew-сетей увеличение сетевой производительности при реальных нагрузках, а также уменьшение длины среднего пути сообщения по сравнению с торами. В [10, 11] для этой топологии представлено практическое решение проблемы предотвращения дедлоков (блокировок пути при передаче пакетов). В [12] использовано несколько примеров таких графов как базис при проектировании сетей связи параллельных систем. В [13, 14] применены двумерные циркулянтные сети, в частности семейство вида C(Nd; d, d + 1), в теории кодирования при построении совершенных групповых кодов. Реализация графов, описываемых (1) или (2), предложена в качестве топологии при проектировании суперкомпьютеров с массовым параллелизмом и сетей на кристалле [4, 5, 12, 15].

При использовании циркулянтных графов в качестве коммуникационных сетей суперкомпьютерных систем актуальным вопросом является эффективное решение проблемы организации алгоритмов маршрутизации в них. При парной маршрутизации (routing) сообщение должно быть передано из узла-источника в узел-приёмник. Далее рассматривается модель дуплексной ненаправленной передачи информации методом коммутации сообщений. Для организации парных обменов требуется определение кратчайших путей в графе. В [16] установлено, что проблема поиска кратчайших путей по параметрическому описанию циркулянтных сетей общего вида относится к классу NP-трудных задач. Аналитическое решение задачи поиска кратчайших путей по параметрическому описанию для оптимальных циркулянтных графов, описываемых (1) и (2), предложено в [8, 11, 17]. В настоящей работе это решение улучшено и скорректировано для [8, 11] и использовано для разработки алгоритмов парной маршрутизации.

2. Поиск кратчайших путей в двумерных циркулянтах

Рассмотрим эффективное решение задачи поиска кратчайших путей по параметрическому описанию для оптимальных циркулянтных графов C(N; d, d +1), где d определяется по (1).

Пусть A0k = (x0k,y0k) = (x,y) обозначает вектор кратчайшего пути из вершины 0 в вершину k, 0 ^ k < N, в циркулянтном графе C(N; si, s2). Здесь |x0k| задает число образующих s1, |y0k| —образующих s2, входящих в кратчайший путь из 0 в k, а sgn(x0k) и sgn(y0k) определяют направления движения в кратчайшем пути по (+) или против (—) соответствующей образующей. Покажем, что для указанных графов связь между номерами вершин i и j и вектором кратчайших путей из i в j может быть получена аналитически.

Для этого надо рассмотреть геометрическую модель графа C(N; d, d+1) (подробнее см. в [1]). Граф C(N; d, d +1) конструируется на плоскости Z2 в виде ромбоподобной конфигурации из единичных квадратов целочисленной решётки, где каждая точка решётки (x,y) помечена числом k = xd + y(d + 1) mod N. Здесь k, 0 ^ k < N,— номер вершины графа. Все отметки вершин 0 ^ k < N повторяются на плоскости бесконечное число раз, образуя плотную упаковку ромбоподобных конфигураций из единичных квадратов. На рис. 1 показано, как из ромба с числом вершин N = Nd (обозначен сплошной линией) получаются все оптимальные конфигурации с числом вершин N, 2d2 — 1 ^ N ^ 2(d + 1)2 + 1, путём наращивания (рис. 1, а) и сокращения (рис.1, б) клеток (вершин) на последнем ярусе. Все вершины графа C(N; d, d + 1) диаметра

_ id, если 2d2 — 1 ^ N ^ Nd, = |d +1, если Nd < N ^ 2(d + 1)2 + 1,

расположены внутри ромба RD = {(x,y) : |x| + |y| ^ D}, причём ярусы от 0 до D — 1 заполнены полностью и среди номеров вершин, расположенных на этих ярусах, нет одинаковых. В силу указанных свойств для вершин k, 0 ^ k < N, графа C(N; d, d + 1) диаметра D имеем следующее: для определения вектора кратчайших путей из 0 в k достаточно вычислить пути в ромбе Rd .

Рис. 1. Геометрическая модель графов C(N; d,d + 1)

В качестве примера геометрического представления графов семейства С (Ж; ^+1) на рис.2 представлен граф С (50; 4, 5) диаметра Б = 5 в системе координат (ж, у).

Для простоты изображения не показаны рёбра между вершинами г = х^ + уз2 и ] = ж/51 + у'з2, для которых не выполняется |х — х'| = 1, у = у' либо х = х', |у — у'| = 1. Граф С(50; 4,5) имеет максимально возможный порядок среди графов семейства (1) с образующими 51 = 4, з2 = 5. Теоремы 3 и 4 решают задачу вычисления вектора кратчайших путей из нулевой вершины во все вершины графов семейства (1). При этом в доказательстве теоремы 3 используется деление номера вершины графа на образующую 51, что соответствует выделенным горизонтальным областям графа на рис. 2, а, а в теореме 4 — на образующую з2, что соответствует выделенным вертикальным областям графа на рис. 2, б.

Рис. 2. Граф С(50; 4, 5)

Теорема 3. Пусть к, 0 ^ к < N, — номер вершины в графе С (Ж; й, й + 1). Тогда координаты вектора А0к = (х0к , у0к) вычисляются следующим образом: — при к ^ [N/2]

'(а,в),

если в — й ^ а ^ й,

(х0к ,у0к)

(а + й + 1, в — й), если а < в — й, (а — (й +1),в + й) иначе,

где в = к mod й; а = [к/й] — в; при к > [N/2]

(х0к ,у0к) = (—х'

0М—к

Ш-к

у

Доказательство. Согласно свойству циркулянтов, (х0к,у0к) = (—хом к,

_у0М-к )

для любой вершины к Е {0,... , N — 1}. Таким образом, определение вектора кратчайших путей А0к для всех к, [N/2] < к < N, сводится к определению вектора кратчайших путей вершины с номером ^—к), лежащей в верхней части ромба (не левее линий у = — х для х ^ 0 и у = —х + 1 для х > 0) и замене знаков полученных координат на противоположные.

Пусть теперь 0 ^ к ^ [^ 2]. Требуется найти х0к вершины с номером к, что

к = хй + у(й + 1).

х, у

у — такие координаты (4)

При доказательстве используем тот факт, что для любых натуральных k и d число k единственным образом представимо через целую часть и остаток от деления на d:

k = [k/djd + k mod d, [k/dj ^ 0, 0 ^ k mod d < d. (5)

1. Рассмотрим область ромба RD, представляющего граф C(N; d, d + 1), ограниченную следующими условиями:

0 ^ y < d, —y ^ x ^ d +1 — y, y — d ^ x ^ d.

В этой области ромба

x + y ^ 0, 0 ^ y < d.

Если представить номер k вершины из этой области, записанный в виде (4) как k = = (x + y)d + y, то в силу единственности выражения (5) для k получим

[k/dj = x + y, k mod d = y.

Отсюда следует

x = [k/dj — k mod d, y = k mod d.

Подставляя найденные выражения для x и y в уравнения прямых, ограничивающих рассматриваемую область, получим, что найденные формулы для x и y имеют место при выполнении условия

k mod d — d ^ [k/dj — k mod d ^ d.

2. Рассмотрим теперь область ромба, ограниченную условиями

y < 0,

—y +1 ^ x ^ d + y. В этой области ромба

x + y — 1 ^ 0, 0 < d + y < d.

Если представить номер k вершины из этой области, записанный в виде (4) как k = = (x + y — 1)d + (d + y), то в силу единственности выражения (5) для k получим

[k/dj = x + y — 1, k mod d = d + y.

Отсюда следует

x = [k/dj — k mod d + (d +1), y = k mod d — d.

Аналогично случаю 1 получаем, что найденные формулы для x и y имеют место при выполнении условия

[k/dj — k mod d < k mod d — d.

3. Для вершин с номерами k = d2 + d, d2 + 2d, d2 + 2d +1 координаты равны соответственно (0,d), (1,d), (0,d + 1). Вычисленные по формулам (3) координаты (x0k, y0k) совпадают с данными. Эти формулы имеют место при выполнении условия

|_k/dj — k mod d > d.

Теорема доказана. ■

Заметим, что в графах C(N; d, d +1) при 2d2 < N < Nd для вычисления вектора кратчайших путей из 0 в любую вершину достаточно использовать только первые два вида формул из (3). Теорема 3 даёт аналитическое решение задачи определения вектора кратчайших путей по номеру вершины графа C(N; d, d +1) относительно нулевой вершины. Таким образом, вычисление кратчайших путей в структурах рассматриваемого описания оказывается проще, чем аналогичная процедура для двумерных циркулянтов с описанием, отличным от этого [18]. Решение, полученное в теореме 3, по сравнению с найденным в [17] отличается заменой переменной i*(N) ^ [N/2J на |_N/2j, где i*(N) —номер той вершины графа C(N; d, d + 1), начиная с которого все его вершины располагаются в нижней части ромба Яд левее линий x = — y для x ^ 0 и x — 1 = —y для x > 0. Тем самым при поиске кратчайших путей не требуется вычисления переменной i*(N).

Другой вид формул, которые можно использовать при расчёте векторов кратчайших путей в циркулянтных графах C(N; d, d + 1), определяет

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Теорема 4. Пусть k, 0 ^ k < N, — номер вершины в графе C(N; d, d + 1). Тогда координаты вектора A0k = (x0k , y0k) вычисляются следующим образом:

— при k ^ |_N/2J

(—в, а), если в = 0 или а + в < d +1,

(6)

(d +1 — в, а — d) иначе,

где в = k mod (d +1); а = |_k/(d + 1)J + в;

— при k > |_N/2J

(x0k ,y0k ) = (—x0N-k, —y0N-k).

Доказательство. По аналогии с доказательством теоремы 3 определение вектора A0k для всех k, таких, что |_N/2j < k < N, сводится к определению вектора кратчайших путей вершины с номером (N — k) и замене знаков полученных координат на противоположные.

Пусть 0 ^ k ^ N/2. Требуется найти x0k = x, y0k = y — такие координаты вершины с номером k, что

k = xd + y(d +1). (7)

Для любых натуральных k и d + 1 число k единственным образом представимо через целую часть и остаток от деления на d + 1:

k = Lk/(d +1)J(d+1) + k mod (d +1), |_k/(d + 1)J ^ 0, 0 ^ k mod(d+1) < d+1. (8)

1. Для вершин с номерами k = i(d +1) координаты равны

(x0k ,y0k) =

x = 0, y = |_k/(d +1)J.

2. Рассмотрим область ромба RD, представляющего граф C(N; d, d + 1), ограниченную следующими условиями:

x < 0,

—x ^ y ^ x + d. В этой области

x + y ^ 0, 0 < —x < d.

Таким образом, если представить номер k вершины из этой области, записанный в виде (7) как k = (x + y)(d + 1) + (—x), то в силу единственности для k выражения (8) получим

[k/(d + 1)j = x + y, k mod (d + 1) = —x.

Отсюда следует

x = —k mod (d +1), y = [k/(d + 1)j + k mod (d + 1).

Подставляя найденные выражения для x и y в уравнения прямых, ограничивающих рассматриваемую область ромба, получим, что найденные формулы для x и y имеют место при выполнении условия

[k/(d + 1)j < d +1 — 2k mod (d + 1).

Таким образом, вид формул для случая 2 имеет место и для случая 1 при выполнении условия k mod (d + 1) = 0.

3. Рассмотрим теперь область ромба, ограниченную условиями

0 < x < d +1, x — d ^ y,

1 — x ^ y ^ d +1 — x.

В этой области

x + y — 1 ^ 0, 0 < d +1 — x < d +1.

Из представления номера k в виде k = (x + y — 1)(d +1) [k/(d + 1)j = x + y — 1, k mod (d + 1)

Отсюда следует

x = —k mod (d + 1) + d +1, y = [k/(d + 1)j + k mod (d +1) — d.

Аналогично случаю 2 получаем, что найденные формулы для x и y имеют место при выполнении условия d +1 — 2k mod (d +1) ^ [k/(d + 1)j. Теорема доказана. ■

Результаты теоремы 4 позволяют скорректировать алгоритмы поиска кратчайших путей, представленные в [8, 11]. В обоих вариантах алгоритмов неправильно определены (возможно, это опечатки в текстах работ) значения координат y0 и x0 вектора

+ (d + 1 — x) получим = d +1 — x.

кратчайшего пути из нулевой вершины в вершину с номером m графа C(N; b — 1, b): y0 = —m mod b, x0 = —|_m/bj — y0 [8, с. 1121] и y0 = m mod b, x0 = [m/bj — y0 [11, с. 46]. В наших обозначениях x0 = x0k, y0 = y0k, где k — номер вершины в графе C(N; d, d +1).

Поменяем местами образующие графа C(N; d, d + 1), как показано на рис. 3. Тогда, применяя метод, используемый в доказательстве теоремы 4, получим значения

y0 = —m mod b, x0 = [m/bj — y0, где b = d +1. (9)

у

16 21

7 12 17 22

3 8 13 18 23

4 9 14 19 24

45 0 5 10 15 20 25

46 1 6 11

2

Рис. 3. Возможное представление графа C(50; 4, 5)

В качестве примера рассмотрим вычисление координат вектора кратчайшего пути из нулевой вершины в различные вершины графа С(50; 4, 5) (рис. 3). Результат представлен в таблице. В первой колонке даны номера вершин, во второй и третьей колонках— значения координат, вычисленные по формулам из [8] и [11] соответственно, в четвёртой — правильные значения, найденные по формулам (9).

Номер вершины Из [8] Из [11] Правильные значения

1 Хо = 1, Уо = —1 хо = —1, Уо = 1 хо = 1, уо = —1

2 хо = 2, уо = —2 хо = —2, уо = 2 хо = 2, уо = —2

6 хо = 0, уо = —1 хо = 0, уо = 1 хо = 2, уо = —1

11 хо = —1, уо = —1 хо = 1, уо = 1 хо = 3, уо = —1

12 хо = 0, уо = —2 хо = 0, уо = 2 хо = 0, уо = 3

3. Алгоритм парных обменов в двумерных циркулянтах

Рассмотрим путевую процедуру, реализующую парные взаимодействия (парный обмен), в сети на кристалле с топологией в виде оптимальных двумерных циркулянтов, описываемых (1). Пусть требуется передать пакет из узла-источника в в узел-приёмник ]. При условии, что вектор кратчайших путей Лгз (узла-приёмника ] относительно узла г, исполняющего путевую процедуру) известен в каждом транзитном узле г, модификация вектора кратчайших путей для определения выходного направления, принадлежащего кратчайшему пути до узла приемника, сводится к выполнению операции

(хр)' = хр - sgn(xp:') ■ 1 для любого хр = 0, хр € {х^^}. (10)

При отсутствии отказов узлов и линий связи в узле-источнике по номеру узла-приёмника вычисляется вектор кратчайших путей между ними и записывается в заголовок пакета. В каждом транзитном узле по пути к приёмнику выбирается любое из направлений, принадлежащих кратчайшему пути, и вектор кратчайших путей модифицируется операцией (10) с целью уменьшения по абсолютной величине ненулевых координат вектора. Модифицированный вектор записывается в заголовок пакета, который передаётся дальше. Концом путевой процедуры служит равенство нулю всех координат вектора кратчайших путей.

В описанном ниже алгоритме 1 парных обменов: А* — вектор кратчайших путей узла-приёмника с номером ] относительно узла г, исполняющего путевую процедуру; V — множество номеров выходных направлений, принадлежащих кратчайшему пути до узла-приёмника; запись тр0 > 0 означает, что на входной порт с номером 0 (т. е. из узла-источника) поступил пакет с признаком «парный обмен»; запись тр^ > 0 означает, что на входной порт с номером к, к =1,..., 4, из соседнего узла поступил пакет с признаком «парный обмен»; запись «поставить пакет в выходной порт ои^» означает, что пакет ставится в выходной порт с номером р. В зависимости от выбранного способа вычисления вектора кратчайших путей Л0к по формулам (3) или (6) получаются две версии алгоритма: версия 1 и версия 2 соответственно.

Алгоритм 1. Алгоритм парных обменов

Вход: параметры N, d для версии 1 или N, d + 1 для версии 2; ] —номер узла-приёмника, г — номер узла, исполняющего путевую процедуру (в узле-источнике г = в). Выход: модифицированный вектор кратчайших путей А*. 1: Если тр0 > 0, то

к := — ] | и перейти в п. 5. 2: Если тр^ > 0, то 3: Если Л* = 0, то перейти в п. 9, 4: иначе перейти в п. 8. 5: Если ] ^ 8, то

sgn := 1 и перейти в п. 7, 6: иначе sgn := —1. 7: Если к > [N/2], то

sgn := —sgn и к := N — к. Вычислить Л0к по формулам (3) или (6), А* := sgn • Л0к. 8: Выбрать любой номер р € V, модифицировать А* операцией (10), записать А*

в заголовок пакета, поставить пакет в выходной порт ои^. 9: Конец алгоритма.

Приведём оценки алгоритма 1. В сети на кристалле с числом узлов N требуется |~1с^2 N + \1о§2 \л/N/2]] битов для хранения в памяти значений двух параметров: N и образующей d для версии 1 или образующей d +1 для версии 2. Пункты 1 и 5-8 алгоритма 1 выполняются в узле-источнике. В общей сложности для версии 1 независимо от числа узлов в сети требуется одна операция взятия по модулю, две операции деления, две операции умножения, 19 операций типа сложения и около 40 слов оперативной памяти. Для версии 2 алгоритма 1 требуется на пять операций типа сложения меньше. В транзитных узлах выполняются пункты 2-4 и 8, что требует одну операцию умножения, три операции типа вычитания и 10 слов оперативной памяти.

Приведённый алгоритм 1 поиска кратчайших путей в оптимальных двумерных циркулянтах не использует таблиц маршрутизации и задания матриц смежности, адаптируем к отказам узлов и линий связи и распределению нагрузки узлов, имеет константную оценку сложности, не зависящую от размера графа, в отличие от следующих алгоритмов: 1) Дейкстры с квадратичной сложностью О(^) для любого связного графа порядка N; 2) Б. Робича [18] с оценкой времени вычисления кратчайших путей для циркулянтов вида С^; в1,з2) и I = 0^) шагов маршрутизации, где I — расстояние между вершинами и d — диаметр сети; 3) Д. Гомеса с соавт. [19] с оценкой О(^ N) арифметических операций; 4) Б. Чена с соавт. [20] с константной оценкой сложности времени вычисления кратчайшего пути для циркулянтов вида С^; в1, в2), но требующего предварительного вычисления параметров для расчёта с временной сложностью 0(2к^ 5) К. Мартинеса с соавт. [14] в циркулянтах вида С(N¿1 d, d +1) с оценкой О^).

4. Улучшение алгоритма поиска кратчайших путей для обобщённых графов Петерсена

Теоремы 3 и 4 можно использовать для улучшения алгоритма поиска кратчайших путей, разработанного в [21] для оптимальных обобщённых графов Петерсена. Обобщённые графы Петерсена как регулярные графы степени три позволяют увеличить надёжность сети по сравнению с используемыми в современных инфраструктурах кольцевыми сетями и деревьями и существенно лучше хордальных колец степени три по ряду показателей, включая диаметр и средний диаметр, в то же время они сохраняют низкую стоимость сети. Таким образом, обобщённые графы Петерсена степени три могут рассматриваться как перспективная топология для реализации в сетях на кристалле. Дадим необходимые определения.

Обобщённые графы Петерсена Р(^ а, 6) порядка п = 2N представляют собой графы, состоящие из внешнего (вершины связанные образующей 2а) и внутреннего (вершины VI, связанные образующей 26) колец с равным числом вершин N, связанных рёбрами. Рёбра, связывающие вершины 2г и 2г + 1, г = 0,..., N — 1, будем считать соответствующими образующей с =1. Графы Р(N,«,6) с минимально возможным диаметром при заданном порядке называются оптимальными.

В работе [21] найдено отображение семейства оптимальных двумерных циркулянтов, описываемых (1), в класс обобщённых графов Петерсена, сохраняющее оптимальность графа, и получено параметрическое описание оптимальных обобщённых графов Петерсена для любого порядка графа п = 2N.

Теорема 5 [21]. Для каждого N > 9 существует оптимальный обобщённый граф Петерсена Р(^ а, а + 1), где а = — 1)/2] — 1.

Это позволило на основе алгоритма поиска кратчайших путей [17] для оптимальных циркулянтов, описываемых (1), найти аналитическое решение задачи поиска кратчайших путей для класса оптимальных обобщённых графов Петерсена.

Полученные в данной работе результаты дают возможность улучшить алгоритм из [21] для обобщённых графов Петерсена по требуемой памяти и быстродействию, так как основную долю вычислений в нём составляет определение вектора кратчайшего пути из 0 в любую вершину циркулянтного графа С^; d, d + 1). При использовании формул (3) для расчёта кратчайших путей в оптимальных двумерных циркулянтах требуется меньшее число операций и памяти за счёт отсутствия необходимости вычисления параметра г*^) [21, с. 52] (где параметр к* соответствует г*^)). При ис-

пользовании формул (6) для расчёта кратчайших путей в оптимальных двумерных циркулянтах требуется меньшее число проверок условий, чем у формул (3).

Таким образом, в данной работе для семейств оптимальных двумерных циркулянт-ных сетей и оптимальных обобщённых графов Петерсена, задаваемых аналитически двумя параметрами и достигающих минимумов диаметра сети, предложены эффективные динамические алгоритмы парной маршрутизации, обладающие оптимальными свойствами с точки зрения построения сетей на кристалле.

ЛИТЕРАТУРА

1. Монахова Э. А. Структурные и коммуникативные свойства циркулянтных сетей // Прикладная дискретная математика. 2011. №3. С. 92-115.

2. Monakhova E. A. A survey on undirected circulant graphs // Discrete Math., Algorithms Appl. 2012. No.4. https://www.researchgate.net/publication/267143246_A_survey_ on_undirected_circulant_graphs.

3. Perez-Roses H. Algebraic and computer-based methods in the undirected degree/diameter problem — A brief survey // Electr. J. Graph Theory Appl. 2014. No. 2(2). P. 166-190.

4. Romanov A., Amerikanov A., and Lezhnev E. Analysis of approaches for synthesis of networks-on-chip by using circulant topologies //J. Physics: Conf. Ser. 2018. V. 1050. P. 1-12.

5. Romanov A. Yu. Development of routing algorithms in networks-on-chip based on ring circulant topologies // Heliyon. 2019. V. 5. Iss.4. https://www.sciencedirect.com/ science/article/pii/S2405844018355208

6. Щеголева М. А., Романов А. Ю. Разработка алгоритма маршрутизации в сетях на кристалле с топологией мультипликативный циркулянт // МЭС-2018. Россия, Москва, октябрь 2018. С. 119-124.

7. Монахова Э. А. Об аналитическом описании оптимальных двумерных диофантовых структур однородных вычислительных систем // Вычислительные системы. 1981. №90. С. 81-91.

8. Beivide R., Herrada E., Balcazar J. L., and Arruabarrena A. Optimal distance networks of low degree for parallel computers // IEEE Trans. Computers. 1991. V. 40. No. 10. P. 1109-1124.

9. Liestman A. L., Opatrny J., and Zaragoza M. Network properties of double and triple fixed-step graphs // Int. J. Found. Comp. Sci. 1998. V.9. P. 57-76.

10. Puente V., Gregorio J.-A., Prellezo J.M., et al. Adaptive bubble router: a design to balance latency and throughput in networks for parallel computers // Proc. ICCP'99. Toulouse, France, August/September 1999. P. 58-67.

11. Puente V., Izu C., Gregorio J.-A., et al. Improving parallel system performance by changing the arrangement of the network links // Proc. ISC'00. Santa Fe, New Mexico, USA, May 8-11, 2000. P. 44-53.

12. Yang Y., Funashashi A., Jouraku A., et al. Recursive diagonal torus: An interconnection network for massively parallel computers // IEEE Trans. Parallel and Distributed Systems. 2001. V. 12. No. 7. P. 701-715.

13. Мартинес К., Стаффорд Э., Байвиде Р., Габидулин Э. М. Представление гексагональных созвездий с помощью графов Эйзенштейна — Якоби // Проблемы передачи информации. 2008. Т. 44. №1. С. 3-13.

14. Martinez C., Beivide R., Stafford E., et al. Modeling toroidal networks with the Gaussian integers // IEEE Trans. Comput. 2008. V. 57. No. 8. P. 1046-1056.

15. Beivide R., Martinez C., Izu C., et al. Chordal topologies for interconnection networks // LNCS. 2003. V. 2858. P. 385-392.

16. Cai J.-Y. et al. On routing in circulant graphs // LNCS. 1999. V. 1627. P. 360-369.

17. Монахова Э. А. Алгоритмы межмашинных взаимодействий и реконфигурации графов связей в вычислительных системах с программируемой структурой // Вычислительные системы. 1982. №94. C. 81-102.

18. RobicB. Optimal routing in 2-jump circulant networks. Technical Report 397, University of Cambridge, U.K., Computer Laboratory, 1996.

19. Gomez D., Gutierrez J., Ibeas A., and Beivide R. Optimal routing in double loop networks // Theor. Computer Sci. 2007. V.381. Iss. 1-3. P. 68-85.

20. Chen B.-X., Meng J.-X., and Xiao W.-J. A constant time optimal routing algorithm for undirected double-loop networks // Proc. MSN 2005, Wuhan, China, December 2005. P. 309-316.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

21. Монахова Э. А. Оптимальные обобщенные графы Петерсена // Дискретный анализ и исследование операций. 2009. Т. 16. №4. C. 47-60.

REFERENCES

1. Monakhova E. A. Strukturnye i kommunikativnye svoystva tsirkulyantnykh setey [Structural and communicative properties of circulant networks]. Prikladnaya Diskretnaya Matematika, 2011, no.3, pp. 92-115. (in Russian)

2. Monakhova E. A. A survey on undirected circulant graphs. Discrete Math., Algorithms Appl., 2012, no. 4. https://www.researchgate.net/publication/267143246_A_survey_ on_undirected_circulant_graphs.

3. Perez-Roses H. Algebraic and computer-based methods in the undirected degree/diameter problem — A brief survey. Electr. J. Graph Theory Appl., 2014, no. 2(2), pp. 166-190.

4. Romanov A., Amerikanov A., and Lezhnev E. Analysis of approaches for synthesis of networks-on-chip by using circulant topologies. J. Physics: Conf. Ser., 2018, vol. 1050, pp. 1-12.

5. Romanov A. Yu. Development of routing algorithms in networks-on-chip based on ring circulant topologies. Heliyon, 2019, vol. 5, iss. 4. https://www.sciencedirect.com/science/ article/pii/S2405844018355208

6. Shchegoleva M. A. and Romanov A. Yu. Razrabotka algoritma marshrutizatsii v setyakh na kristalle s topologiey mul'tiplikativnyy tsirkulyant [Development of routing algorithm in networks-on-chip with a multiplicative circulant topology]. Proc. MES-2018, Russia, Moscow, October 2018, pp. 119-124. (in Russian)

7. Monakhova E. A. Ob analiticheskom opisanii optimal'nykh dvumernykh diofantovykh struktur odnorodnykh vychislitel'nykh sistem [On analytical representation of optimal two-dimensional Diophantine structures of homogeneous computer systems]. Vychislitel'nye Sistemy, 1981, no. 90, pp. 81-91. (in Russian)

8. Beivide R., Herrada E., Balcazar J. L., and Arruabarrena A. Optimal distance networks of low degree for parallel computers. IEEE Trans. Computers, 1991, vol.40, no. 10, pp. 1109-1124.

9. Liestman A. L., Opatrny J., and Zaragoza M. Network properties of double and triple fixed-step graphs. Int. J. Found. Comp. Sci., 1998, vol.9, pp. 57-76.

10. Puente V., Gregorio J.-A., Prellezo J.M., et al. Adaptive bubble router: a design to balance latency and throughput in networks for parallel computers. Proc. ICCP'99, Toulouse, France, August/September 1999, pp. 58-67.

11. Puente V., Izu C., Gregorio J.-A., et al. Improving parallel system performance by changing the arrangement of the network links. Proc. ISC'00, Santa Fe, New Mexico, USA, May 8-11,

2000, pp.44-53.

12. Yang Y., Funashashi A., Jouraku A., et al. Recursive diagonal torus: An interconnection network for massively parallel computers. IEEE Trans. Parallel and Distributed Systems,

2001, vol. 12, no. 7, pp. 701-715.

13. Martines K., Stafford E., Bayvide R., and Gabidulin E. M. Predstavlenie geksagonal'nykh sozvezdiy s pomoshch'yu grafov Eyzenshteyna — Yakobi [Modeling hexagonal constellations with Eisenstein — Jacobi graphs]. Problemy Peredachi Informatsii, 2008, vol.44, nol, pp. 3-13. (in Russian)

14. Martinez C., Beivide R., Stafford E., et al. Modeling toroidal networks with the Gaussian integers. IEEE Trans. Comput., 2008, vol.57, no. 8, pp. 1046-1056.

15. Beivide R., Martinez C., Izu C., et al. Chordal topologies for interconnection networks. LNCS, 2003, vol.2858, pp. 385-392.

16. Cai J.-Y. et al. On routing in circulant graphs. LNCS, 1999, vol. 1627, pp. 360-369.

17. Monakhova E. A. Algoritmy mezhmashinnykh vzaimodeystviy i rekonfiguratsii grafov svyazey v vychislitel'nykh sistemakh s programmiruemoy strukturoy [Algorithms of interprocessor exchanges and reconfiguration of interconnection networks in computer systems with programmable structure]. Vychislitel'nye Sistemy, 1982, no. 94, pp. 81-102. (in Russian)

18. RobicB. Optimal routing in 2-jump circulant networks. Technical Report 397, University of Cambridge, U.K., Computer Laboratory, 1996.

19. Gomez D., Gutierrez J., Ibeas A., and Beivide R. Optimal routing in double loop networks. Theor. Computer Sci., 2007, vol.381, iss. 1-3, pp.68-85.

20. Chen B.-X., Meng J.-X., and Xiao W.-J. A constant time optimal routing algorithm for undirected double-loop networks. Proc. MSN 2005, Wuhan, China, December 2005, pp. 309-316.

21. Monakhova E. A. Optimal'nye obobshchennye grafy Petersena [Optimal generalized Petersen graphs]. Diskretnyy Analiz i Issledovanie Operatsiy, 2009, vol. 16, no. 4, pp. 47-60. (in Russian)

i Надоели баннеры? Вы всегда можете отключить рекламу.