stringtranslate.com

Сеть бабочек

Рисунок 1. Сеть Butterfly для 8 процессоров.

Сеть -бабочка — это метод объединения нескольких компьютеров в высокоскоростную сеть. Эту форму топологии многоступенчатой ​​сети можно использовать для соединения различных узлов в многопроцессорной системе. Сеть межсоединений для многопроцессорной системы с общей памятью должна иметь низкую задержку и высокую пропускную способность в отличие от других сетевых систем, таких как локальные сети (LAN) или Интернет [ нужна ссылка ] по трем причинам:

Компоненты

Основными компонентами межсетевой сети являются :

Эти многокаскадные сети имеют более низкую стоимость, чем перекрестная сеть , но вызывают меньшую конкуренцию, чем шина . Отношение коммутационных узлов к процессорным узлам больше, чем в сети-бабочке. Такая топология , где отношение узлов коммутации к узлам процессора больше единицы, называется косвенной топологией. [1]

Сеть получила свое название от связей между узлами в двух соседних рядах (как показано на рисунке 1), которые напоминают бабочку . Объединение верхних и нижних рангов в один создает сеть обернутых бабочек. [1] На рисунке 1, если узлы ранга 3 соединяются обратно с соответствующими узлами ранга 0, то это становится обернутой сетью-бабочкой.

BBN Butterfly , массивный параллельный компьютер, созданный Болтом, Беранеком и Ньюманом в 1980-х годах, использовал межсетевую сеть типа «бабочка». [2] Позже, в 1990 году, машина Cray C90 компании Cray Research использовала сеть «бабочка» для связи между своими 16 процессорами и 1024 банками памяти. [3]

Построение сети бабочек

Для сети-бабочки с p процессорными узлами должно быть p(log 2 p + 1) коммутационных узлов. На рисунке 1 показана сеть с 8 процессорными узлами, что подразумевает 32 узла коммутации. Он представляет каждый узел как N (ранг, номер столбца). Например, узел в столбце 6 ранга 1 представлен как (1,6), а узел в столбце 2 ранга 0 представлен как (0,2). [1]

Для любого 'i' больше нуля узел коммутации N(i,j) подключается к N(i-1,j) и N(i-1,m), где m - инвертированный бит в i- й позиции Дж. Например, рассмотрим узел N(1,6): i равно 1, а j равно 6, поэтому m получается путем инвертирования i-го бита 6.

В результате узлы, подключенные к N(1,6), имеют вид:

Таким образом, N(0,6), N(1,6), N(0,2), N(1,2) образуют узор бабочки. На рисунке присутствует несколько паттернов бабочек, поэтому эта сеть называется сетью бабочек.

Сетевая маршрутизация «бабочка»

Рисунок 2. Сетевая маршрутизация типа «бабочка».

В обернутой сети-бабочке (что означает, что ранг 0 объединяется с рангом 3) сообщение отправляется от процессора 5 к процессору 2. [1] На рисунке 2 это показано путем репликации узлов процессора ниже ранга 3. Передаваемый пакет по ссылке имеет форму:

Заголовок содержит назначение сообщения, то есть процессор 2 (010 в двоичном формате) . Полезная нагрузка — это сообщение, M и трейлер содержит контрольную сумму . Следовательно, фактическое сообщение, передаваемое процессором 5, имеет вид:

При достижении узла коммутации один из двух выходных каналов выбирается на основе старшего бита адреса назначения. Если этот бит равен нулю, выбрано левое соединение. Если этот бит равен единице, выбрана правильная ссылка. Впоследствии этот бит удаляется из адреса назначения в пакете, передаваемом по выбранному каналу. Это показано на рисунке 2.

Параметры сети «Бабочка»

Несколько параметров помогают оценить топологию сети. Ниже кратко изложены наиболее важные из них, имеющие отношение к проектированию крупномасштабных многопроцессорных систем, и дается объяснение того, как они рассчитываются для сети-бабочки с 8 процессорными узлами, как показано на рисунке 1. [ нужна цитата ]

Сравнение с другими сетевыми топологиями

В этом разделе сеть-бабочка сравнивается с сетями линейного массива, кольца, двумерной сетки и гиперкуба . [4] Линейный массив можно рассматривать как топологию одномерной сетки. Соответствующие параметры собраны в таблице [ нужна ссылка ] («p» обозначает количество процессорных узлов).

Преимущества

Недостатки

Разница между гиперкубом и бабочкой заключается в их реализации. Сеть «Бабочка» имеет симметричную структуру, в которой все процессорные узлы между двумя рангами равноудалены друг от друга, тогда как гиперкуб больше подходит для многопроцессорной системы, которая требует неравных расстояний между ее узлами. Если посмотреть на количество требуемых каналов, может показаться, что гиперкуб дешевле и проще по сравнению с сетью-бабочкой, но по мере того, как количество процессорных узлов превышает 16, стоимость маршрутизатора и сложность (представленная по степени) сети-бабочки становятся ниже. чем гиперкуб, поскольку его степень не зависит от количества узлов.

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

Смотрите также

Рекомендации

  1. ^ abcd Лейтон, Ф. Томсон (1992). Введение в параллельные алгоритмы и архитектуры: массивы, деревья, гиперкубы . Издательство Морган Кауфманн. ISBN 1-55860-117-1.
  2. ^ Т., ЛеБлан; М., Скотт; К., Браун (1 января 1988 г.). Крупномасштабное параллельное программирование: опыт работы с параллельным процессором BBN Butterfly (отчет). Проект «Бабочка». hdl : 1802/15082.
  3. ^ Джадхав, Сунита С. (2009). Передовая компьютерная архитектура и вычисления . Технические публикации. стр. Раздел 3–22. ISBN 9788184315721.
  4. ^ М. Арджоманд, Х. Сарбази-Азад, «Оценка производительности встроенной сети Butterfly для MPSoC», Международная конференция по проектированию SoC , стр. 1–296-1-299, 2008 г.