Флит (компьютерные сети)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Характеристики и показатели сети

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

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

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

Определение ширины флит

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

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

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

На этом этапе важно отметить, что хотя межмаршрутизаторные передачи обязательно строятся в терминах phits, методы коммутации работают в терминах flits. [7] Для получения более подробной информации о различных методах коммутации см. wormhole switching и cut-through switching . Поскольку большинство методов коммутации работают с flits, они также оказывают большое влияние на определение ширины flit. Другие определяющие факторы включают надежность, производительность и сложность реализации.

Пример

Пример работы flits в сети

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

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

Краткое содержание

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

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

Ссылки

  1. ^ "Архивная копия" (PDF) . Архивировано из оригинала (PDF) 2015-03-20 . Получено 2018-10-25 .{{cite web}}: CS1 maint: архивная копия как заголовок ( ссылка )
  2. ^ Уильям Джеймс Далли; Брайан Таулз (2004). "13.2.1". Принципы и практика сетей взаимосвязей . Morgan Kaufmann Publishers, Inc. ISBN 978-0-12-200751-4.
  3. ^ Дуато, Дж.; Лисн, О.; Панг, Р.; Пинкстон, Т. М. (2005-05-01). «Теория динамической реконфигурации сети без тупиков. Часть I». Труды IEEE по параллельным и распределенным системам . 16 (5): 412–427. doi :10.1109/TPDS.2005.58. ISSN  1045-9219. S2CID  15354425.
  4. ^ Elsevier. "Архитектура параллельных компьютеров - 1-е издание". www.elsevier.com . Получено 03.12.2016 .
  5. ^ Скотт, Стивен Л.; Торсон, Грег (1994-01-01). «Оптимизированная маршрутизация в Cray T3D». Труды Первого международного семинара по маршрутизации и связи на параллельных компьютерах . PCRCW '94. 853. Лондон, Великобритания, Великобритания: Springer-Verlag: 281–294. doi :10.1007/3-540-58429-3_44. ISBN 978-3540584292.
  6. ^ "Коммуникационное программное обеспечение и параллельная среда IBM SP2". domino.research.ibm.com . 2001-02-23 . Получено 2016-11-29 .
  7. ^ Аб Дуато, Хосе (6 августа 2011 г.). Межсетевые сети . Морган Кауфманн. ISBN 9780123991805.
Взято с "https://en.wikipedia.org/w/index.php?title=Flit_(компьютерная_сеть)&oldid=1244234420"