Коммутационные средства матричных СБИС-мультипроцессоров
Как уже отмечалось, коммуникационная сеть является важнейшей составляющей матричного мультипроцессора. От ее пропускной способности и вносимой задержки зависит время передачи данных между процессорами (коммуникационная задержка), длительность циклов обращения к распределенной памяти, что непосредственно влияет на производительность ММП.
КС ММП представляет собой матрицу идентичных коммутационных устройств, каждое из которых соединено со своими ближайшими соседями согласно топологической структуре сети (см., например, рис. 1.3). Коммутационные устройства (КУ), применяемые в современных мультипроцессорах, чаще всего используют режим пакетной коммутации (packet switching) [69, 73, 78, 110, 114], реже - схемную коммутацию (circuit switching), отдельно либо в сочетании с пакетной коммутацией [70, 81, 83, 101-103]. Они во многом подобны ATM- коммутаторам вычислительных сетей, абонентских систем и мультикомпьютеров, реализующим принцип wormhole-маршрутизации [34-37, 67, 68, 76, 80, 107, 111]. Основным отличием КУ ММП является то, что пакеты имеют значительно меньшую длину (длина ATM-пакета, согласно стандарту, составляет 64 байта [107]) и разбиваются на фрагменты одинаковой разрядности, которые передаются по шинам в параллельном коде за один-два такта. Указанные фрагменты (называемые
флитами, flit) могут группироваться (режим групповой передачи) либо передаваться независимо друг от друга (режим независимой передачи) [42, 74, 84, 116]. При независимой передаче разрядность флитов получается несколько больше, чем при групповой передаче, поскольку адрес приемника содержится в каждом флите, однако процедуры маршрутизации и коммутации значительно проще, так как не требуется поддержка механизма виртуальных каналов wormhole- маршрутизации, что приводит к более простым схемотехническим решениям [24, 29, 33, 42, 56].
КУ ММП включает множество входов (входных портов), множество выходов (выходных портов) и состоит из коммутирующей и буферизующей.
Коммутирующую часть нередко называют переключателем, а буферизующую - внутренней памятью КУ. Поступая на один из входов, каждый пакет обрабатывается коммутирующей частью и согласно адресу, указанному в заголовке или адресном поле пакета, выдается в определенный выходной порт. Из-за особенностей архитектуры КУ может иметь либо не иметь возможности передавать все входящие пакеты на выходы одновременно. Если такой возможности нет, то поступающие пакеты должны быть организованы в очереди во избежание потери пакетов, что является функцией буферизующей части.Возможны различные варианты взаимного расположения коммутирующей и буферизующей частей в структуре КУ, существенно влияющие на ключевые характеристики устройства (рис. 1.4).
В устройствах с входным расположением буферов (см. рис. 1.4,α) пакеты со входов первоначально поступают в соответствующие FIFO-буферы и только затем коммутируются на требуемые выходы [27, 32, 95]. Такие КУ не предъявляют жестких требований к быстродействию коммутирующей части и, как правило, обладают низкой аппаратной сложностью, что позволяет использовать их при большом числе входов/выходов. Однако доказано [94], что подобные устройства (без модификации дисциплин обслуживания буферов) практически не могут обеспечить пропускную способность выше 0.64 из-за возникновения блокировок пакетов в головных регистрах буферов (Head of line blocking = HOL blocking). Их
асимптотическая пропускная способность составляет около 0.586. Были предприняты многочисленные попытки уменьшить влияние блокировки путем предварительного анализа пакетов, находящихся в буферах [71, 90, 95], что позволило несколько увеличить пропускную способность КУ, однако принципиально проблему не решило.
В коммутационных устройствах с выходным размещением буферов (см. рис. 1.4,6) пакеты сразу коммутируются на требуемые выходы и затем сохраняются в выходных буферах перед выдачей, что исключает блокировки пакетов, свойственные рассмотренной выше архитектуре КУ [18, 39, 46, 55, 69, 94, 96].
Это позволяет достичь более высокой пропускной способности, которая асимптотически стремится к единице. Однако КУ с выходными буферами характеризуются повышенной аппаратной сложностью и предъявляют серьезные требования к скорости работы коммутирующей части (внутренней скорости КУ), которая должна в несколько раз превышать интенсивность потока пакетов на входах устройства. В связи с этим их применение возможно при небольшом числе входов/выходов n и/или при условии снижения внешней скорости работы КУ (скорости работы каналов связи).КУ с центральным расположением коммутирующей части (см. рис. 1.4,β) и КУ с общей буферной памятью (см. рис. 1.4,г) является компромиссными вариантами организации, сочетающими свойства ранее рассмотренных структур. Дополнительная выходная буферизация в устройствах с центральным переключателем (рис. 1.4,β) позволяет ослабить эффект блокировки (HOL blocking), в особенности при большом числе входов/выходов. Кроме того, в таких КУ не требуется повышенная скорость работы переключателя, что упрощает его схемотехническую реализацию. Подобная организация лежит в основе коммутаторов с буферизованным переключателем [38, 40, 41, 44, 99, 109, 117], подробно рассматриваемых далее. Единственным их отличием является то, что буферы непосредственно интегрированы в переключатель (не переставая при этом оставаться выходными буферами).
Рисунок 1. 4. Варианты взаимного расположения коммутирующей и буферизующей частей коммутационного устройства
Организация с общей буферной памятью (рис. 1.4,г) используется в низкоскоростных устройствах коммутации [76, 80]. Общая память в них является доступной как для входных линий, так и для выходных. Каждый вход и каждый выход получают доступ к общей памяти через общую шину. Логически память распределена между множеством выходных очередей. В один момент времени каждый вход может записать пакет в соответствующую логическую выходную оче
редь, а каждый выход может считать ячейку из логической выходной очереди.
Основными преимуществами таких КУ являются логическое построение общей памяти в виде выходных очередей, высокая загрузка общей памяти при динамическом распределении очередей и низкая вероятность потери пакета. Основным недостатком является необходимость использования высокоскоростной памяти, как и в устройстве с выходными буферами. Так, для коммутатора с организацией n ? nи память, и общая шина должны обеспечивать возможность nсчитываний пакетов на выход и nзаписей пакетов в общую память плюс сортировку по логическим выходным очередям. Таким образом, внутренняя скорость должна быть больше в 2nраз, чем внешняя скорость устройства.Одной из весьма успешных попыток объединения преимуществ устройств с входными и выходными буферами является концепция коммутатора с виртуальными выходными очередями (Virtual Output Queue - VOQ), впервые сформулированная в работе [120]. Формально VOQ-устройства следует отнести к устройствам с входным расположением буферов (см. рис. 1.4,α), однако их буферизующая часть имеет более сложную организацию (рис. 1.5). Каждому входному порту VOQ-устройства соответствует nпростых FIFO-буферов Qij,соединенных параллельно, каждый из которых, в свою очередь, отображен на определенный выходной порт. Очередной пакет, поступая на i-й вход КУ, проходит через демультиплексор DX (выполняющий функции маршрутизатора) и заносится в FIFO-буфер Qij,соответствующий j-му выходному порту устройства, на который необходимо выдать пакет согласно реализуемому алгоритму маршрутизации. В результате в буфере Qijоказываются только те пакеты, которым необходима выдача на j-й выход, что гарантирует отсутствие проблемы блокировки HOL blocking. Дальнейшая выдача пакетов из буферов осуществляется под управлением центрального планировщика (диспетчера) [62], который назначает определенную очередность выдачи пакетов, поступивших с разных входов, на заданный выход (в схеме на рис. 1.5 планировщик условно представлен набором мультиплексоров MX).
Рисунок 1.5.
Коммутационное устройство с виртуальными выходными очередями (VOQ-устройство)Концепция VOQ-коммутатора с теми или иными вариациями активно используется в различных устройствах уже в течение трех десятилетий [66, 72, 75,
77, 79, 93, 105, 106, 108], позволяя достичь максимальной пропускной способности КУ (до 1) при различных вариантах распределения входящего трафика. Основным недостатком VOQ-устройства является необходимость работы коммутирующей части на удвоенной скорости (минимально необходимое ускорение работы коммутирующей части VOQ-устройства на сегодня составляет 2 -1 [89]). Это n
приводит к более сложным схемотехническим решениям КУ. Еще одним недостатком подобных устройств является повышенная аппаратная сложность, асимптотическая оценка которой составляет примерно куб от числа входов/выходов n, что затрудняет их применение в матричных мультипроцессорах. Высокая аппаратная сложность VOQ-устройств обусловлена, с одной стороны, наличием nбуферов длины Lв каждом из nвходных портов, а с другой стороны, - сложной коммутирующей частью с центральным планировщиком, рассчитанной на n2 входов и nвыходов.
Альтернативой VOQ-коммутаторам являются коммутационные устройства с буферизованным матричным переключателем [38, 40, 41, 44, 99, 109, 117]. Особый интерес представляют КУ, использующие простые FIFO-буферы на входах, и буферизованный переключатель (матрицу буферов) на выходе [99, 109], обладающие на порядок меньшей аппаратной сложностью по сравнению с VOQ- коммутаторами. Формально такие устройства вписываются в рамки организации, представленной на рис. 1.4,β. Известны и другие подходы к построению КУ, не использующие централизованную диспетчеризацию пакетов, например, [88].
Структурная организация КУ с буферизованным матричным переключателем в обобщенном виде приведена на рис. 1.6. Буферизующая часть устройства представлена множеством простых FIFO-буферов, коммутирующая часть - матричный переключатель, в точках пересечения входных и выходных шин которого размещены дополнительные буферы.
Длина каждого из этих буферов должна быть достаточной для хранения одного пакета. Выдача пакетов из дополнительных буферов на выходы КУ осуществляется параллельно по столбцам. Если в некотором столбце находится сразу несколько пакетов, то они выдаются последовательно в порядке, определяемом распределенным диспетчером. Выдача пакетов непосредственно в порядке расположения буферов является простейшим решением, однако приводит к дисбалансу длины входных FIFO-буферов. В связи с этим в известных схемах КУ с буферизованным переключателем [99, 109] диспетчеризация пакетов осуществляется равновероятно (uniform) или согласно круговой дисциплине (round robin).
Рисунок 1.6. Структурная организация коммутационного устройства с буферизованным матричным переключателем
КУ с буферизованным матричным переключателем обладают значительно меньшей аппаратной сложностью, чем VOQ-коммутаторы; ее асимптотика представляет собой квадратичную функцию от числа входов/выходов nпротив кубической зависимости, характерной для VOQ-устройств. Также они имеют простую коммутирующую часть, работающую с той же скоростью, что и внешние каналы КУ. В то же время, VOQ-устройства обеспечивают более высокую пропускную способность и меньшую задержку прохождения пакетов при наиболее распространенных на практике значениях n(до нескольких десятков).
Скоростные характеристики коммутационных устройств зависят не только от расположения и организации буферизующей части, но и от способа построения коммутирующей части. Матричный переключатель (см. рис. 1.6) способен обеспечить наименьшую задержку прохождения пакетов на выходы КУ, поскольку каждый пакет всегда без блокировки проходит одну точку пересечения шин переключателя, однако его структурная сложность при большом числе вхо- дов/выходов может оказаться неприемлемо высокой. В связи с этим при построении КУ довольно часто используются одно- и многокаскадные динамические коммутаторы, в частности, неблокирующие коммутаторы [51, 78, 118, 128], получившие развитие из техники телефонной связи. Они способны обеспечить меньшую аппаратную сложность коммутационных средств за счет некоторого увеличения задержки прохождения пакетов. Наиболее ощутимый эффект от их применения начинает проявляться при большом числе входов/выходов. Так, например, сложность КУ на 100 входов/выходов при использовании матричного переключателя составляет 10000 элементарных коммутаторов (точек пересечения шин); в то же время, трехъярусная неблокирующая сеть Клоза на такое же число вхо- дов/выходов содержит всего 5700 элементарных коммутаторов.
Всё сказанное выше позволяет классифицировать методы (и устройства) коммутации пакетов, используемые в матричных СБИС-мультипроцессорах, по пяти ключевым признакам (см. рис. 1.7): 1) по расположению буферов относительно коммутирующей части; 2) по способу организации буферов; 3) по способу организации коммутирующей части; 4) по наличию дополнительных буферов в коммутирующей части; 5) по способу передачи пакетов. Среди представленных в литературе методов и технических решений КУ можно найти самые разные сочетания указанных признаков классификации, некоторые из которых обсуждались ранее.
Как уже отмечалось выше, наряду с режимом коммутации пакетов, СБИС ММП нередко используют режим схемной коммутации [83]. При схемной коммутации перед обменом данными в коммуникационной сети создается временный канал, соединяющий источник с приемником (приемниками). Далее по этому ка
налу пересылаются один или несколько блоков данных. По завершении пересылки канал уничтожается. Сам процесс передачи данных идет довольно быстро, поскольку не требуется их промежуточная маршрутизация. При большом среднем размере передаваемых блоков данных схемная коммутация весьма эффективна, так как время создания канала между источником и приемником составляет малую долю общего времени взаимодействия.
Рисунок 1.7. Классификация методов (и устройств) коммутации пакетов, используемых в матричных СБИС-мультипроцессорах
Одной из последних тенденций развития матричных СБИС- мультипроцессоров является переход к гибридной коммутации [70, 81, 102, 103]. Такой подход предполагает применение схемной коммутации при передаче больших блоков данных и использование пакетной коммутации при обмене небольшими порциями данных, короткими запросами, управляющими командами и т.п. Целесообразность такого сочетания режимов коммутации объясняется тем, что трафик, порождаемый типовой рабочей нагрузкой современных СБИС- мультипроцессоров, в основном состоит из коротких сообщений запроса выборки
и длинных ответных сообщений, несущих один или несколько блоков данных из удаленного модуля кэш-памяти. Подобные взаимодействия возникают тогда, когда процессор не находит нужных данных в локальной кэш-памяти (т.е. имеет место ситуация локального «кэш-промаха»). Известны методы управления КУ ММП, позволяющие автоматически выбирать наиболее эффективный режим коммутации с учетом типа межпроцессорных сообщений [103].
В работе [102] рассмотрен один из механизмов организации работы КУ с гибридной коммутацией в матричных СБИС ММП, обозначенный аббревиатурой CIMA (Circuit-switched Inter-tile Memory Access mechanism = схемный механизм межпроцессорного доступа к памяти). Ключевые элементы устройства, реализующего этот механизм, схематично представлены на рис. 1.8.
Все элементы, которые содержатся в данном устройстве, организационно относятся к двум независимым сетям: сети обмена данными (data network) и управляющей сети (control network). Сеть обмена данными обеспечивает передачу запросов выборки данных из удаленной памяти и передачу блоков данных процессорам. Ее элементами являются пять портов для подключения к соседним узлам и локальному процессору, буферы виртуальных каналов (ВК0, ..., ВКи), блок вычисления маршрутов, блок резервирования виртуальных каналов, блок арбитража, а также неблокирующий переключатель. Сеть реализует метод cut-through- маршрутизации с тремя виртуальными каналами на порт для обеспечения отсутствия блокировок (deadlock freedom). Управляющая сеть является более простой. Она не содержит буферов и виртуальных каналов и используется для настройки соединений в сети обмена данными. К управляющей сети относятся блок резервирования (логических) каналов, блок вычисления маршрутов, таблица (логических) каналов и неблокирующий переключатель. Особенностью организации управляющей сети, предложенной в [102], является передача короткого настроечного пакета в направлении источника запроса выборки перед отправкой ему большого блока данных, что позволяет заранее настроить канал передачи.
Рисунок 1.8. Основные элементы КУ с гибридной коммутацией
Совместное использование коммутации пакетов и схемной коммутации в ряде практически значимых случаев позволяет ускорить межпроцессорное взаимодействие в СБИС ММП по сравнению с традиционной схемной коммутацией. Действительно, при обмене небольшими порциями данных значительная часть времени расходуется на создание и уничтожение логического канала между источником данных и приемником. Соответственно, общее время обмена данными ощутимо возрастает. В то же время гибридная коммутация способна ускорить процесс обмена данными по сравнению с традиционной пакетной коммутацией с wormhole-маршрутизацией. В частности, когда происходит обмен большими блоками данных, существенная часть времени тратится на буферизацию пакетов, резервирование виртуальных каналов, вычисление маршрутов, арбитраж. При схемной коммутации большая часть названных процедур отсутствует и сам процесс передачи данных через сформированный логический канал происходит намного быстрее.
Еще по теме Коммутационные средства матричных СБИС-мультипроцессоров:
- Архитектура современных матричных СБИС-мультипроцессоров
- МЕТОДЫ И УСТРОЙСТВА КОММУТАЦИИ ПАКЕТОВ В МАТРИЧНЫХ МУЛЬТИПРОЦЕССОРАХ
- Концепция матричных мультипроцессоров
- Мохаммед Ажмаль Джамиль Абдо. МЕТОД, АЛГОРИТМ И УСТРОЙСТВО КОММУТАЦИИ С ПАРАЛЛЕЛЬНО-КОНВЕЙЕРНОЙ ДИСПЕТЧЕРИЗАЦИЕЙ ПАКЕТОВ В МАТРИЧНЫХ МУЛЬТИПРОЦЕССОРАХ. Диссертация на соискание ученой степени кандидата технических наук. КУРСК - 2019, 2019
- Методика исследования характеристик коммутационного устройства
- ИССЛЕДОВАНИЕ ХАРАКТЕРИСТИК КОММУТАЦИОННОГО УСТРОЙСТВА С ПАРАЛЛЕЛЬНО-КОНВЕЙЕРНОЙ ДИСПЕТЧЕРИЗАЦИЕЙ ПАКЕТОВ
- Структурная организация коммутационного устройства
- СТРУКТУРНО-ФУНКЦИОНАЛЬНАЯ ОРГАНИЗАЦИЯ КОММУТАЦИОННОГО УСТРОЙСТВА С ПАРАЛЛЕЛЬНОКОНВЕЙЕРНОЙ ДИСПЕТЧЕРИЗАЦИЕЙ ПАКЕТОВ
- Оценка аппаратной сложности коммутационного устройства
- Функциональные схемы блоков коммутационного устройства
- МЕТОД И АЛГОРИТМ КОММУТАЦИИ С ПАРАЛЛЕЛЬНОКОНВЕЙЕРНОЙ ДИСПЕТЧЕРИЗАЦИЕЙ ПАКЕТОВ. СТРУКТУРНАЯ МОДЕЛЬ КОММУТАЦИОННОГО УСТРОЙСТВА
- Особенности программной реализации имитационного моделирования коммутационного устройства
- Исследование быстродействия коммутационного устройства
- Построение имитационной модели коммутационного устройства