Gen 13: Технический разбор самого мощного сервера Cloudflare

Несколько месяцев назад Cloudflare объявил о переходе на FL2 — нашей переписанной на Rust версии основного слоя обработки запросов. Этот переход ускоряет нашу способность помогать в создании лучшего интернета для всех. Вместе с миграцией программного стека Cloudflare обновил дизайн серверного оборудования, улучшив его возможности и эффективность для удовлетворения растущих требований нашей сети и программного стека. Поколение 13 спроектировано на базе 192-ядерного процессора AMD EPYC™ Turin 9965, оснащено 768 ГБ оперативной памяти DDR5-6400, 24 ТБ хранилища PCIe 5.0 NVMe и сетевым интерфейсом с двумя портами 100 Гбит/с.

Поколение 13 обеспечивает:

  • До 2-кратной пропускной способности по сравнению с 12-м поколением при соблюдении SLA по задержкам

  • До 50% улучшения показателя производительности на ватт, что снижает затраты на расширение дата-центров

  • До 60% более высокую пропускную способность на стойку при неизменном энергобюджете стойки

  • Вдвое большую емкость памяти, в 1,5 раза большую емкость накопителей, в 4 раза большую пропускную способность сети

  • Появление аппаратной поддержки шифрования PCIe в дополнение к шифрованию памяти

  • Улучшенная поддержка мощных термонагруженных PCIe-акселераторов

В этом посте блога рассматривается инженерная логика выбора каждого основного компонента: что мы оценивали, что выбрали и почему.

Поколение

Вычислительные серверы 13-го поколения

Предыдущие вычислительные серверы 12-го поколения

Форм-фактор

2U1N, один сокет

2U1N, один сокет

Процессор

AMD EPYC™ 9965 Turin 192-ядерный процессор

AMD EPYC™ 9684X Genoa-X 96-ядерный процессор

Память

768 ГБ DDR5-6400, 12 каналов памяти

384 ГБ DDR5-4800, 12 каналов памяти

Накопители

3 x E1.S NVMe

 Samsung PM9D3a 7.68 ТБ / Micron 7600 Pro 7.68 ТБ

2 x E1.S NVMe 

Samsung PM9A3 7.68 ТБ / Micron 7450 Pro 7.68 ТБ

Сеть

Двойной порт 100 Гбит/с OCP 3.0 

Сетевой адаптер Intel Ethernet E830-CDA2 / NVIDIA Mellanox ConnectX-6 Dx

Двойной порт 25 Гбит/с OCP 3.0

Сетевой адаптер Intel Ethernet E810-XXVDA2 / NVIDIA Mellanox ConnectX-6 Lx

Управление системой

DC-SCM 2.0 ASPEED AST2600 (BMC) + AST1060 (HRoT)

DC-SCM 2.0 ASPEED AST2600 (BMC) + AST1060 (HRoT)

Блок питания

1300 Вт, уровень эффективности Titanium

800 Вт, уровень эффективности Titanium

Inside Gen 13: how we built our most powerful server yet

Рисунок: Сервер 13-го поколения

ЦП

Поколение 12

AMD EPYC™ 9684X Genoa-X 96-ядерный (TDP 400 Вт, кэш L3 1152 МБ)

Поколение 13

AMD EPYC™ 9965 Turin Dense 192-ядерный (TDP 500 Вт, кэш L3 384 МБ)

На этапе проектирования мы оценили несколько процессоров AMD EPYC™ 5-го поколения под кодовым названием Turin в нашем аппаратном лаборатории Cloudflare: AMD Turin 9755, AMD Turin 9845 и AMD Turin 9965. В таблице ниже приведены различия в спецификациях кандидатов для серверов 13-го поколения по сравнению с AMD Genoa-X 9684X, использованным в наших серверах 12-го поколения. Примечательно, что все три кандидата предлагают увеличение количества ядер, но с меньшим кэшем L3 на ядро. Однако с миграцией на FL2 новые рабочие нагрузки стали менее зависимы от кэша L3 и хорошо масштабируются с увеличением количества ядер, обеспечивая до 100% прироста пропускной способности.

