Научная статья на тему 'СЕТЬ-НА-КРИСТАЛЛЕ НОВОГО ПОКОЛЕНИЯ МИКРОПРОЦЕССОРОВ С АРХИТЕКТУРОЙ "ЭЛЬБРУС"'

СЕТЬ-НА-КРИСТАЛЛЕ НОВОГО ПОКОЛЕНИЯ МИКРОПРОЦЕССОРОВ С АРХИТЕКТУРОЙ "ЭЛЬБРУС" Текст научной статьи по специальности «Электротехника, электронная техника, информационные технологии»

CC BY
94
9
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПРОЦЕССОР / КРИСТАЛЛ / ТОПОЛОГИЯ / СЕТЕВОЙ АДАПТЕР

Аннотация научной статьи по электротехнике, электронной технике, информационным технологиям, автор научной работы — Кожин Е.С., Кожин А.С.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по электротехнике, электронной технике, информационным технологиям , автор научной работы — Кожин Е.С., Кожин А.С.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

NETWORK-ON-A-CHIP OF A NEW MICROPROCESSOR GENERATION WITH THE ELBRUS ARCHITECTURE

The paper describes a network-on-chip of a new microprocessor generation with the Elbrus architecture, taking into account the peculiarities of physical design. The network-on-a-chip under consideration plays a central role in the scaling process of the microprocessor, interconnecting all the main components of the system and ensuring the transfer of all types of packets between devices. The characteristics of the network-on-a-chip determine the bandwidth and access time to the memory subsystem.

Текст научной работы на тему «СЕТЬ-НА-КРИСТАЛЛЕ НОВОГО ПОКОЛЕНИЯ МИКРОПРОЦЕССОРОВ С АРХИТЕКТУРОЙ "ЭЛЬБРУС"»

https://doi.org/10.38013/2542-0542-2021-1-103-109 УДК 004.414.23

Сеть-на-кристалле нового поколения микропроцессоров с архитектурой «Эльбрус»

Е. С. Кожин, А. С. Кожин

Акционерное общество «МЦСТ», Москва, Российская Федерация

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

Ключевые слова: процессор, кристалл, топология, сетевой адаптер

Для цитирования: Кожин Е. С., Кожин А. С. Сеть-на-кристалле нового поколения микропроцессоров с архитектурой «Эльбрус» // Вестник Концерна ВКО «Алмаз - Антей». 2021. № 1. С. 103-109. https://doi.org/10.38013/2542-0542-2021-1-103-109

For citation: Kozhin E. S., Kozhin A. S. Network-on-a-chip of a new microprocessor generation with the Elbrus architecture // Vestnik Koncerna VKO "Almaz - Antey". 2021. No. 1. P. 103-109. https://doi.org/10.38013/2542-0542-2021-1-103-109

Поступила 07.12.2020 Отрецензирована 10.12.2020 Одобрена 07.01.2021 Опубликована 17.02.2021

Текущее развитие универсальных высокопроизводительных процессоров в основном опирается на увеличении числа процессорных ядер на одном кристалле. И хотя в последнее время некоторые разработчики процессоров переходят к объединению нескольких кристаллов небольшой площади на общей подложке [1], большинство разработчиков продолжают проектировать многоядерные монолитные кристаллы, содержащие 28 и более процессорных ядер [2]. Помимо процессорных ядер, на кристалле размещается все большее количество банков кэш-памяти последнего уровня, контроллеров оперативной памяти (6-8 контроллеров на процессор), устройств ввода-вывода. Таким образом, современный высокопроизводительный процессор - это сложная распределенная система из десятков устройств, соединенных в общую систему с учетом требований по задержкам и пропускной способности соединений между устройствами.

© Кожин Е. С., Кожин А. С., 2021

В прошлом поколении микропроцессоров с архитектурой «Эльбрус» [3] на кристалле размещались 8 процессорных ядер, 8 банков общей кэш-памяти третьего уровня, 4 контроллера оперативной памяти и набор устройств ввода-вывода. Для их соединения использовались две среды коммутации: двунаправленная кольцевая шина [4], объединяющая процессорные ядра и кэш-память третьего уровня, и централизованный коммутатор, соединяющий кэш-память третьего уровня и устройства доступа в память, а также устройства ввода-вывода [5].

