> > > > Netflix получает 400 Гбит/с на сервер: AMD EPYC обгоняет Ampere и Intel

Netflix получает 400 Гбит/с на сервер: AMD EPYC обгоняет Ampere и Intel

Опубликовано:

netflixНа конференции EuroBSD поставщик потоковых сервисов Netflix рассказал об используемом в компании оборудовании. И пояснил, какие шаги потребовались, чтобы найти идеальное сочетание аппаратного и программного обеспечения для эффективного стриминга видео. Целью в случае Netflix было обеспечить максимальное число одновременных потоков в максимально возможных разрешениях. Еще одна проблема - в сетевом подключении серверов. На презентации (PDF) приведены все требования, которые приходится учитывать Netflix при выборе новых серверов.

С 2020 года Netflix по своим серверам обеспечивает поток видео 200 Гбит/с на сервер. Следующая цель заключается в удвоении пропускной способности до 400 Гбит/с. Для этого Netflix перейдет на серверы с процессорами AMD EPYC 7502P на дизайне Rome (архитектура Zen 2). Процессоры содержат 32 ядра и работают на 2,5 ГГц. Кроме того, серверы оснащены 256 Гбайт DDR4-3200 с пропускной способностью около 150 Гбайт/с по восьми каналам. Важную роль играют и 128 доступных линий PCI Express 4.0.

Каждый сервер содержит два контроллера Mellanox ConnectX-6 Dx, которые подключены через PCIe 4.0 x16 и обеспечивают по два порта 100GbE. Информация видео хранится на 18 накопителях WD SN720 NVMe по 2 Тбайт каждый, они подключены по PCIe 3.0 x4. Однако первые тесты дали сетевую производительность лишь 240 Гбит/с, "узким местом" остается система хранения.

Чтобы оптимизировать потоки данных в сервере, Netflix попробовала разные конфигурации NUMA. С архитектурой Non Uniform Memory Architecture (NUMA) выбираются контроллеры памяти и прикрепленные устройства PCIe, наиболее близкие к ядрам. В случае NUMA процессы должны распределяться таким образом, чтобы между узлами NUMA был как можно меньший обмен данными. Иначе передача данных между узлами NUMA добавляет задержки. Кроме того, обмен данным идет через интерфейс Infinity Fabric процессоров EPYC, который ограничен 47 Гбайт/с на канал или около 280 Гбайт/с в сумме.

С помощью подхода под названием "siloing" Netflix постаралась сконцентрировать процессы с интенсивным использованием памяти и сети на узле NUMA, который имеет наилучшее подключение к памяти и PCIe. Однако поскольку в сервере имеются четыре узла NUMA и всего две сетевые карты, а также разное количество накопителей NVMe на каждом узле NUMA, сбалансировать систему оказалось непросто.

В итоге Netflix добилась в упомянутой конфигурации на одном NUMA 240 Гбит/с, но с четырьмя NUMA скорость составила около 280 Гбит/с.

До желанных 400 Гбит/с мы еще не добрались. И здесь Netflix опирается на программные оптимизации. Чтобы обойти аппаратные "узкие места", использовалась реализация TLS на ядре FreeBSD (kTLS). Что позволило снять часть вычислительной нагрузки с процессора при передаче данных между накопителями NVMe и сетью. Основная нагрузка здесь касается шифрования TLS, которое больше выполняется не на ядрах Zen 2 процессора, а на сетевых картах. На последних есть необходимые ресурсы, то есть сетевое "железо" будет играть все более значимую роль в будущем.

Здесь вновь были протестированы разные конфигурации NUMA. В итоге удалось добиться пропускной способности около 380 Гбит/с. Загрузка процессора была 60% без NUMA и 50% с четырьмя ядрами NUMA.

Подписывайтесь на группы Hardwareluxx ВКонтакте и Facebook, а также на наш канал в Telegram (@hardwareluxxrussia).

Другие конфигурации провалили тесты

Конечно, тестировались и другие компоненты. Процессоры Ampere Altra на 3 ГГц провалили тест, несмотря на 80 ядер Neoverse-N1, здесь проблемы были в конфигурации интерфейсов PCI Express. Но все равно удалось получить 320 Гбит/с.

В случае Intel Xeon 8352V на дизайне Ice Lake-SP возникли проблемы с конфигурацией PCI Express (PCIe Relaxed), поэтому результаты с оптимизированной kTLS отсутствуют. Производительность составила 230 Гбит/с, что маловато.

Netflix раздумывает над следующим шагом. Компания работает над аппаратным обеспечением серверов, которое позволит получить 800 Гбит/с. Однако из-за пандемии процесс несколько замедлился.