Содержание
DDR4 получила вторую жизнь в дата-центрах Meta: компания начала повторно использовать память из списанных серверов через CXL, чтобы не покупать новую DRAM по высоким ценам.
Смысл простой и очень практичный. У гиперскейлеров растут расходы на память, поставки растягиваются, а старые серверы оставляют после себя терабайты рабочих модулей. Meta решила не отправлять их в утиль, а подключать как дополнительный пул памяти рядом с DDR5.
Почему Meta взялась за старую DDR4 именно сейчас
Meta называет схему почти бесплатным расширением памяти, потому что компания берет модули из выведенных из эксплуатации серверов. Для крупных дата-центров это прямой способ снизить так называемый RAM tax — переплату за DRAM при масштабировании инфраструктуры.
Проблема уперлась не только в цену. Дефицит памяти и длинные сроки поставки уже мешают разворачивать серверы в облачных средах. Когда новая DRAM приезжает поздно и стоит дорого, старые модули внезапно перестают выглядеть мусором.
CXL в этой схеме играет роль моста. Технология подключает старую DDR4 как расширенную память рядом с локальными пулами DDR5 в той же машине. Процессор видит больше доступной памяти, хотя часть ее физически сидит дальше и работает медленнее.
И вот тут начинается инженерная часть. Meta не просто воткнула старую память в новые серверы. Компания разработала собственный ASIC под названием Vistara, заточенный под повторное использование DRAM, низкую задержку и энергоэффективность.
CXL помог, но не убрал физику задержек
Ранние реализации CXL для расширения памяти страдали от жестких компромиссов: пропускная способность могла быть почти в десять раз ниже локальной памяти, а задержка — примерно на 60% выше. Для части серверных задач это слишком дорого по времени ответа.

| Параметр | Локальная память | Расширенная память через CXL |
| Пропускная способность | Базовый уровень у процессорного сокета | До 10 раз ниже в ранних реализациях |
| Задержка | Минимальная, память рядом с CPU | Примерно на 60% выше |
| Стоимость расширения | Нужна новая DRAM | Можно использовать снятую с серверов DDR4 |
Еще один стопор — коммерческие CXL-продукты. Многие из них поставляют контроллеры вместе с новыми DRAM-модулями. Такая связка плохо подходит для склада старой DDR4, который уже лежит у оператора дата-центра.
Meta пошла по своему пути. Железо дополнили программным стеком на базе TPP, или Transparent Page Placement. Софт подбирает соотношение локальной и расширенной памяти под конкретную нагрузку. Если задержки ломают рабочий профиль, система отключает расширенный пул.
- Память: старые DDR4-модули из списанных серверов
- Интерфейс: CXL для подключения расширенного пула
- Чип: внутренний ASIC Vistara
- Софт: TPP с автоматическим подбором доли локальной и расширенной памяти
В машинном обучении Meta сократила число серверов на 25%
Meta проверила подход на двух типах рабочих нагрузок: disaggregated machine learning inference и распределенных кешах. В первом случае компания получила сокращение числа серверов до 25%, потому что дополнительная емкость памяти сняла часть узких мест.
С кешами результат выглядит менее очевидно, но тоже полезно. Meta зафиксировала среднее снижение задержки примерно на 29%, хотя часть памяти в системе работала медленнее локальной. Тут емкость оказалась важнее пиковой скорости DRAM.
Для серверов это знакомая история. Иногда приложение упирается не в наносекунды доступа, а в нехватку памяти. Если данных много, лишние гигабайты могут дать больше, чем более быстрая, но слишком маленькая конфигурация.
Тема CXL сейчас пересекается и с большой гонкой интерконнектов для ускорителей. Рядом развивается UAL, или Ultra Accelerator Link, который поддерживают AMD, AWS, Google, Microsoft и Meta. Его продвигают как открытую альтернативу закрытым связкам уровня Nvidia NVLink. О развитии CXL-экосистемы писал и Blocks & Files.
Meta формулирует подход так: «На стороне железа мы разработали собственный CXL ASIC Vistara, оптимизированный под повторное использование DRAM, энергоэффективность и низкую задержку. На стороне софта мы построили решение на TPP, подбираем соотношение локальной и расширенной памяти для каждой нагрузки и автоматически отключаем расширенную память там, где задержка неприемлема».