Cisco NPU: сетевой процессор с производительностью 400 Гбит/с

 

О проблемах и путях развития стандарта Ethernet мы совсем недавно рассказывали читателям. Как было упомянуто в заметке, одной из самых важных вех в процессе этого развития является создание сетевых процессоров с огромной агрегированной пропускной способностью. Об одном из таких процессоров мы поведаем сегодня. На конференции Hot Chips представитель компании Cisco Systems Джейме Маркевич (Jamie Markevitch) продемонстрировал безымянный, но уже поставляемый клиентам чип и рассказал о его особенностях. Это большая редкость — услышать подробности о корпоративных разработках такого уровня, исключением может послужить Mellanox и ещё пара компаний. К сожалению, самого интересного, а именно, снимков процессора для коммутаторов с пропускной способностью 6,5 Тбит/с показано не было, но интерес представляет и архитектура чипа, способного работать на скорости 400 Гбит/с.

Против ожидания, вся процессорная мощь NPU находится в правом кристалле

Против ожидания, вся процессорная мощь NPU находится в правом кристалле

Это не 16-нм ASIC под названием CloudScale, представленный Cisco в марте 2016 года, основанный на сигнальном стандарте 25G и применяемый в серии корневых коммутаторов Nexus 9500. Данная версия выпущена раньше и использует 22-нм техпроцесс, но, скорее всего, имеет схожую с CloudScale архитектуру. Данный NPU не является монолитным устройством с фиксированным количеством портов, он предназначен для построения модульных систем с несколькими такими сетевыми процессорами на борту, соединяемыми собственной шиной. Чип очень похож на начинку коммутаторов Nexus 9000, но в тех была использована ещё более старая 28-нм версия. Пока Intel рассуждает о гибридных процессорах, Cisco уже имеет решения с такой архитектурой в своём арсенале и выпускает их серийно. Описываемый кристалл состоит из 9,2 миллиардов транзисторов и имеет 672 процессорных ядра, каждое из которых способно выполнять до 4 потоков.

Общая архитектура и расположение функциональных блоков внутри NPU

Общая архитектура и расположение функциональных блоков внутри NPU

Объём памяти SRAM составляет внушительные 353 Мбайт. Это очень дорогая и быстрая память, в данном процессоре она играет роль кеша нулевого уровня, в котором хранятся как инструкции, так и данные для каждого потока (не ядра!). На каждый кластер из 16 ядер имеется и более привычный кеш L1. Каждое ядро имеет восьмистадийный неблокируемый конвейер, между потоками он переключается по алгоритму round-robin. Всего в чипе 42 16-ядерных кластера, они соединены с кешем инструкций L2, имеющим 4-уровневую ассоциативность. Он же служит межъядерной соединительной сетью, объединяющей все функциональные блоки процессора воедино. Внутренняя сеть работает на частоте 1 ГГц и обладает совокупной пропускной способностью более 9 Тбит/с. Имеется 276 интерфейсов типа SERDES для общения с внешним миром. Часть транзисторного бюджета, разумеется, задействована для реализации всяческих ускорителей, буферов и контроллеров интерфейсов.

NPU и его подсистемы памяти

NPU и его подсистемы памяти

Cisco не раскрывает деталей о том, какой набор инструкций используется в их сетевых процессорах. Это может быть что угодно, включая полностью уникальный набор, не похожий на существующие ARM, MIPS, POWER или x86. Ядра ориентированы на «работу до конца», это означает, что каждый поток, обрабатывающий пакет, отвечает за него в течение всего времени прохождения через NPU. Это исключает простаивание или «переброс пакетов» между ядрами. Различные типы пакетов требуют разных вычислений и имеют разные размеры, поэтому производительность процессорного массива в Cisco NPU непостоянна. Тем не менее, решение поддерживает традиционные пути программирования и может использовать языки C или ассемблер. Поскольку каждый пакет занимает свой поток, это означает одновременную обработку 2688 пакетов. Пакеты поступают из внешней памяти DRAM в массив SRAM, причём, ускорители могут обращаться к DRAM независимо от основного массива, который получает данные из SRAM.

Серия корневых коммутаторов Cisco Nexus 9000 использует описываемые в заметке NPU

Серия корневых коммутаторов Cisco Nexus 9000 использует описываемые в заметке NPU

Сетевой процессор Cisco, описанный в презентации, способен обрабатывать пакеты на скорости 800 Гбит/с, но более привычно говорить о 400 Гбит/с в полнодуплексном режиме. Интерфейс SERDES имеет совокупную пропускную способность порядка 6,5 Тбит/с. Большая часть линий используется для подключения DRAM и TCAM (Ternary Content Addressable Memory) — последняя являет собой некий гибрид SRAM и DRAM и обычно используется для хранения списков доступа (Access Control List, ACL). Большая часть функциональных блоков NPU работает на частоте 760 МГц или 1 ГГц, что на фоне современных ЦП общего назначения выглядит весьма скромно. Интерфейсы MAC поддерживают воплощение PHY практически любого типа со скоростями от 10 до 100 Гбит/с. В составе процессора имеется встроенный менеджер трафика, способный дирижировать 256 тысячами запросов за раз и выдерживать при этом нагрузку порядка половины триллиона объектов в секунду (в основном, пакетов).

В модели Nexus 9000 на снимке хорошо видны четыре NPU. Сверхмощное охлаждение не требуется

В модели Nexus 9000 на снимке хорошо видны четыре NPU. Сверхмощное охлаждение не требуется

Интегрированные блоки ускорителей предназначены для разгрузки процессора от обработки таких функций, как IPv4 и IPv6 prefix look ups, сжатия и хеширования диапазона IP-адресов, приоритизации пакетов и сбора статистики QoS. Внутри упаковки имеется также некоторое количество собственной памяти DRAM, и это хорошо видно на снимке процессора — причём, логика, против ожиданий, занимает меньший кристалл, а больший приходится именно на память. Подключается она с помощью 28 линий SERDES, работающих на скорости 12,5 Гбит/с, что вдвое медленнее продвигаемого сейчас стандарта 25, но совокупная производительность двух контроллеров памяти составляет порядка 37,5 Гбайт/с — не так уж мало, хотя современные ЦП умеют работать с памятью и быстрее. Интересно, что 22-нм техпроцесс используется не везде: с его применением произведён только сам процессор, а вот логика SERDES использует 28-нм, а DRAM и вовсе выпущена с применением 30-нм технологических норм. Приведённое описание даёт неплохое представление о возможностях NPU Cisco. Пусть это предыдущее поколение, но с учётом параметров чипа довольно легко представить, на что способны аналогичные процессоры нового поколения, выпущенные с использованием 16-нм техпроцесса.

Если вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.

Источник:

Постоянный URL: http://servernews.ru/958639
Поделиться:  

Комментарии

Система Orphus