
ВС для ГОС (ПИ) / Орлов, Цилькер - Организация ЭВМ (2004)
.pdf
Статические топологии 5 3 5
ность сети обычно ограничивается быстродействием концентратора, аналогично тому, как сдерживающим элементом в одношинной топологии выступает шина. По производительностиэти топологиитакжеидентичны. Основноепреимущество звездообразной,схемы в том, что конструктивное исполнение узлов на концах сети может быть очень простым.
Древовидные топологии
Еще одним вариантом структуры CMC является древовидная топология (рис. 12.12, а). Сеть строится по схеме так называемого строго двоичногодерева, где каждый узел более высокого уровня связан с двумя узлами следующего по порядку более низкого уровня. Узел, находящийся на более высоком уровне, принято называть родительским, а два подключенных к нему нижерасположенных узла — дочерними. В свою очередь, каждый дочерний узел выступает в качестве родительского для двух узлов следующего более низкого уровня. Отметим, что каждый узел связан только с двумя дочерними и одним родительским. Если h — высота дерева (количество уровней в древовидной сети), определяемая как max [log2 N],то такую сетьможноохарактеризоватьследующимипараметрами:D=2(h-1);d=3;l=N-1; В = 1. Так, вычислительная система из 262 144 узлов при решетчатой топологии (немного забегаем вперед) будет иметь диаметр 512, а в случае строго бинарного дерева — только 36. Топология двоичного дерева была использована в мультипроцессорной системе DADO из 1023 узлов, разработанной в Колумбийском университете.
а |
б |
Рис. 12.12. Древовидная топология: a — стандартное дерево; б — "толстое" дерево
При больших объемах пересылок между несмежными узлами древовидная топология оказывается недостаточно эффективной, поскольку сообщения должны проходить через один или несколько промежуточных звеньев. Очевидно, что на более высоких уровнях сети вероятность затора из-за недостаточно высокой пропускной способности линий связи выше. Этот недостаток устраняют с помощью топологии, называемой "толстым" деревом (рис. 12.12, б).
Идея "толстого" дерева состоит в увеличении пропускной способности коммуникационных линий на прикорневых уровнях сети. С этой целью на верхних уровнях сети родительские и дочерние узлы связывают не одним, а несколькими каналами, причем чем выше уровень, тем больше число каналов. На рисунке это отображено в виде множественных линий между узлами верхних уровней. Топология «толстого» дерева реализована в вычислительной системе СМ-5.

5 3 6 Глава 12. Топологии вычислительныхсистем
Решетчатые топологии
Поскольку значительная часть научно-технических задач связана с обработкой массивов, вполне естественным представляется стремление учесть это и в топологии ВС, ориентированных на подобные задачи. Такие топологии относят к решетчатым (mesh), а их конфигурация определяется видом и размерностью массива.
Простейшими примерами для одномерных массивов могут служить цепочка и кольцо. Для двумерных массивов данных наиболее подходит топология плоской прямоугольной матрицы узлов, каждый из которых соединен с ближайшим соседом (рис. 12.13, а). Такая сеть размерности имеет следующие характеристики; D = 2(т- 1);d=4;I=2N2m; В-т.
Если провести операцию свертывания (wraparound) плоской матрицы, соединив информационными трактами одноименные узлы левого и правого столбцов или одноименные узлы верхней и нижней строк плоской матрицы, то из плоской конструкции получаем топологию типа цилиндра (рис. 12.13, б). В топологии цилиндра каждый ряд (или столбец) матрицы представляет собой кольцо. Если одновременно произвести свертывание плоской матрицы в обоих направлениях, получим тороидальную топологию сети (рис. 12.13, в). Двумерный тор набазе решетки т x т обладает следующими параметрами:


