УПРАВЛЯЮЩИЙ КОММУТАТОР ДЛЯ КЛАСТЕРА НА ОСНОВЕ PCI Express

Полезная модель относится к вычислительной технике, а именно к коммутационной среде на основе кабельной спецификации компьютерной шины PCI Express.
В качестве прототипа принята кластерная система с прямой коммутацией каналов (RU №2461055, G06F 13/00; G06F 15/163). Структура вычислительного кластера на PCI Express также была описана в патенте US 2013/0227193 A1, G06F 13/40, 29.08.2013.
Недостатком данной системы является необходимость использования выделенного вычислительного узла в качестве ведущего устройства, которое отвечает за распределение адресного пространства между ведомыми вычислителями, что усложняет настройку системы. Кроме того, единое ведущее устройство является критической точкой отказа всей кластерной системы, что приводит к уменьшению ее надежности.
Задачей, на решение которой направлена заявленная полезная модель, является ускорение процесса передачи трафика от узла к узлу внутри кластера на основе PCI Express через управляющий коммутатор.
Техническим результатом является использование управляющего внешнего коммутатора в основе кластера, позволяющего ускорить передачу трафика между узлами кластера и упростить трансляцию адресов узлов-получателей.
Указанный технический результат достигается за счет использования управляющего внешнего коммутатора в качестве ведущего устройства кластера PCI Express, в котором применяется разработанный авторами заявляемой алгоритм трансляции адресов получателей.
Управляющий коммутатор для кластера на основе протокола PCI Express, имеющий процессор (ЦП), память (ОЗУ) и собственное адресное пространство и выполняющий функции маршрутизации трафика посредством трансляции адресов узлов кластера, находящихся в разных адресных пространствах, за счет построения внутренних таблиц трансляции адресов коммутатора и поиска транслированного адреса в этих таблицах по алгоритму, основанному на сравнении старших разрядов исходного не транслированного адреса со старшими битами транслированного адреса, содержащий непрозрачные порты для подключения посредством кабельной системы PCI Express узлов кластера, которые имеют кабельный адаптер PCI Express с прозрачными портами, внутрисистемную шину PCI Express, вычислительное ядро, состоящее из ЦП и ОЗУ, и собственное адресное пространство.
Предложенная система представляет собой вычислительный кластер, состоящий из вычислительных узлов, поддерживающих использование внутрисистемной шины PCI Express и специализированного управляющего коммутатора PCI Express. В общем случае вычислительные узлы могут представлять собой персональные компьютеры с шиной PCI Express на материнской плате, серверные платформы. Все вычислительные узлы коммутируются в единый вычислительный кластер посредством применения специализированной кабельной системы, разработанной в соответствии с кабельной спецификацией PCI Express. Для возможности подключения в сеть узел должен иметь специализированный адаптер шины. Адаптер шины работает в режиме прозрачного моста. Ядром кластера является внешний управляющий коммутатор PCI Express, который сам строит таблицу маршрутизации на основе проходящего через него трафика. Все порты коммутатора выполнены по технологии непрозрачного моста.
В настоящем патенте все вычислительные узлы в составе вычислительного кластера являются равноправными по отношению друг к другу, все функции по управлению адресными пространствами и маршрутизацией трафика сосредоточены в коммутаторе PCI Express.
На фиг. 1 представлен общий вид топологии кластера; на фиг. 2 представлена структура непрозрачного порта; на фиг. 3 представлен вычислительный узел; на фиг. 4 представлен формат таблицы маршрутизации, на фиг. 5 представлен разработанный алгоритм трансляции адресов в непрозрачных портах управляющего коммутатора.
Общий вид топологии кластера (фиг. 1) включает в себя:
- управляющий коммутатор PCI Express - 1
- блок коммутации - 2
- непрозрачные мосты - 3
- интерфейсные кабели - 4
- прозрачные мосты - 5
- вычислительные узлы - 6.
Непосредственно сама коммутационная среда представляет собой совокупность коммутатора PCI Express (1), с подключенными к нему через интерфейсные кабели (4) сетевыми адаптерами шины (8), установленными в вычислительных узлах (6) вычислительного кластера.
Коммутатор PCI Express (1) является полностью автономной системой и имеет свои внутренние ресурсы, включая центральный процессор (ЦП) (10) и оперативную память (ОЗУ) (11), имеющий автономное внутреннее адресное пространство, блок коммутации (2) имеет специализированную коммутационную матрицу (КМ) (12), которая связана с непрозрачными мостами (НМ) (3) на портах управляющего коммутатора PCI Express. Использование непрозрачных портов на управляющем коммутаторе PCI Express обусловлено тем, что они разграничивают адресные пространства управляющего коммутатора и всех вычислительных узлов друг от друга, не давая тем самым возникать конфликтам при инициализации системы, когда на шине PCI Express происходит обмен конфигурационными сообщениями. Управляющий коммутатор PCI Express соединяет все устройства по типу подключения «точка-точка», такой тип подключения является единственно возможным на шине PCI Express. Для того чтобы вычислительные узлы могли «видеть» в адресном пространстве друг друга, в управляющем коммутаторе PCI Express создаются так называемые окна перекрестного доступа, через которые любой из вычислительных узлов может «увидеть» другие узлы. Окна перекрестного доступа представляют собой особые области в памяти управляющего коммутатора, которые доступны всем подключенным к коммутатору узлам. Во всех вычислительных узлах (6) в сетевом адаптере шины (СА) (8) используются прозрачные порты (5), которые позволяют проходить конфигурационным сообщениям по направлению к управляющему коммутатору PCI Express.
Логически непрозрачный мост (3) (фиг. 2) является оконечным устройством и для самого управляющего коммутатора PCI Express и для вычислительных узлов. Каждому из этих оконечных устройств назначаются адреса из разных адресных пространств двух сопряженных систем. С помощью базовых регистров адреса (БРА) (7) происходит трансляция адресов при обращении вычислительного узла к управляющему коммутатору PCI Express. Таким образом, с использованием непрозрачных мостов на портах управляющего коммутатора PCI Express вычислительные узлы сопрягаются с внутренней системой управляющего коммутатора PCI Express.
Вычислительный узел в общем случае представляет собой компьютер с внутрисистемной шиной PCI Express и адаптером шины PCI Express для подключения интерфейсных кабелей (4) (фиг. 3).
Вычислительный узел (6) имеет свое вычислительное ядро (9), состоящее из процессора (10) и памяти (11), имеет свое собственное адресное пространство, которое ограничивается непрозрачными мостами на портах управляющего коммутатора.
Для маршрутизации трафика управляющий коммутатор использует механизм трансляции адресов вычислительных узлов. Для этого в процессе прохождения трафика через коммутатор PCI Express 3.0 строится внутренняя таблица маршрутизации (фиг. 4). В таблицу заносится следующая необходимая информация: старшие биты нетранслированного (исходного) адреса вычислительного узла-получателя (13); полный транслированный адрес узла-получателя (14), бит действительности (15), который показывает действительна ли текущая запись в таблице маршрутизации («0» - не действительная запись, «1» - действительная запись).
Механизм трансляции адресов в управляющем коммутаторе работает по разработанному авторами алгоритму (фиг. 5). В начале транзакции узел, передающий данные, записывает данные, которые передает в исходящее окно своей локальной памяти (16). Исходящее окно представляет собой диапазон адресного пространства хоста, которое формируется в каждом устройстве, подключенном к управляющему коммутатору PCI Express, в момент инициализации и служит для записи в него данных, предназначенных для передачи другому узлу. На следующем шаге (17) сформированный пакет протокола пересылается в НМ управляющего коммутатора. Так как в настоящем патенте рассматривается только табличный способ трансляции адресов, регистр НМ «BarSetup» заведомо сконфигурирован на применение этого способа (18). Затем второе двойное слово пакета транспортного уровня протокола PCI Express (TLP), содержащее в себе транслируемый адрес, записывается в адресный регистр НМ RgA (19). На шаге (20) базовый адрес транслируемого адреса, содержащийся в регистре НМ RgA[Base] сравнивается с базовым адресом, содержащимся в регистре НМ BAR[2]. Если адреса совпадают, то старшие биты исходного адреса (RgA[High]) сравниваются со значением (LT[AHigh]) в таблице поиска (22). В случае успешного поиска и проверки поля валидности (23) (LT[Valid]), которое подтверждает актуальность записи в таблице поиска, базовый адрес, содержащийся в RgA[Base] заменяется на базовый адрес соответствующей записи в таблице поиска (LT[TAdr]), иными словами происходит трансляция адреса (24). Затем в регистр транслированного адреса (RgAT) записывается транслированный базовый адрес из LT[TAdr] и прибавляется смещение из исходного адреса, хранящееся в регистре RgA[Ofs] (25). Параметр таблицы поиска LT[Par], определяющий номер порта, на который следует передать пакет с транслированным адресом, используется для определения номера выходного порта.