Нам понадобится далее понятие диаметра коммуникационной сети d, которым называется максимальное расстояние между двумя произвольными узлами этой сети. Расстояние между узлами коммуникационной сети - количество ребер, которые образуют кратчайший путь между двумя узлами в графе коммуникационной сети.
С точки зрения топологии коммуникационные сети разделяются на сети с фиксированной топологией и на реконфигурируемые сети. С другой стороны, с этой же точки зрения коммуникационные сети разделяются на регулярные сети и нерегулярные сети.
Чаще всего в параллельных вычислительных системах используют регулярные сети с фиксированной топологией. Среди этих сетей наиболее распространены топологии сетей, предоставленные на Рис.1–8, где квадратики обозначают процессоры системы.
Рис. 1.  Некоммутируемая коммуникационная сеть с топологий сети типа «шина» (bus). d=1 .
Диаметр сети с топологией типа "шина" - см. рис. 1. Здесь и далее – количество процессоров в системе. Заметим, что шину можно интерпретировать как сетевой коммутатор с временным разделением (см. параграф 3).
Рис. 2.  Некоммутируемая коммуникационная сеть с топологий сети типа «линейка» (linear array, farm).
В сети с топологией типа "линейка" (см. рис. 2) каждый процессор связан непосредственно только с двумя соседними (с предыдущим и последующим) процессорами. Топология является, с одной стороны, просто реализуемой, а? с другой стороны, соответствует структуре передачи данных при решении многих вычислительных задач. Диаметр сети с топологий типа «линейка» .
Рис. 3.  Некоммутируемая коммуникационная сеть с топологий сети типа «кольцо» (ring).
Сеть с топологией типа "кольцо" (см. рис. 3) получается из топологии типа «линейка» путем соединения между собой первого и последнего процессоров «линейки». Диаметр сети с топологий типа «кольцо» .
Сеть с топологий типа «двумерная решетка» (см. рис. 4) может быть достаточно просто реализована и, вместе с тем, эффективно использована при реализации многих численных алгоритмов (например, при интегрировании многих систем дифференциальных уравнений в частных производных). Диаметр сети с топологий типа . Из сети с топологией типа «двумерная решетка» может быть получена сеть с топологией сети типа «тор». Для этого достаточно соединить между собой граничные процессоры по «горизонтали» - , ,…, и по «вертикали» , ,…, .
Рис. 4.  Некоммутируемая коммуникационная сеть с топологий сети типа «двумерная решетка» (mesh).
Рис. 5.  Пример (N=6) некоммутируемой полносвязной коммуникационной сети – «клика» (full connect).
В полносвязной сети (см. рис. 5) между любой парой процессоров существует непосредственная связь. Полносвязная сеть обеспечивает минимальные время обмена данными между любыми двумя процессорами системы, однако сложно реализуема и имеет высокую стоимость при большом количестве процессоров. Диаметр сети с топологией типа "клика" .
Рис. 6.  Некоммутируемая коммуникационная сеть с топологий сети типа «бинарное дерево» (tree).
Диаметр сети с топологией типа "бинарное дерево" log2 - см. рис. 6.
Рис. 7.  Пример (N=7) некоммутируемой коммуникационной сети с топологий сети типа «звезда» (star).
Сеть с топологией типа "звезда" (см. рис. 7) эффективна, например, при организации централизованных схем параллельных вычислений. Диаметр сети с топологий типа «звезда» =2.
Диаметр сети с топологией типа "гиперкуб" =log2, =2p где – количество измерений гиперкуба – см. рис. 8. В сети с топологий «гиперкуб» диаметр сети медленно растет с ростом числа процессоров в системе. Например, при , при , . заметим, что в p-мерном гиперкубе каждый процессор непосредственно связан ровно с p соседями.
Рис. 8.  Пример (трехмерный гиперкуб, N=8) некоммутируемых коммуникационных сетей с топологий сети типа «гиперкуб» (hypercube).
Процессоры в гиперкубе нумеруют с помощью бинарного отраженного кода Грея по следующему правилу (см. рис. 8):
Утверждение. Если процессоры в гиперкубе пронумерованы с помощью двоичного отраженного кода Грея по указанному выше правилу, то расстояние между двумя любыми процессорами равно количеству различающихся битовых значений в номерах этих процессоров
Отсутствие в коммуникационной сети непосредственной связи между двумя некоторыми процессорами приводит к необходимости определения оптимального пути передачи данных между этими процессорами (если, конечно, они коммутируют). В общей постановке эта задача представляет собой одну из трудоемких задач теории графов. Для гиперкубов решение этой задачи существенно упрощает сделанное выше утверждение.
Заметим, что вычислительные системы, имеющее большое количество процессоров, имеют обычно иерархическую коммуникационную сеть. В такой сети все процессоры разбиваются на группы с одинаковым и относительно небольшим количеством процессоров (~32 - 64) в каждой. Физически группа процессоров монтируется в один блок или стойку. Каждая из этих групп процессоров имеет коммуникационную сеть одной топологии. Группы процессоров объединяются между собой коммуникационной сетью той же или другой топологии.
Бинарный отраженный код Грея.
Далее нам понадобятся некоторые сведения о бинарном отраженном коде Грея (binary reflected Gray code). В бинарном отраженном коде Грея соседние по величине числа отличаются лишь в одной кодовой позиции, т.е. при последовательном переходе от одного числа к соседнему в коде Грея изменяется только один из двоичных разрядов. В отличие от обычного двоичного кода, например, 112=310, 1002=410.
Число , записанное в двоичном коде, можно преобразовать в число в коде Грея следующим образом (см. пример 1):

где означает сложение по модулю два, т.е. сложение по правилу
00=0;
01=1;
10=1;
11=0.
Аналогично, число , записанное в коде Грея, можно преобразовать в двоичное число =... следующим образом (см. пример 2):

Свойство кода Грея изменяться только в одном разряде при последовательном переходе от одного числа к другому определяет его преимущество перед другими кодами при создании кодирующих дисков. Это же свойство кода Грея делает целесообразным его применение при решении дискретных задач оптимизации с помощью генетического алгоритма.
Пример 1
Преобразуем двоичное число 110101 в двоичный код Грея (см. рис. 9).
Рис. 9.  К примеру 1. (110101)B=(101111)G.
Пример 2
Преобразуем число в коде Грея 101111 в двоичное (см. рис. 10).
Рис. 10.  К примеру 2. (101111)G=(110101)B.