Netflix, ведущая потоковая видеослужба, изучает возможности обновления серверной инфраструктуры. Netflix уже сейчас имеет серверы, которые могут достаточно легко отдавать TLS-поток со скоростью 100 Гбит/с, но компания хочет добиться показателя в 200 Гбит/с.
Дрю Галлатин (Drew Gallatin) на EuroBSDCon рассказал о проделанных оптимизациях во FreeBSD и о тестировании новых платформ Intel и AMD, которые могут стать основой для следующего поколения серверов Netflix.
Текущая конфигурация серверов Nwtflix использует один процессор Intel Xeon, и, учитывая необходимость удвоить пропускную способность, компания может либо перейти на конфигурации с двумя Xeon, либо использовать один чип EPYC. Поскольку выбранные конфигурации AMD и Intel имеют одинаковый показатель совокупной стоимости владения речь, по сути, идёт о технической оценке двух систем.
В настоящее время Netflix использует в своих серверах чипы Xeon на базе архитектур Broadwell, Skylake и Cascade Lake — они способны обеспечить 100 Гбит/с. Чипы на базе Broadwell имеют пропускную способность памяти на уровне 60 Гбайт/с и 40 линий PCIe 3.0 (32 Гбайт/с пропускной способности ввода-вывода), в то время как Intel Skylake и Cascade Lake обеспечивают пропускную способность памяти в 90 Гбайт/с и 48 линий PCIe Gen3 (38 Гбайт/с пропускной способности ввода-вывода).
В отношении нового оборудования, нацеленного на 200 Гбит/с, компания выбрала две конфигурации. Это двухпроцессорная система с чипами Intel Xeon Silver 4116/4216, которая обеспечивает общую пропускную способность памяти в 180 Гбайт/с и 96 линий PCIe Gen3 (в общей сложности пропускная способность ввода-вывода составляет 75 Гбайт/с). Xeon будут соединены двумя линиями UPI.
С другой стороны, Netflix присматривается к AMD EPYC (Naples или Rome) 7551 или 7502P (более вероятно). Infinity Fabric связывает четыре чиплета внутри упаковки EPYC, а пропускная способность памяти составляет 120–150 Гбит/с. Эта система AMD будет иметь доступ к 128 линиям PCIe Gen3, а в случае с 7502P — Gen4 (пропускная способность ввода-вывода — соответственно 100 и 200 Гбайт/с).
Впрочем, «голые» характеристики не слишком показательны. Для оптимизации потоков данных Netflix разделяет ядра на отдельные NUMA-домены так, чтобы трафик СХД ↔ CPU ↔ NIC по возможности оставался в рамках домена, а общение между доменами по UPI или Infinity Fabric сводилось к минимуму.
В результате проделанной работы удалось получить такие результаты — решение на основе Xeon может достигать максимальной пропускной способности 191 Гбит/с, в то время как конфигурация EPYC может достигать максимальной пропускной способности 194 Гбит/с. При этом в случае с Intel нагрузку на шину UPI удалось снизить втрое, а вот с оценкой Infinity Fabric вышла загвозда — AMD не предоставляет никаких инструментов для работы с ней.
Учитывая, что обе выбранные конфигурации имеют одинаковую совокупную стоимость владения, Netflix вполне может склониться в сторону AMD благодаря небольшому преимущество в производительности у этого варианта. Однако стоит учитывать затраты на переход с экосистемы Intel на экосистему AMD. Само собой, Intel постарается не упустить столь крупного клиента.