Три кандидата на ЦП предназначены для разных сценариев использования: AMD Turin 9755 предлагает превосходную производительность на ядро, AMD Turin 9965 жертвует производительностью на ядро ради эффективности, а AMD Turin 9845 жертвует количеством ядер для снижения энергопотребления сокета. Мы оценили все три ЦП в производственной среде.

Модель ЦП

AMD Genoa-X 9684X

AMD Turin 9755

AMD Turin 9845

AMD Turin 9965

Для серверной платформы

Поколение 12

Кандидат для поколения 13

Кандидат для поколения 13

Кандидат для поколения 13

Количество ядер ЦП

96

128

160

192

Количество потоков

192

256

320

384

Базовая тактовая частота

2.4 ГГц

2.7 ГГц

2.1 ГГц

2.25 ГГц

Макс. частота в режиме Boost

3.7 ГГц

4.1 ГГц

3.7 ГГц

3.7 ГГц

Частота Boost для всех ядер

3.42 ГГц

4.1 ГГц

3.25 ГГц

3.35 ГГц

Общий объем кэша L3

1152 МБ

512 МБ

320 МБ

384 МБ

Кэш L3 на ядро

12 МБ / ядро

4 МБ / ядро

2 МБ / ядро

2 МБ / ядро

Максимально настраиваемый TDP

400 Вт

500 Вт

390 Вт

500 Вт

Почему AMD Turin 9965?

Во-первых, FL2 положил конец проблеме с кэшем L3.

Кэш L3 — это большой кэш последнего уровня, общий для всех ядер ЦП на одном кристалле, предназначенный для хранения часто используемых данных. Он служит мостом между медленной основной памятью вне ЦП и быстрым, но небольшим кэшем L1 и L2 на ЦП, уменьшая задержку доступа ЦП к данным.

Некоторые могут заметить, что у 9965 всего 2 МБ кэша L3 на ядро, что на 83,3% меньше, чем 12 МБ на ядро у Genoa-X 9684X в 12-м поколении. Зачем отказываться от преимущества кэша, которое давало преимущество 12-му поколению? Ответ кроется в том, как эволюционировали наши рабочие нагрузки.

Cloudflare перешел с FL1 на FL2 — полную перезапись нашего слоя обработки запросов на Rust. С новым программным стеком конвейер обработки запросов Cloudflare стал значительно менее зависимым от большого кэша L3. Рабочие нагрузки FL2 масштабируются почти линейно с количеством ядер, а 192 ядра 9965 обеспечивают 2-кратное увеличение аппаратных потоков по сравнению с 12-м поколением.

Во-вторых, производительность на общую стоимость владения (TCO). Во время производственной оценки 192 ядра 9965 обеспечили самый высокий совокупный показатель запросов в секунду среди трех кандидатов, а его производительность на ватт хорошо масштабировалась при TDP 500 Вт, обеспечивая превосходную TCO на уровне стойки.

Поколение 12 

Поколение 13 

Процессор

AMD EPYC™ 4-го поколения Genoa-X 9684X

AMD EPYC™ 5-го поколения Turin 9965

Количество ядер

96 ядер / 192 потока

192 ядра / 384 потока

Пропускная способность FL

Базовый уровень

До +100%

Производительность на ватт

Базовый уровень

До +50%

В-третьих, операционная простота. Наши операционные команды предпочитают меньшее количество серверов с более высокой плотностью. Управление парком машин с 192 ядрами означает меньше узлов для подготовки, обновления и мониторинга на единицу предоставляемых вычислительных ресурсов. Это напрямую снижает операционные накладные расходы в нашей глобальной сети.

Наконец, они обратно совместимы. Архитектура процессоров AMD поддерживает DDR5-6400, PCIe Gen 5.0, память CXL 2.0 Type 3 во всех вариантах поставки (SKU). AMD Turin 9965 имеет наибольшее количество высокопроизводительных ядер на сокет в отрасли, максимизируя плотность вычислений на сокет и сохраняя конкурентоспособность и актуальность платформы на годы вперед. Переходя с AMD Genoa-X 9684X на AMD Turin 9965, мы получаем более длительную поддержку безопасности от AMD, продлевая срок службы серверов 13-го поколения до того, как они устареют и потребуют обновления.