5 3 8 Главе 12. Топологии вычислительныхсистем
определяет одномерный гиперкуб. Квадрат, образованный четырьмя узлами (рис. 12.15, б) — двумерный гиперкуб, а куб из 8 узлов (рис. 12.15, в) — трехмерный гиперкуб и т. д. Из этого ряда следует алгоритм получения m-мерного гиперкуба: начинаем с (m - 1)-мерного гиперкуба, делаем его идентичную копию, а затем добавляем связи между каждым узлом исходного гиперкуба и одноименным узлом копии. Гиперкуб размерности т (N - 2m) имеет следующие характеристики:
Увеличение размерности гиперкуба на 1 ведет к удвоению числа его узлов, увеличению порядка узлов и диаметра сети на единицу.
Обмен сообщениями в гиперкубе базируется на двоичном представлении номеров узлов. Нумерация узлов производится так, что для любой пары смежных узлов двоичное представление номеров этих узлов отличается только в одной позиции. В силу сказанного, узлы 0010 и 0110 — соседи, а узлы 0110 и 0101 таковыми не являются. Простейший способ нумерации узлов при создании m-мерного гиперкуба из двух (т- 1)-мерных показан на рис. 12.15, д. При копировании (m- 1)- мерного гиперкуба и соединении его с исходным (т - 1)-мерным гиперкубом необходимо, чтобы соединяемые узлы имели одинаковые номера. Далее к номерам узлов исходного гиперкуба слева добавляется бит, равный 0, а к номерам узлов копии — единичныйбит,
г |
а |
Рис. 12.15. Топология гиперкуба: а — одномерная; б —двумерная; в — трехмерная; г — четырехмерная;д —схемаформирования четырехмерного гиперкуба издвухтрехмерных
Номера узлов являются основой маршрутизации сообщений в гиперкубе. Такие номера в m-мерном гиперкубе состоят из т битов, а пересылка сообщения из узла А в узел В выполняется за m шагов. На каждом шаге узел может либо сохранить сообщение и не пересылать его дальше до следующего шага, либо отправить его дальше по одной из линий. На шаге i узел, хранящий сообщение, сравнивает (i-й бит своего собственного номера с i-м битом номера узла назначения. Если они совпадают, продвижение сообщения прекращается, если нет — сообщение переда-

Статические топологии |
5 3 9 |
ется вдоль линии i-гo измерения. Линией i-го измерения считается та, которая была добавлена на этапе построения t-мерного гиперкуба из двух (i - 1)-мерных.
Создание гиперкуба при большом числе процессоров требует увеличения порядка узлов, что сопряжено с большими техническими проблемами. Компромиссное решение, несколько увеличивающее диаметр сети при сохранении базовой структуры, представляет собой куб из циклически соединенных узлов (рис. 12.16). Здесь порядок узла равен трем при любом размере сети.
Рис. 12.16. Куб из циклически соединенныхузлов третьего порядка
Топология k-ичного n-куба
Названиетопологииозначает,что вней реализуется куб, имеющийиизмерений, причем каждое измерение содержит k узлов (N = kll). Каждому узлу назначен n-разрядный номер в системе счисления с основанием k, и он связан с узлом, номер которого отличается только в одной цифре и только на единицу. k-ичный n-куб может быть построен путем объединения k экземпляров k-ичных (n - 1)-кубов в кольцо.
Многие ранее рассмотренные топологии представляют собой варианты топологии k-ичного n-куба:
-k-ичный 1-куб— кольцо;
-k-ичный 2-куб — двумерный тор;
-k-ичный 3-куб — трехмерный тор;
-4-ичный 2-куб — плоская решетка 4x4;
-2-ичный n-куб — гиперкуб.
Доказано, что эффективность топологии, а также ее масштабируемость улучшаются с ростом значения k и уменьшением количества измерений п.
Данные по рассмотренным статическим топологиям сведены в табл. 12.1.


Динамические топологии |
5 4 1 |
(перестановок — permutations). Проблема усложняется, когда сеть должна обеспечивать одновременную передачу данных между многими парами терминальных узлов (multicast), причем так, чтобы не возникали конфликты (блокировки) из-за передачи данных через одни и те же коммутирующие элементы в одно и то же время. Подобные топологии должны поддерживать n" перестановок. С этих позиций все топологии CMC с коммутацией разделяются на три типа: неблокирующие, неблокирующие с реконфигурацией и блокирующие.
Внеблокирующих сетях обеспечивается соединение между любыми парами входных и выходных терминалов без перенастройки коммутирующих элементов сети, В рамках этой группы различают сети строго неблокирующие (strictly nonblocking) и неблокирующие в широком смысле (wide sense non-blocking), В строго неблокирующих сетях возникновение блокировок принципиально невозможно
всилу примененной топологии. К таким относятся матричная сеть и сеть Клоша. Неблокирующими в широком смысле называют топологии, в которых конфликты при любых соединениях не возникают только при соблюдении определенного алгоритма маршрутизации.
Внеблокирующих сетях с реконфигурацией также возможна реализация соединения между произвольными входными и выходными терминалами, но для этого необходимо изменить настройку коммутаторов сети и маршрут связи между соединенными терминалами. Примерами таких сетей служат сети Бенеша, Бэтчера, «Мемфис» и др.
Вблокирующихсетях, если какое-либо соединение уже установлено, это может стать причиной невозможности установления других соединений. К блокирующим относятся сети «Баньяна, «Омега», n-куб и др.
Шинная топология
Сети с шинной архитектурой — наиболее простой и дешевый вид динамических сетей. При одношинной топологии, показанной на рис. 12,17, а, все узлы имеют порядок 1 (d=1) и подключены к одной совместно используемой шине. В каждый момент времени обмен сообщениями может вести только одна пара узлов, то есть на период передачи сообщения шину можно рассматривать как сеть, состоящую из двух узлов, в силу чего ее диаметр всегда равен 1 (D=1), Также единице равна и ширина бисекции (B), поскольку топология допускает одновременную передачу только одного сообщения. Однотипная конфигурация может быть полезной, когда число узлов невелико, то есть когда трафик шины мал по сравнению с ее пропускной способностью. Одношинную архитектуру часто используют для объединения несколькихузлов в группу (кластер), послечего из таких кластеров образуют сеть на базе других видов топологии.
Многошинная топология предполагает наличие п независимых шин и подключение узлов к каждой из этих шин (рис, 12.17, б), что позволяет вести одновременную пересылку сообщений между п парами узлов. Такая топология вполне пригодна для высокопроизводительных ВС. Диаметр сети по-прежнему равен 1, в то время как пропускная способность возрастает пропорционально числу шин. По сравнению с одношинной архитектурой управление сетью с несколькими шинами сложнее из-за необходимости предотвращения конфликтов, возникающих, когда

5 4 2 Глава 12. Топологии вычислительных систем
в парах узлов, обменивающихся по разным шинам, присутствует общий узел. Кроме того, с увеличением порядка узлов сложнее становится их техническая реализация.
Рис. 12.17. Шинная топология: а —с одной шиной; б —со многими шинами
Топология перекрестной коммутации («кроссбар»)
Топология перекрестной коммутации мультипроцессорной системы (crossbar switch system) на основе матричного (координатного) коммутатора представляет собой классический пример одноступенчатой динамической сети. Не совсем официальлый термин «кроссбар», который будет применяться в дальнейшем для обозначения данной топологии, берет свое начало с механических координатных (шаговых) искателей, использовавшихся на заре,телефонии. Кроссбар nхm (рис. 12.18) представляет собой коммутатор, способный соединить п входных и т выходных терминальных узлов с уровнем параллелизма, равным min (n, m). Главное достоинство рассматриваемой топологии состоит том, что сеть получается неблокирующей и обеспечивает меньшую задержку в передаче сообщений по сравнению с другими топологиями, поскольку любой путь содержит только один ключ. Тем не менее, из-за того, что число ключей в сети равно п х т, использование кроссбара в больших сетях становится непрактичным, хотя это достаточно хороший выбор для малых сетей. Ниже будет показано, что для больших неблокирующих сетей можно предложить иные топологии, требующие существенно меньшего количества ключей.
Рис. 12.18. Матричный коммутатор n x m
Когда п = т, о такой ситуации говорят «полный кроссбар» (присвоим мужской род, хотя, как и все неодушевленное, в английском это средний род). «Полный кроссбар»- на n входов и п выходов содержит пг ключей. Диаметр сети равен 1, ширина бисекции — n/2. Этот вариант часто используют в сетях с древовидной топологией

Динамические топологии 5 4 3
для объединения узлов нижнего уровня, роль которых играют небольшие группы (кластеры) процессоров и модулей памяти.
Современные коммерчески доступные матричные коммутаторы способны соединять до 256 устройств. Топология используется для организации соединений в некоторых серийно выпускаемых вычислительных системах, например в Fujitsu VPP500 224x224.
Коммутирующие элементы сетей сдинамическойтопологией
Поскольку последующие рассматриваемые топологии относятся к многоступенчатым, сначала необходимо определить типы коммутирующих элементов, применяемых в ступенях коммутации таких сетей. По этому признаку различают:
-сети на основе перекрестной коммутации;
-сети на основе базового коммутирующего элемента.
Всетях, относящихся к первой группе, в качестве базового коммутирующего элемента используется кроссбар п х т. Для второй категории роль коммутирующего элемента играет -«полный кроссбар» 2x2. Потенциально такой коммутатор управляется четырехразрядным двоичным кодом и обеспечивает 16 вариантов коммутации, из которых полезными можно считать 12. На практике же обычно задействуют только четыре возможных состояния кроссбара 2x2, которые определяются двухразрядным управляющим кодом (рис. 12.19). Подобный кроссбар называют базовым коммутирующим элементом (БКЭ) или b-элементом. Первые два состояния БКЭ являются основными: в них входная информация может транслироваться на выходы прямо либо перекрестно. Два следующих состояния предназначены для широковещательного режима, когда сообщение отодного узла одновременно транслируется навсе подключенные к нему прочие узлы. Широковещательный режим используется редко. Сигналы на переключение БКЭ в определенное состояние могут формироваться устройством управления сетью. В более сложном варианте БКЭ эти сигналы формируются внутри самого b-элемента, исходя из адресов пунктов назначения, содержащихся во входных сообщениях.
Рис. 12.19. Состояния b-элемента
Структура b-элемента показана на рис. 12.20.
Выбор в пользу того или иного варианта коммутации входных сообщений (пакетов) осуществляется схемой логики принятия решения b-элемента. Конкретный вид коммутации реализуется сдвоенным мультиплексором, управляемым с выходазащелки, где хранится результат работы схемы логики принятия решения. Элементы задержки обеспечивают синхронизацию процессов принятия решения и пересылки пакетов с входов на выходы.

5 4 4 Глава 12. Топологиивычислительныхсистем
*
Рис.12.20. Структура b-элемента
Сложность b-элемента находится в зависимости от логики принятия решения. В ряде архитектур БКЭ их состояние определяется только битом активности пакета. В иных архитектурах используются адреса источника и получателя данных, хранящиеся в заголовке пакета, что может потребовать поддержания в БКЭ специальных таблиц. Тем не менее во всех своих вариантах b-элементы достаточно просты, что позволяет реализовать их на базе интегральных микросхем.
Топология «Баньян»
Данный вид сети получил свое название из-за того, что его схема напоминает воздушные корни дерева баньян (индийской смоковницы) [98]. В топологии «Баньян» между каждой входной и выходной линиями существует только один путь [156]. Сеть n х п (п - 2т) состоит из тп/2 базовых коммутирующих элементов.
Сеть «Баньян» 4x4 по топологии совпадаете сетью «Баттерфляй». На рис. 12.21 показана сеть «Баньян» 8x8. Передаваемый пакет в своем заголовке содержит трехразрядный двоичный номер узла назначения. Данная сеть относится к сетям с самомаршрутизацией (self-routing), поскольку адрес пункта назначения не только определяет маршрут сообщения к нужному узлу, но и используется для управления прохождением сообщения по этому маршруту. Каждый БКЭ, куда попадает пакет, просматривает один бит адреса и в зависимости от его значения направляет сообщение на выход 1 или 2. Состояние b-элементов первой ступени сети (левый столбец БКЭ) определяется старшим битом адреса узла назначения. Средней ступенью (второй столбец) управляет средний бит адреса, а третьей ступенью (правый столбец) — младший бит. Если значение бита равно 0, то сообщение пропускается через верхний выход БКЭ, а при единичном значении — через нижний. На рисунке показан маршрут сообщения с входного узла 2 (0102) к выходному узлу 5 (1012). Адрес узла назначения содержится в заголовке сообщения.
Топология «Баньян» весьма популярна из-за того, что коммутация обеспечивается простыми БКЭ, работающими с одинаковой скоростью, сообщения передаются параллельно. Кроме того, большие сети могут быть построены из стандартных модулей меньшего размера.