Flit (компьютерные сети) - Flit (computer networking)

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

А виртуальное соединение содержит состояние, необходимое для координации обработки всплесков пакета. Как минимум, это состояние определяет выходной порт текущего узла для следующего перехода маршрута и состояние виртуального соединения (простаивает, ожидает ресурсов или активно). Виртуальное соединение может также включать в себя указатели на флиты пакета, которые буферизированы на текущем узле, и количество флит-буферов, доступных на следующем узле.[2]:237

Межкомпонентная сеть: основы

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

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

Определения взаимосвязанной сети

Формальное определение межсетевой сети

"Межсетевое соединение я представляет собой сильно связный ориентированный мультиграф, Я = G (N, C). Множество вершин мультиграфа N включает набор узлов обрабатывающих элементов п и набор узлов маршрутизатора RT. Набор дуг C представляет собой набор однонаправленных каналов (возможно, виртуальных), которые соединяют либо элементы обработки с маршрутизаторами, либо маршрутизаторы друг с другом ».[4]

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

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

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

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

Переключение Стратегия : Алгоритм маршрутизации определяет только путь, который сообщение должно пройти, чтобы достичь узла назначения. Фактическое прохождение сообщения в сети является обязанностью стратегии коммутации. Существует два основных типа стратегий переключения: цепь переключена network - это сеть, в которой путь зарезервирован и заблокирован для других сообщений, пока сообщение не будет доставлено на узел назначения. Известным примером сети с коммутацией каналов являются телефонные службы, которые устанавливают канал через множество коммутаторов для вызова. Альтернативный подход - с коммутацией пакетов сеть, в которой сообщения разбиваются на более мелкие компактные объекты, называемые пакеты. Каждый пакет помимо порядкового номера содержит часть данных. Это означает, что теперь каждый пакет можно передавать индивидуально и собирать в месте назначения на основе порядкового номера.

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

Характеристики и метрики сети

В каждой сети есть ширина ш, и трансмиссия ставка ж, которые решают пропускная способность сети как б = ш * ж. Объем данных, передаваемых за один цикл, называется физической единицей или фит. Как видно, ширина сети также равна размеру фитинга. Следовательно, пропускную способность сети также можно определить в единицах phit / sec. Каждое передаваемое сообщение можно разбить на более мелкие фрагменты объектов фиксированной длины, которые называются пакеты. Пакеты, в свою очередь, могут быть разбиты на блоки управления потоком сообщений или порхает.

Потребность во флитах

Важно отметить, что фиты представляют собой логические единицы информации, тогда как фиты представляют физический домен, то есть фиты представляют собой количество битов, которые могут быть переданы параллельно в одном цикле. Рассмотрим Cray T3D.[6] Он имеет сеть межсоединений, в которой используется управление потоком сообщений уровня flit, при этом каждый flit состоит из восьми 16-битных phit. Это означает, что его размер составляет 128 бит, а размер phit - 16 бит. Также рассмотрите переключатель IBM SP2.[7] Он также использует управление потоком сообщений уровня flit, но его размер flit равен размеру phit, который установлен в 8 бит.

Определение ширины полосы

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

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

В зависимости от размера пакетов необходимо определить ширину физического канала между двумя маршрутизаторами. Это означает, что если размер пакета большой, ширина канала также должна оставаться большой, однако большая ширина канала подразумевает большую площадь и более высокое рассеивание мощности. В общем, ширина ссылок сведена к минимуму. Ширина звена (которая также определяет ширину фитинга) теперь влияет на выбор ширины фитинга.[8]

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

Пример

Пример того, как работает флит в сети

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

  • Пакет будет разделен на секции W, X, Y и Z.
  • Буфер передачи в A загрузит первый flit Z и отправит его в B.
  • После того, как B получит Z, B переместит флит из буфера.
  • Затем буфер передачи в A загрузит следующий флит Y и отправит его в B.
  • Продолжайте выполнять вышеуказанные действия, пока все флиты не будут переданы B.
  • Затем B соберет все флиты, чтобы получить весь пакет.

Резюме

Flit (единицы управления потоком / цифры) - это единичный объем данных, когда сообщение передается на канальном уровне. Флит может быть принят или отклонен на стороне приемника в зависимости от протокола управления потоком и размера приемного буфера. Механизм управления потоком на уровне канала позволяет получателю отправлять непрерывный поток сигналов, чтобы контролировать, следует ли ему продолжать посылать флиты или прекратить посылать флиты. Когда пакет передается по каналу связи, перед началом передачи пакет необходимо разделить на несколько фрагментов.[3]

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

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

  1. ^ https://www.springer.com/cda/content/document/cda_downloaddocument/9781461407904-c1.pdf
  2. ^ Уильям Джеймс Далли; Брайан Таулз (2004). «13.2.1». Принципы и практика межсетевых соединений. Издательство Morgan Kaufmann Publishers, Inc. ISBN  978-0-12-200751-4.
  3. ^ а б Солихин, Ян (2009). Основы параллельной компьютерной архитектуры, многочиповых и многоядерных систем. ООО "Солихин Паблишинг энд Консалтинг". п. 363.
  4. ^ Duato, J .; Lysne, O .; Pang, R .; Пинкстон, Т. М. (2005-05-01). «Теория динамической реконфигурации сети без тупиков. Часть I». Транзакции IEEE в параллельных и распределенных системах. 16 (5): 412–427. Дои:10.1109 / TPDS.2005.58. ISSN  1045-9219.
  5. ^ Эльзевир. «Архитектура параллельного компьютера - 1-е издание». www.elsevier.com. Получено 2016-12-03.
  6. ^ Скотт, Стивен Л .; Торсон, Грег (1 января 1994). «Оптимизированная маршрутизация в Cray T3D». Труды Первого международного семинара по параллельной компьютерной маршрутизации и связи. PCRCW '94. Лондон, Великобритания, Великобритания: Springer-Verlag: 281–294. ISBN  978-3540584292.
  7. ^ «Коммуникационное программное обеспечение и параллельная среда IBM SP2». domino.research.ibm.com. 2001-02-23. Получено 2016-11-29.
  8. ^ а б Дуато, Хосе (2011-08-06). Межсетевые соединения. Морган Кауфманн. ISBN  9780123991805.