Preview

Вестник Концерна ВКО «Алмаз – Антей»

Расширенный поиск

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

https://doi.org/10.38013/2542-0542-2021-1-103-109

Полный текст:

Аннотация

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

Для цитирования:


Кожин Е.С., Кожин А.С. Сеть-на-кристалле нового поколения микропроцессоров с архитектурой «Эльбрус». Вестник Концерна ВКО «Алмаз – Антей». 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. Journal of «Almaz – Antey» Air and Space Defence Corporation. 2021;(1):103-109. https://doi.org/10.38013/2542-0542-2021-1-103-109

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

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

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

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

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

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


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

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

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

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

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

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

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


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

При проектировании сети-на-кристалле был проведен сравнительный анализ различных топологий сетей-на-кристалле для процессоров шестого поколения с архитектурой «Эльбрус» [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 процессорными ядрами

Заключение

В результате этой работы был предложен принцип построения сетей-на-кристалле для процессоров шестого поколения с архитектурой «Эльбрус» с учетом физических ограничений при проектировании. Разработаны сетевые адаптеры для всех используемых устройств процессора. Собраны сети-на-кристалле с топологиями 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 Solid-State 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. Альфонсо Д. М., Деменко Р. В., Кожин А. С. и др. Микроархитектура восьмиядерного универсального микропроцессора «Эльбрус-8C» // Вопросы радиоэлектроники. 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.


Об авторах

Е. С. Кожин
Акционерное общество «МЦСТ»
Россия

Кожин Евгений Сергеевич – ведущий инженер. Область научных интересов: микропроцессоры и вычислительные комплексы.

Москва, Российская Федерация



А. С. Кожин
Акционерное общество «МЦСТ»
Россия

Кожин Алексей Сергеевич – начальник сектора. Область научных интересов: микропроцессоры и вычислительные комплексы.

Москва, Российская Федерация



Для цитирования:


Кожин Е.С., Кожин А.С. Сеть-на-кристалле нового поколения микропроцессоров с архитектурой «Эльбрус». Вестник Концерна ВКО «Алмаз – Антей». 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. Journal of «Almaz – Antey» Air and Space Defence Corporation. 2021;(1):103-109. https://doi.org/10.38013/2542-0542-2021-1-103-109

Просмотров: 325


Creative Commons License
Контент доступен под лицензией Creative Commons Attribution 4.0 License.


ISSN 2542-0542 (Print)