Учебники

Проектирование соединительных сетей

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

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

Организационная структура

Взаимосвязанные сети состоят из следующих трех основных компонентов:

  • Соединения. Соединение — это кабель из одного или нескольких оптических волокон или электрических проводов с разъемом на каждом конце, подключенным к порту коммутатора или сетевого интерфейса. Посредством этого аналоговый сигнал передается с одного конца, принимается на другом для получения исходного цифрового информационного потока.

  • Коммутаторы . Коммутатор состоит из набора входных и выходных портов, внутренней «поперечины», соединяющей все входы со всеми выходами, внутренней буферизации и логики управления для осуществления соединения ввода-вывода в каждый момент времени. Как правило, количество входных портов равно количеству выходных портов.

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

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

Коммутаторы . Коммутатор состоит из набора входных и выходных портов, внутренней «поперечины», соединяющей все входы со всеми выходами, внутренней буферизации и логики управления для осуществления соединения ввода-вывода в каждый момент времени. Как правило, количество входных портов равно количеству выходных портов.

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

Взаимосвязанная сеть

Взаимосвязанные сети состоят из коммутационных элементов. Топология — это шаблон для соединения отдельных коммутаторов с другими элементами, такими как процессоры, память и другие коммутаторы. Сеть позволяет обмениваться данными между процессорами в параллельной системе.

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

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

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

    • Многоступенчатые сети — многоступенчатая сеть состоит из нескольких этапов коммутаторов. Он состоит из переключателей ‘axb’, которые подключаются с использованием определенной схемы межкаскадного соединения (ISC). Небольшие коммутационные элементы 2×2 являются распространенным выбором для многих многоступенчатых сетей. Количество ступеней определяет задержку в сети. Выбирая различные шаблоны межкаскадного соединения, можно создавать различные типы многоступенчатых сетей.

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

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

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

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

Многоступенчатые сети — многоступенчатая сеть состоит из нескольких этапов коммутаторов. Он состоит из переключателей ‘axb’, которые подключаются с использованием определенной схемы межкаскадного соединения (ISC). Небольшие коммутационные элементы 2×2 являются распространенным выбором для многих многоступенчатых сетей. Количество ступеней определяет задержку в сети. Выбирая различные шаблоны межкаскадного соединения, можно создавать различные типы многоступенчатых сетей.

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

Оценка компромиссов проектирования в топологии сети

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

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

маршрутизация

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

Механизмы маршрутизации

Арифметика, выбор порта на основе источника и просмотр таблицы — это три механизма, которые высокоскоростные коммутаторы используют для определения выходного канала на основе информации в заголовке пакета. Все эти механизмы проще, чем общие вычисления маршрутизации, реализованные в традиционных маршрутизаторах LAN и WAN. В параллельных компьютерных сетях коммутатор должен принимать решение о маршрутизации для всех своих входов в каждом цикле, поэтому механизм должен быть простым и быстрым.

Детерминированная маршрутизация

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

Тупик свободы

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

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

Дизайн переключателя

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

Порты

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

Внутренний канал данных

Канал данных — это соединение между каждым из набора входных портов и каждым выходным портом. Обычно это называется внутренней поперечиной. Неблокирующая поперечина — это та, где каждый входной порт может быть подключен к отдельному выходу в любой перестановке одновременно.

Канальные буферы

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

Управление потоком

Когда несколько потоков данных в сети пытаются использовать одни и те же общие сетевые ресурсы одновременно, необходимо предпринять некоторые действия для управления этими потоками. Если мы не хотим потерять какие-либо данные, некоторые потоки должны быть заблокированы, а другие продолжаются.

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