Память

Поколение 12

12 x 32 ГБ DDR5-4800 2Rx8 (всего 384 ГБ, 4 ГБ/ядро)

Поколение 13

12 x 64 ГБ DDR5-6400 2Rx4 (всего 768 ГБ, 4 ГБ/ядро)

Поскольку процессор AMD Turin имеет вдвое больше ядер, чем предыдущее поколение, ему требуется больше ресурсов памяти, как по емкости, так и по пропускной способности, для обеспечения прироста производительности.

Максимизация пропускной способности с 12 каналами

Выбранный процессор AMD EPYC™ 9965 поддерживает двенадцать каналов памяти, и для поколения 13 мы задействуем каждый из них. Мы выбрали модули ECC RDIMM DDR5-6400 емкостью 64 ГБ в конфигурации «один модуль DIMM на канал» (1DPC).

Эта конфигурация обеспечивает пиковую пропускную способность памяти 614 ГБ/с на сокет, что на 33,3% больше по сравнению с нашей серверной платформой 12-го поколения. Используя все 12 каналов, мы гарантируем, что ЦП никогда не будет «испытывать голод» по данным даже при самых интенсивных параллельных рабочих нагрузках.

Populating all twelve channels in a balanced configuration — equal capacity per channel, with no mixed configurations — is common best practice. This matters operationally: AMD Turin processors interleave across all memory channels with the same DIMM type, same memory capacity and same rank configuration. Interleaving increases memory bandwidth by spreading contiguous memory access across all memory channels in the interleave set instead of sending all memory access to a single or a small subset of memory channels. 

The 4 GB per core “sweet spot”

Our Gen 12 servers are configured with 4GB per core. We revisited that decision as we designed Gen 13.

Cloudflare launches a lot of new products and services every month, and each new product or service demands an incremental amount of memory capacity. These accumulate over time and could become an issue of memory pressure, if memory capacity is not sized appropriately.

Initial requirement considered a memory-to-core ratio between 4 GB and 6 GB per core. With 192 cores on the AMD Turin 9965, that translates to a range of 768 GB to 1152 GB. Note that at higher capacities,  DIMM module capacity granularity are typically 16GB increments. With 12 channels in a 1DPC configuration, our options are 12x 48GB (576 GB), 12x 64GB (768 GB), or 12x 96GB (1152 GB).

  • 12x 48GB = 576 GB, or 1.5 GB/thread. The memory capacity of this configuration is too low; this would starve memory-hungry workloads and violate the lower bound.

  • 12x 96GB = 1152 GB, or 3.0 GB/thread. This would be a 50% capacity increase per core and would also result in higher power consumption and a substantial increase in cost, especially in the current market conditions where memory prices are 10x of what they were a year ago.

  • 12x 64GB = 768 GB, or 2.0 GB/thread (4 GB/core). This configuration is consistent with our Gen 12 memory to core ratio, and represents a 2x increase in memory capacity per server. Keeping the memory capacity configuration at 4 GB per core provides sufficient capacity for workloads that scale with core count, like our primary workload, FL, and provide sufficient memory capacity headroom for future growth without overprovisioning.

FL2 uses memory more efficiently than FL1 did: our internal measures show FL2 uses less than half the CPU of FL1, and far less than half the memory. The capacity freed up by the software stack migration provides ample headroom to support Cloudflare growth for the next few years.

The decision: 12x 64GB for 768 GB total. This maintains the proven 4 GB/core ratio, provides a 2x total capacity increase over Gen 12, and stays within the DIMM cost curve sweet spot.

Efficiency through dual rank

In Gen 12, we demonstrated that dual-rank DIMMs provide measurably higher memory throughput than single-rank modules, with advantages of up to 17.8% at a 1:1 read-write ratio. Dual-rank DIMMs are faster because they allow the memory controller to access one rank while another is refreshing. That same principle carries forward here.

Our requirement also calls for approximately 1 GB/s of memory bandwidth per hardware thread. With 614 GB/s of peak bandwidth across 384 threads, we deliver 1.6 GB/s per thread, comfortably exceeding the minimum. Production analysis has shown that Cloudflare workloads are not memory-bandwidth-bound, so we bank the headroom as margin for future workload growth.

