Intel Interconnect Day 2019: подробности интерконнекта CXL

Опубликовано:

cxlПосле краткого анонса интерконнекта Compute Express Link или CXL, Intel раскрыла дополнительные подробности на мероприятии Interconnect Day 2019. CXL описывается Intel как открытый стандарт, но не все спецификации открыты. Интерконнект CXL является конкурентом CCIX, OpenCAPI и Gen-Z.

Intel в первую очередь определила позиционирование CXL в иерархии интерконнектов и сетевых соединений. CXL является процессорным интерконнектом, то есть он соединяет между собой процессоры, ASICs, FPGAs и GPUs. CXL не предназначен для соединения узлов в дата-центре, в отличие от тех же InfiniBand или Ethernet.

Причина появления CXL такая же, что в случае упомянутых технологий (CCIX, OpenCAPI и Gen-Z), а также утвердившегося на рынке NVLink. NVIDIA видит NVLink в качестве единственного способа связи аппаратных компонентов с соответствующими требованиями по пропускной способности, задержкам и функциям, таким как когерентность памяти. В случае NVLink поддерживаются GPU собственного производства, которых можно связывать до 16 штук. Intel с интерконнектом CXL используют схожий подход, но существенно расширяет технологию.

Что видно, например, по выбору технологии передачи. Вместо собственной физической технологии передачи, CXL опирается на PCI Express. Причем стартовой точкой для CXL выбрана PCI Express 5.0. Технология PCI Express 5.0 обеспечивает пропускную способность 3,9 Гбайт/с по одной линии или 63 Гбайт/с по 16 линиям. Если верить Intel, CXL будет использовать восемь линий PCI Express 5.0, что дает пропускную способность 32 Гбайт/с.

Для сравнения: NVLink 2.0 может передавать данные со скоростью 50 Гбайт/с (суммарно в двух направлениях приема и передачи) на канал, в случае GV100 GPU возможна поддержка до шести каналов.

Вместе с тем Intel ожидает скорого внедрения PCI Express 6.0, что обеспечит дальнейшее увеличение пропускной способности.

CXL - не просто интерконнект, ориентированный на максимальную пропускную способность. В одном соединении работают три протокола: CXL.io, CXL.cache и CXL.memory.

CXL.io обеспечивает обратную совместимость с PCI Express. Так что CXL.io можно будет назвать наиболее часто используемым протоколом, поскольку стандарт PCI Express повсеместно распространен в серверах. CXL.cache позволяет обращаться в кэши процессора Xeon. Он обеспечивает когерентность кэшей между CPUs, FPGAs (в том числе новыми чипами Agilex) и ускорителями GPU, представленными Intel. CXL.memory позволяет обращаться к памяти ускорителей. Протоколы CXL.cache и CXL.memory разработаны для низких задержек и работают в стеке CXL на своих уровнях.

В отличие от нынешних интерконнектов CPU QPI и UPI, CXL разработан асимметрично. В случае модели UPI все участвующие процессоры равноправны, каждый должен оснащаться своими агентами Caching и Home. В случае CXL все агенты расположены в CPU, и удаленному клиенту не нужно иметь собственные агенты Caching и Home. Что облегчает для Intel разработку соответствующих ускорителей, а также и разработку чипов CXL другими производителями. В любом случае, Intel будет следить за тем, чтобы собственные процессоры Xeon оставались центральным звеном сети CXL.

В когерентной системе памяти все участники должны иметь возможность обращаться к общей памяти. Данная память является суммой всех локальных массивов каждого клиента. Например, два GPU с 16 Гбайт памяти HBM2 используют в таком случае общий массив 32 Гбайт, то есть могут обращаться к памяти друг друга.

Вроде бы звучит просто, но на самом деле доступ к памяти должен координироваться, что увеличивает задержки. Даже в том случае, если GPU требуется доступ к своей памяти. Так что вопрос когерентности памяти не такой простой.

Чтобы решить данную задачу, Intel разработала разные методы доступа. Например, в случае Device Bias устройство может обращаться к собственной когерентной памяти без каких-либо задержек. В случае Host Bias доступ всегда происходит через центральный процессор, что вносит задержки и ограничивает пропускную способность. Если верить Intel, более быстрый доступ Device Bias получится реализовывать чаще, чем Host Bias.

Итог

С новым интерконнектом CXL Intel будет конкурировать с такими стандартами, как CCIX, OpenCAPI и Gen-Z. Лидеры рынка считают системы с когерентной памятью наиболее перспективными, и для их создания необходим быстрый интерконнект с низкими задержками. NVIDIA давным давно поняла эту задачу и разработала собственный интерконнект NVLink из-за отсутствия адекватных стандартов на рынке. То же самое теперь сделала и Intel с CXL.

CXL станет важным строительным блоком для Intel, который позволит свести вместе нынешние наработки. Процессоры Xeon будут поддерживать CXL в серверах в качестве центрального звена. Дополнительные чипы будут подключаться к ним через CXL, в том числе FPGAs и ускорители GPU. Однако для реализации CXL в представленном виде сначала должны быть утверждены спецификации PCI Express 5.0. Новые процессоры Xeon Scalable второго поколения на архитектуре Cascade Lake поддерживают только PCI Express 3.0. AMD анонсирует поддержку PCI Express 4.0 этим летом с процессорами EPYC и Ryzen следующего поколения. Intel догонит только с процессорами Cooper Lake и Ice Lake где-то на рубеже 2019/2020. Стандарт PCI Express 5.0 вряд ли выйдет на рынок раньше конца 2020 или даже 2021 года. И только тогда CXL станет играть для Intel прогнозируемую роль. Впрочем, анонс Agilex FPGAs с поддержкой PCI Express 5.0 говорит о том, что Intel планирует ускорить внедрение инноваций.