У 40% серверов в парке Meta не хватает памяти для современных задач. Серверы живут 3–5 лет, а модули DDR4 работают 7–10 лет. Компания решила не выбрасывать старые планки — их вытаскивают, ставят в новые машины, которым нужна DDR5, и соединяют всё через собственный CXL ASIC под названием Vistara.
Готовые CXL-решения не подошли. Обычно контроллер и DRAM идут в одной связке — старые DIMMs не переиспользовать. К тому же они не поддерживают DDR4, жрут много энергии и стоят дорого. Vistara работает иначе: это ASIC с двумя независимыми 72-битными каналами DDR4, скоростью до 3 200 MT/s и ёмкостью до 256 ГБ на чип. Внутри — пара собственных RISC-V процессоров. ASIC подключается к хосту через CXL 2.0/1.1 по PCIe Gen5 x16.
Железо живёт в устройствах MemServer на процессоре AMD Turin с 158 ядрами (316 потоков). Каждый MemServer несёт 768 ГБ DDR5 и ещё 256 ГБ DDR4 через Vistara. Карты CXL ставятся в отдельные слоты сзади, а шасси использует направленный обдув мощными вентиляторами.
Софт тоже доработали. DDR4 показывается операционке как отдельный NUMA-узел без CPU — не как локальная память. Система сначала жмёт всю доступную DDR5, потом подключает CXL-память. Все изменения в Linux CXL драйвере либо уже в основной ветке ядра, либо отправлены в апстрим.
Meta использует Vistara в миллионах серверов. Нагрузки — ML-инференс (таблицы эмбеддингов в рекомендательных системах), big data (Spark, Hive), базы данных, распределённые кеши, CI/CD-сборки. Для датасетов в терабайты и петабайты нехватка памяти означала бы сбой аналитики и пайплайнов. CXL снижает число OOM-ошибок на 33% — меньше перезапусков и фрагментации ресурсов. А ещё серверов для инференса стало нужно на 25% меньше. Плюс Meta сэкономила на бешеных ценах на память.