By opting for 2Rx4 DDR5 RDIMMs at maximum supported 6400MT/s, we ensure we get the lowest latency and best performance from our Gen 13 platform memory configuration.

Storage

Gen 12

x2 E1.S NVMe PCIe 4.0, 16 TB total

Samsung PM9A3 7.68TB

Micron 7450 Pro 7.68TB

Gen 13

x3 E1.S NVMe PCIe 5.0, 24 TB total

Samsung PM9D3a 7.68TB

Micron 7600 Pro 7.68TB

+10x U.2 NVMe PCIe 5.0 option

Our storage architecture underwent a transformation in Gen 12 when we pivoted from M.2 to EDSFF E1.S. For Gen 13, we are increasing the storage capacity and the bandwidth to align with the latest technology. We have also added a front drive bay for flexibility to add up to 10x U.2 drives to keep pace with Cloudflare storage product growth. 

The move to PCIe 5.0

Gen 13 is configured with PCIe Gen 5.0 NVMe drives. While Gen 4.0 served us well, the move to Gen 5.0 ensures that our storage subsystem can serve data at improved latency, and keep up with increased storage bandwidth demand from the new processor. 

16 TB to 24 TB

Beyond the speed increase, we are physically expanding the array from two to three NVMe drives. Our Gen 12 server platform was designed with four E1.S storage drive slots, but only two slots were populated with 8TB drives. The Gen 13 server platform uses the same design with four E1.S storage drive slots available, but with three slots populated with 8TB drives. Why add a third drive? This increases our storage capacity per server from 16TB to 24TB, ensuring we are expanding our global storage capacity to maintain and improve CDN cache performance. This supports growth projections for Durable Objects, Containers, and Quicksilver services, too.

Front drive bay to support additional drives

For Gen 13, the chassis is designed with a front drive bay that can support up to ten U.2 PCIe Gen 5.0 NVMe drives. The front drive bay provides the option for Cloudflare to use the same chassis across compute and storage platforms, as well as the flexibility to convert a compute SKU to a storage SKU when needed. 

Endurance and reliability

We designed our servers to have a 5-year operational life and require storage drives endurance to sustain 1 DWPD (Drive Writes Per Day) over the full server lifespan.

Both the Samsung PM9D3a and Micron 7600 Pro meet the 1 DWPD specification with a hardware over-provisioning (OP) of approximately 7%. If future workload profiles demand higher endurance, we have the option to hold back additional user capacity to increase effective OP.

NVMe 2.0 and OCP NVMe 2.0 compliance

Both the Samsung PM9D3a and Micron 7600 adopt the NVMe 2.0 specification (up from NVMe 1.4) and the OCP NVMe Cloud SSD Specification 2.0. Key improvements include Zoned Namespaces (ZNS) for better write amplification management, Simple Copy Command for intra-device data movement without crossing the PCIe bus, and enhanced Command and Feature Lockdown for tighter security controls. The OCP 2.0 spec also adds deeper telemetry and debug capabilities purpose-built for datacenter operations, which aligns with our emphasis on fleet-wide manageability.

Thermal efficiency

The storage drives will continue to be in the E1.S 15mm form factor. Its high-surface-area design is essential for cooling these new Gen 5.0 controllers, which can pull upwards of 25W under sustained heavy I/O. The 2U chassis provides ample airflow over the E1.S drives as well as U.2 drive bays, a design advantage we validated in Gen 12 when we made the decision to move from 1U to 2U.

Network

Gen 12

Dual 25 GbE port OCP 3.0 NIC 

Intel E810-XXVDA2

NVIDIA Mellanox ConnectX-6 Lx

Gen 13

Dual 100 GbE port OCP 3.0 NIC

Intel E830-CDA2

NVIDIA Mellanox ConnectX-6 Dx

For more than eight years, dual 25 GbE was the backbone of our fleet. Since 2018 it has served us well, but as the CPU has improved to serve more requests and our products scale, we’ve officially hit the wall. For Gen 13, we are quadrupling our per-port bandwidth.

Why 100 GbE and why now?