При проектировании нового семейства высокопроизводительных процессоров «Эльбрус» ставилась задача увеличить число процессорных ядер до двух раз, с 8 до 12-16. Для обеспечения сбалансированности системы требовалось нарастить объем кэш-памяти — третьего уровня, а также пропускную способ- | ность доступа в оперативную память и ввод- 5 вывод. Таким образом, число устройств разрабатываемого микропроцессора увеличивалось ^

см о см

< i

со

а м

О ü CQ

р

Ф

о

О V CQ

СМ ■clin

с?

см ■clin см

(П (П

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

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

Структура сети-на-кристалле

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

Номер ядра, банка и коммутатора при этом совпадают. У такой структуры, называемой тайл (tile), роль внешних интерфейсов играют только сетевые порты коммутатора,

с помощью которых тайлы соединяются в общую сеть.

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

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

Сетевые порты

Рис. 1. Структура тайла

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

Топология и адресация

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

проводов. Помимо этого трассировка связей над блоками процессора ухудшает их временные характеристики.

Для построения сетей-на-кристал-ле с десятками узлов чаще всего используют топологию 2d mesh, пример такой сети с числом тайлов, равным 16, приведен на рисунке 2а. Всем тайлам присваиваются декартовы координаты вдоль осей X от 0 до 1 и вдоль оси Y от 0 до 7. Сетевой адрес формируется как объединение X и Y координат плюс номер сетевого адаптера в узле назначения. Такая топология позволяет реализовать очень простую маршрутизацию X-Y или Y-X без взаимных блокировок пакетов в сети. При маршрутизации X-Y пакет сначала передается вдоль оси X до достижения координаты узла-назначения, а потом вдоль

Тайл 14 Тайл 15

(0, 7) (1,7)

Тайл 12 Тайл 13

(0, 6) (1,6)

Тайл 10 Тайл 11

(0, 5) (1,5)

ф

Тайл 8 Тайл 9

(0, 4) (1,4)

ф

Тайл 6 Тайл 7

(0, 3) (1.3)

ф

Тайл 4 Тайл 5

(0, 2) (1,2)

t Ф

Тайл 2 Тайл 3

(0,1) (1,1)

Z

Тайл 0 Тайл 1

(0, 0) (1,0)

2d mesh (X, Y)

Тайл 14 Тайл 15

(0,1,3) (1,1,3)

ф

Тайл 12 Тайл 13

(0, 0, 3) (1,0, 3)

Тайл 10 I | Тайл 11

(0,1,2) 1 } (1,1,2)

ф . ф

Тайл 8 Тайл 9

(0, 0, 2) (1,0, 2)

Тайл 6 1 | Тайл 7

(0,1,1) 1 ' (1,1,1)

ф.

Тайл 4 Тайл 5

(0, 0,1) (1,0,1)

Тайл 2 1 | Тайл 3

(0,1, 0) 1 р (1,1,0)

Тайл 0 Тайл 1

(0, 0, 0) (1,0, 0)

2d torus-mesh (X, Y, Z)

б

те

s

о.

о ■fr

Рис. 2. Схемы топологий сетей-на-кристалле: a - сеть с топологией 2d mesh; б - сеть с топологией 2d torus-mesh _

а

см о см

< I

со

а м

О СО

р

ф

о

о ф

со

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

см ■ci-io

с?

см ■ci-io см

(П (П

оси Y. Топология 2d mesh хорошо масштабируется до 256 узлов.

При выборе 2d mesh топологии важно, чтобы количество узлов вдоль обеих координат было равным, иначе система может оказаться несбалансированной. Для оценки пропускной способности сети используется параметр bisectional width - число линков, пересекающих «разрез» сети на две равные по числу узлов части в ее самом узком месте [6].

Для примера рассмотрим систему с 16 процессорными ядрами. Сбалансированной системой можно считать квадрат 4*4, для нее параметр bisectional width равен 4. Топология 2d mesh 2*8, приведенная на рисунке 2а, является несбалансированной, для нее параметр bisectional width равен 2. То есть при случайном трафике пакетов топология 2d mesh 2*8 имеет в два раза меньшую пропускную способность, чем топология 2d mesh 4*4.

На практике не всегда возможно использовать сбалансированную топологию 2d mesh. При проектировании процессоров шестого поколения с архитектурой «Эльбрус» было выдвинуто требование размещать процессорные ядра в два столбца, что делало невозможным использовать топологию 2d mesh 4*4. Использование топологии 2d mesh 2*8 было неэффективно из-за низкого значения параметра bisectional width.

Повысить параметр bisectional width сети можно путем добавления дополнительных связей. В топологии 2d mesh 2*8 используются 8 горизонтальных связей, что обеспечивает высокую пропускную способность пакетов вдоль оси X, но при этом только 2 вертикальных связи на каждой координате Y, ограничивающих пропускную способность сети. Поэтому для увеличения значения параметра bisectional width необходимо добавить вертикальные связи. В качестве решения была выбрана топология 2d torus-mesh, которая отличается от топологии 2d mesh 2*8 дополнительными 6 вертикальными связями, ее структура приведена на рисунке 2б. Эту топологию удобно рассматривать в трехмерном пространстве, где она будет выглядеть как 3d mesh 2*2*4. При этом параметр bisectional width равен 4,

как у топологии 2d mesh 4*4. Сетевой адрес формируется объединением координат X, Y, Z и номера сетевого адаптера в узле назначения. Для маршрутизации удобно использовать статическую маршрутизацию X-Y-Z, которая позволяет избежать взаимных блокировок пакетов внутри сети.

При проектировании сети-на-кристалле был проведен сравнительный анализ различных топологий сетей-на-кристалле для процессоров шестого поколения с архитектурой «Эльбрус» [7]. Рассматривались топологии для процессора с 8, 12 и 16 ядрами. В качестве сравнительных характеристик использовались задержка в сети по доставке пакета и достижимая пропускная способность сети. В результате исследования было получено, что для 8 процессорных ядер использование топологии 2d torus-mesh не дает выигрыша по сравнению с топологией 2d mesh. Для 12 процессорных ядер топология 2d torus-mesh позволяет повысить пропускную способность с 55 % (6,66 пакета за процессорный такт на всю систему) до 92 % (10,99 пакета за процессорный такт на всю систему) от максимально возможной пропускной способности, равной 12 пакетам за такт. Для 16 процессорных ядер топология 2d torus-mesh позволяет повысить пропускную способность практически в два раза, с 38 % (6,15 пакета за процессорный такт на всю систему) до 70 % (11,04 пакета за процессорный такт на всю систему) от максимально возможной пропускной способности, равной 16 пакетам за такт.

Если выбор топологии 2d torus-mesh для 16-ядерного процессора с размещением ядер в 2 ряда имеет очевидные преимущества, то в случае 12-ядерного процессора прирост пропускной способности от реализации более сложной топологии не такой существенный. При этом сетевой коммутатор для топологии 2d torus-mesh должен иметь четыре сетевых порта, а для 2d mesh 2*6 достаточно трех сетевых портов, что позволяет снизить сложность оборудования и потребляемую мощность. Поэтому выбор топологии для процессора с 12 ядрами в большей степени зависит от ограничений на мощность и требуемую производительность сети-на-кристалле.

Сетевые адаптеры и подключение устройств

Набор сетевых адаптеров определяется числом различных типов подключаемых устройств. В процессорах шестого поколения с архитектурой «Эльбрус» существует 4 типа абонентов сети: процессорные ядра, банки кэш-памяти третьего уровня, устройства доступа в оперативную память и устройства доступа к вводу-выводу и межпроцессорным линкам. Банки кэш-памяти третьего уровня и устройства доступа в оперативную память работают на одной и той же частоте с сетью-на-кристалле. Процессорные ядра и устройство доступа к вводу-выводу и межпроцессорным линкам работают на независимых частотах и асинхронны с сетью-на-кристалле. Для подключения асинхронных устройств необходимо использовать синхронизатор между частотой сети-на-кристалле и частотой устройства [9]. Сетевой адаптер для таких устройств находится между се-тью-на-кристалле и синхронизатором и работает на частоте сети-на-кристалле.

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

которого определяется по уникальному идентификатору пакета.

Сетевые адаптеры процессорных ядер и банков кэш-памяти третьего уровня содержатся во всех коммутаторах. Сетевые адаптеры устройств доступа в память и устройства доступа к вводу-выводу и межпроцессорным линкам размещены в самих устройствах. В 16-ядерном процессоре для подключения устройств доступа в память были задействованы свободные порты коммутаторов 0-3 и 12-15 для обеспечения максимального темпа доступа, как изображено на рисунке 3. Подключение устройства доступа к вводу-выводу было выполнено посредством добавления дополнительных коммутаторов (КОМ) в разрез сети между координатами 1 и 2 по оси Z.

Память Память

Память Память

Рис. 3. Схема топологии сети-на-кристалле х

для микропроцессора с 16 процессорными ядрами _

о со

о.

ф

о

о

V

со

см ■ci-io

с?

см ■ci-io см

(П (П

Заключение

В результате этой работы был предложен принцип построения сетей-на-кри-сталле для процессоров шестого поколения с архитектурой «Эльбрус» с учетом физических ограничений при проектировании. Разработаны сетевые адаптеры для всех используемых устройств процессора. Собраны сети-на-кристалле с топологиями 2d mesh и 2d torus-mesh для 8-, 12-, 16-ядерных процессоров и проведен их сравнительный анализ. Полученные результаты показали, что для 16-ядерного процессора оптимальным решением является использование топологии 2d torus-mesh.

Список литературы

1. Suggs D., Subramony M., Bouvier D. The AMD "Zen 2" Processor // IEEE Micro. 2020. V. 40. № 2. P. 45-52.

2. Tam S. M., et al. Skylake-SP: A 14nm 28-core xeon® processor // 2018 IEEE International SolidState Circuits Conference (ISSCC). IEEE. 2018. P. 34-36.

3. Kostenko V. O. et al. Elbrus-8C: The Latest Yield from MCST and MIPT Collaboration // 2015 International Conference on Engineering

and Telecommunication (EnT). IEEE, 2015. P. 67-68.

4. Кожин А. С., Сахин Ю. Х. Коммутация соединений процессорных ядер с общим кэшем третьего уровня микропроцессора "Эльбрус-4С+" // Вопросы радиоэлектроники. 2013. № 3. С. 5-14.

5. Альфонсо Д. М., Деменко Р. В., Кожин А. С. и др. Микроархитектура восьмиядерного универсального микропроцессора «Эльбрус^О» // Вопросы радиоэлектроники. 2016. № 3. С. 6-13.

6. Jerger N. E., Peh L.-S. On-chip networks // Synthesis Lectures on Computer Architecture. 2009. V. 4. No. 1. 141 p.

7. Кожин А. С., Нейман-заде М. И., Тихор-ский В. В. Влияние подсистемы памяти вось-миядерного микропроцессора «Эльбрус-8С» на его производительность // Вопросы радиоэлектроники. 2017. № 3 Сер. ЭВТ. С. 13-21.

8. Кожин А. С., Кожин Е. С., Шпагилев Д. И. Исследование топологий сетей на кристалле многоядерных процессоров с архитектурой «Эльбрус» // Электроника: НТБ. 2020. № 7.

9. Кожин А. С. Проблемы передачи данных между асинхронными доменами вычислительного устройства // Вопросы радиоэлектроники. 2011. № 3. Сер. ЭВТ. С. 130-141.

см о см

< I

со

а м

Об авторах

Кожин Евгений Сергеевич - ведущий инженер Акционерного общества «МЦСТ», Москва, Российская Федерация. Область научных интересов: микропроцессоры и вычислительные комплексы.

Кожин Алексей Сергеевич - начальник сектора Акционерного общества «МЦСТ», Москва, Российская Федерация. Область научных интересов: микропроцессоры и вычислительные комплексы.

Network-on-a-chip of a new microprocessor generation with the Elbrus architecture

Kozhin E. S., Kozhin A. S.

MCST JSC, Moscow, Russian Federation

The paper describes a network-on-chip of a new microprocessor generation with the Elbrus architecture, taking into account the peculiarities of physical design. The network-on-a-chip under consideration plays a central role in the scaling process of the microprocessor, interconnecting all the main components of the system and ensuring the transfer of all types of packets between devices. The characteristics of the network-on-a-chip determine the bandwidth and access time to the memory subsystem.

Keywords: processor, crystal, topology, network adapter

Information about the authors

Kozhin Evgeny Sergeevich - Lead Engineer, MCST JSC, Moscow, Russian Federation. Research interests: microprocessors and computing systems.

Kozhin Alexey Sergeevich - Sectoral Head, MCST JSC, Moscow, Russian Federation. Research interests: microprocessors and computing systems.

i Надоели баннеры? Вы всегда можете отключить рекламу.