Rechercher dans ce blog

Monday, September 20, 2021

FreeBSD: Netflix streamt mit fast 400 GBit/s pro Server - Golem.de - Golem.de

Für sein Streaming-Angebot hat Netflix AMD-Hardware und das genutzte FreeBSD über Jahre extrem optimiert. Pläne für mehr gibt es bereits.

Die Inhalte von Netflix sollten möglichst schnell zu den Kunden gelangen.
Die Inhalte von Netflix sollten möglichst schnell zu den Kunden gelangen. (Bild: Beata Zawrzel via Reuters Connect)

Für den Video-Streaming-Anbieter Netflix ist es technisch gesehen von Vorteil, möglichst schnell möglichst viel Videodaten bereitzustellen, ohne dabei zu sehr in Hardware investieren zu müssen. Der Entwickler Drew Gallatin optimiert deshalb unter anderem das genutzte FreeBSD-System so, dass das Verteilen der Videodaten möglichst nah an der technischen Grenze der Netzwerk-Hardware ist, wie er in einem Vortrag auf der EuroBSD-Konferenz (PDF) beschreibt. Ein einzelner Server erreicht dabei inzwischen Datenraten von fast 400 GBit/s.

Das grundlegende technische Problem dabei ist, dass aufgrund der Eigenschaften der Hardware und auch wegen bestimmter Software-Abläufe die technisch mögliche Grenze der Netzwerk-Hardware oft nicht erreicht werden kann. Dank verschiedener Optimierungen konnte Netflix die Datenraten dennoch von rund 200 GBit/s im vergangenen Jahr auf inzwischen 400 GBit/s pro Server steigern.

Probleme mit Hardware und Optimierungen als Abhilfe

Als Grundlage der Server dienen demnach die AMD-Epyc-7502P-CPUs (32 Kerne), denen 256 GByte DDR4-3200-Arbeitsspeicher zur Seite stehen. Zur Netzwerkanbindung dienen zwei Mellanox-ConnectX-6 Dx, die viermal 100GbE als Anschlüsse bieten. Optimale Ergebnisse werden dabei zunächst durch die Speicherbandbreite von etwa 240 GBit/s verhindert.

Ebenso limitiere die NUMA-Architektur der Epyc-CPUs den Fluss der Daten. Die große Datenmenge führe schlicht zur verzögerten Abarbeitung durch die CPU, da die Speicherzugriffe miteinander konkurrierten. Im besten Fall durchliefen die Daten also die NUMA-CPUs überhaupt nicht, so Gallatin.

Netflix testete deshalb die Nutzung nur einer einzelnen IP-Adresse pro Host und setzt auf Link-Aggregation. Die Idee dahinter war, Berechnungen mit bestimmten Daten möglichst immer auf einem der NUMA-Knoten durchzuführen, um so Transfers zu vermeiden. Der Wechsel von einem auf vier Knoten hat dabei wohl aber nur minimale Verbesserungen gebracht.

Kernel-TLS als Lösung

Um doch noch bessere Geschwindigkeiten zu erreichen, setzte das Team auf die Idee, die CPU möglichst weitgehend aus dem Datentransport herauszunehmen. Möglich macht das die nun genutzte Netzwerk-Hardware sowie die Verwendung eines TLS-Offloads mit Hilfe der TLS-Implementierung im FreeBSD-Kernel (kTLS).

Details dazu hatte Gallatin bereits vor zwei Jahren in einem Vortrag beschrieben (PDF). Die eigentlich TLS-Sitzung wird dabei zwar noch im Userspace etabliert, die genutzten Schlüssel wandern mit Hilfe des Kernels dann schließlich aber bis zur Netzwerk-Hardware, wo die Verschlüsselung geschieht. Ein Umweg über die CPU ist nicht mehr nötig.

Mittels aktueller Firmware der Netzwerkkarten und TLS-Optimierungen erreicht Netflix so etwa 380 GBit/s Datenübertragung bei rund 400.000 aktiven Sitzungen pro Server. Mit ebenfalls getesteten ARM-Server-CPUs von Ampere erreicht das Team immerhin noch etwa 320 GBit/s, was wohl aber an der PCIe-Verbindung liege. Mit Intel-Hardware habe das Team das TLS-Offloading noch nicht testen können. Darüber hinaus hat das Team bereits Hardware-Prototypen, mit denen Netzwerkverbindungen bis zu 800 GBit/s möglich sein könnten, was das Team aber noch nicht getestet hat.

Adblock test (Why?)


FreeBSD: Netflix streamt mit fast 400 GBit/s pro Server - Golem.de - Golem.de
Read More

No comments:

Post a Comment

One UI 5.1: Samsung kündigt Update-Start für ältere Galaxy-Smartphones an, los geht es u.a. mit Galaxy S20, S21 und S22 - Notebookcheck.com

Nachdem es vor wenigen Tagen bereits inoffizielle Informationen zum Rollout von Samsungs One UI 5.1 für die ersten Modelle jenseits der ne...