Network Interface Card (NIC) bandwidth must keep pace with compute performance growth. With 192 modern cores, our 25 GbE links will become a measurable bottleneck. Production data from our co-locations worldwide over a week showed that, on our Gen 12, P95 bandwidth per port is consistently >50% of available bandwidth. Since throughput is doubling per server on Gen 13, we are at risk of saturating the NIC bandwidth.

Inside Gen 13: how we built our most powerful server yet

Figure: on Gen 12, P95 bandwidth per port is consistently >50% of available bandwidth

The decision to go to 100 GbE rather than 50 GbE was driven by industry economics: 50 GbE transceiver volumes remain low in the industry, making them a poor supply chain bet. Dual 100 GbE ports also give us 200 Gb/s of aggregate bandwidth per server, future-proofing against the next several years of traffic growth.

Hardware choices and compatibility

Мы сохраняем стратегию двух поставщиков для обеспечения устойчивости цепочки поставок — урок, усвоенный на собственном горьком опыте во время пандемии, когда использование единственного источника для сетевых карт поколения 11 оставило нас в цейтноте.

Обе сетевые карты соответствуют форм-фактору OCP 3.0 SFF/TSFF с интегрированной петлёй для извлечения, что обеспечивает общность шасси с поколением 12 и гарантирует, что полевым техникам для замены не потребуются новые инструменты или обучение.

Выделение линий PCIe

Слот для сетевой карты OCP 3.0 на материнской плате использует 16 линий PCIe 4.0, что обеспечивает 256 Гбит/с двунаправленной пропускной способности — этого более чем достаточно для двух портов 100 GbE (суммарно 200 Гбит/с) с запасом.

Управление

Gen 12

Модуль безопасного управления ЦОД 2.0 Project Argus

Gen 13

Модуль безопасного управления ЦОД 2.0 Project Argus

Шифрование PCIe

Мы сохраняем архитектурное изменение, внедрённое в поколении 12, которое заключается в отделении компонентов, связанных с управлением и безопасностью, от материнской платы и переносе их в Модуль безопасного управления ЦОД 2.0 Project Argus.

Inside Gen 13: how we built our most powerful server yet

Рисунок: Модуль безопасного управления ЦОД 2.0 (DC-SCM 2.0) Project Argus

Преемственность с DC-SCM 2.0

Мы продолжаем использовать стандарт Модуля безопасного управления ЦОД 2.0 (DC-SCM 2.0). Отделяя функции управления и безопасности от материнской платы, мы обеспечиваем модульность и защищённость «интеллектуального центра» безопасности сервера.

Модуль DC-SCM содержит наши самые критичные компоненты:

  • Базовая система ввода-вывода (BIOS)

  • Контроллер управления материнской платой (BMC)

  • Аппаратный корень доверия (HRoT) и TPM (Infineon SLB 9672)

  • Два чипа флеш-памяти для BMC/BIOS для обеспечения резервирования

Почему мы продолжаем курс на DC-SCM 2.0

Решение сохранить эту архитектуру для поколения 13 обусловлено доказанным приростом безопасности, который мы наблюдали в предыдущем поколении. Вынося эти функции на выделенный модуль, мы обеспечиваем:

  • Быстрое восстановление: Двойное резервирование образов позволяет почти мгновенно восстанавливать прошивку BIOS/UEFI и BMC в случае обнаружения случайного повреждения или вредоносного обновления.

  • Физическая устойчивость: Конструкция шасси поколения 13 также перемещает механизм обнаружения вскрытия дальше от плоского края шасси, что затрудняет физический перехват.

  • Шифрование PCIe: В дополнение к TSME (Transparent Secure Memory Encryption) для шифрования между процессором и памятью, которое уже было включено с наших платформ поколения 10, процессор AMD Turin 9965 для поколения 13 расширяет шифрование на трафик PCIe. Это гарантирует защиту данных при передаче по каждой шине в системе.

  • Операционная согласованность: Следование стеку управления поколения 12 означает, что наши проверки безопасности, развёртывание, подготовка и стандартные операционные процедуры остаются полностью совместимыми.

Питание

Gen 12

800 Вт, 80 PLUS Titanium, форм-фактор CRPS

