Идея дезагрегации имеет ряд преимуществ, но также выдвигает и определённые требования к реализации, в частности — требуется высокая производительность и низкая латентность среды, объединяющей компоненты стойки или стоек. В роли такой среды компания Intel видит стандарт Сompute Express Link (CXL).
CXL, работающий поверх PCI Express 5.0, представляет собой унифицированный интерфейс, способный работать в различных топологиях и имеющий средства шифрования. Он подходит для реализации Load/Store-нагрузок, причём в сравнении с традиционными сетевыми решения он намного быстрее именно в плане времени отклика, обеспечивая задержки менее 10 нс против типовых 20 – 100+ нс.
Это уже позволяет напрямую работать с массивами оперативной памяти, но Intel говорит о том, что с помощью CXL память может быть вынесена и за пределы узла без потери производительности. В частности, обычная шина PCIe не занимается кешированием памяти, подключённой к ней, а не напрямую к CPU. Имеются проблемы с распределением ресурсов в гетерогенных и дезагрегированных системах. И всё это дополняет «зоопарк» из разных, несовместимых между собой типов памяти. Переход на CXL решает все эти проблемы.
Новый стандарт является открытым, консорциум CXL уже включает в себя более 150 компаний-разработчиков и производителей оборудования; в него входят все игроки на рынке CPU и GPU. Возможности PCIe 5.0, лежащие в основе CXL, достаточны, чтобы вынести пул DRAM-памяти за пределы сервера, причём процессоры серверов в CXL-стойке смогут работать с таким пулом как с локальным благодаря поддержке write-back кеширования.
Такой подход позволит обойти традиционные ограничения, такие, как количество слотов DIMM на процессор, и, как мы знаем, первые CXL-модули памяти DDR5 уже существуют. И не только модули памяти — CXL предполагает единый стандарт и для подключения сетевых адаптеров, различных ускорителей на базе GPU и FPGA, а также и накопителей, как на базе Optane, так и привычной NAND-памяти. Иными словами, на уровне стойки масштабирование предельно упростится, а значит, и удешевится.
В перспективе речь может идти и о более высоком уровне, едином для всего кластера многоуровневым пуле памяти с объёмом, достигающем петайбайтного порядка, при этом поддерживающем горячую замену модулей. С такими преимуществами CXL может вытеснить из мира серверов традиционную архитектуру CPU-память-сеть, но для этого потребуется широкое внедрение CXL 2.0, а первые устройства, которые появятся в следующем году, пока поддерживают лишь CXL 1.0/1.1.
Пока что на пути в это светлое будущее есть целый ряд препятствий, касающихся инфраструктуры. Так, на рынке уже есть коммутаторы PCIe 4.0 вроде GigaIO FabreX. Но они недшёвы и предлагают относительно небольшое число портов. Помимо того, что для PCIe 5.0 понадобятся новые решения для сохранения целостности сигнала, придётся как-то решать задачу повышения отказоустойчивости, поскольку в такой архитектуре отказ единого пула памяти повлияет на несколько машин сразу.