Gen 13

1300 Вт, 80 PLUS Titanium, форм-фактор CRPS

По мере того как мы повышаем вычислительные и сетевые возможности сервера, естественным образом расширился и диапазон энергопотребления. Серверы поколения 13 оснащены более мощными блоками питания для обеспечения необходимой энергии.

Скачок до 1300 Вт

В то время как наши узлы поколения 12 комфортно работали с блоками питания 800 Вт 80 PLUS Titanium CRPS (Common Redundant Power Supply), спецификация поколения 13 требует более мощного блока питания. Мы выбрали блок питания 1300 Вт 80 PLUS Titanium CRPS.

Потребление энергии поколением 13 при типичной работе возросло до 850 Вт, что на 250 Вт больше, чем 600 Вт у поколения 12. Основными факторами являются процессор с TDP 500 Вт (против 400 Вт), удвоение объёма памяти и дополнительный накопитель NVMe.

Почему 1300 Вт, а не 1000 Вт? Текущая экосистема блоков питания не предлагает жизнеспособных высокоэффективных вариантов на 1000 Вт. Чтобы обеспечить надёжность цепочки поставок, мы перешли на следующий отраслевой стандартный уровень — 1300 Вт.

EU Lot 9 — это нормативный акт, требующий, чтобы серверы, развёртываемые в Европейском Союзе, имели блоки питания с КПД при нагрузке 10%, 20%, 50% и 100%, равным или превышающим пороговый процент, указанный в регламенте. Этот порог соответствует требованиям к блокам питания уровня сертификационной программы 80 PLUS класса «титан». Мы выбрали блок питания класса «титан» для поколения 13, чтобы сохранить полное соответствие EU Lot 9, гарантируя, что серверы могут быть развёрнуты в наших европейских и других дата-центрах.

Тепловая конструкция: преимущества 2U снова себя оправдывают

Форм-фактор 2U1N, принятый нами в поколении 12, продолжает приносить дивиденды. Поколение 13 использует 5 вентиляторов диаметром 80 мм (вместо 4 в поколении 12), чтобы справляться с возросшей тепловой нагрузкой от процессора на 500 Вт. Больший объём вентиляторов в сочетании с характеристиками воздушного потока шасси 2U означает, что вентиляторы работают значительно ниже максимального рабочего цикла при типичных температурах окружающей среды, сохраняя потребляемую мощность каждого вентилятора в пределах < 50 Вт.

Поддержка совместимых ускорителей

Gen 12

2 слота для карт одинарной ширины FHFL или 1 слот для карт двойной ширины FHFL

Gen 13

2 слота для карт двойной ширины FHFL

Сохранение модульности нашего парка — ключевое требование для дизайна наших серверов. Это требование позволило Cloudflare быстро модернизировать и развернуть GPU по всему миру в более чем 100 городах в 2024 году. В поколении 13 мы продолжаем поддерживать высокопроизводительные платы расширения PCIe.

В поколении 13 компоновка шасси 2U обновлена и настроена для поддержки более требовательных условий по питанию и охлаждению. В то время как поколение 12 было ограничено одним GPU двойной ширины, архитектура поколения 13 теперь поддерживает две PCIe карты двойной ширины.

Стартовая площадка для масштабирования Cloudflare на новые высоты

Каждое поколение серверов Cloudflare — это поиск баланса между конкурирующими ограничениями: производительность vs энергопотребление, ёмкость vs стоимость, гибкость vs простота. Поколение 13 имеет в 2 раза больше ядер, в 2 раза больше памяти, в 4 раза выше пропускную способность сети, в 1,5 раза больше ёмкости накопителей и задел на будущее для развёртывания ускорителей — и всё это при улучшении совокупной стоимости владения и сохранении надёжного набора функций управления и уровня безопасности, который требует наш глобальный парк.

Серверы поколения 13 полностью квалифицированы и будут развёрнуты для обработки миллионов запросов в глобальной сети Cloudflare, охватывающей более 330 городов. Как всегда, путь Cloudflare к максимально эффективному обслуживанию интернета на этом не заканчивается. По мере начала развёртывания поколения 13 мы уже планируем архитектуру для поколения 14.