Das Unternehmen Google hat die Einführung der Falcon-Datenübertragungstechnik (hardware transport, hardwarebeschleunigte Transportebene) bekannt gegeben und deren weitere Entwicklung in das Open-Compute-Projekt überführt, das auf die gemeinsame Entwicklung offener Gerätespezifikationen für Rechenzentren abzielt. Falcon wird als Ethernet der nächsten Generation präsentiert, das die Bandbreite erhöhen und die Effizienz der Datenübertragung in bestehenden Ethernet- und TCP/IP-Netzwerken steigern kann, die kritisch gegenüber Bandbreite und Latenz sind, wie etwa Netzwerke für Hochleistungsrechnersysteme und künstliche Intelligenz.
Das Protokoll ist für die Skalierung auf Rechenzentrumsnetzwerke ausgelegt und wurde entwickelt, um vorhersehbare hohe Leistung, niedrige Latenzen, Flexibilität und Erweiterbarkeit zu gewährleisten. Die Unterstützung von Falcon wird zunächst durch die Netzwerkbeschleuniger der Intel IPU E2000-Serie (Infrastructure Processing Unit) bereitgestellt, die einen Ethernet-Adapter mit einem programmierbaren Prozessor kombinieren, auf dem Operationen ausgeführt werden können, die normalerweise auf der Seite des Netzwerkstacks oder der Systeme stattfinden, wie z. B. Verkehrsmanagement, Überlastkontrolle und das Parsen von Hochprotokollen.
Um niedrige Latenzen in Hochgeschwindigkeits-Ethernet-Netzen zu erreichen, die Paketverluste zulassen, verwendet Falcon drei Prinzipien: detaillierte Messung der Latenz zwischen der Anfrage und der Antwort (RTT, Round-Trip-Time), hardwareseitig implementierte Verkehrsbeschneidung gebunden an einzelne Ströme, sowie eine schnelle und präzise Wiederübertragung von Paketen. Diese Eigenschaften werden durch Mittel für den gleichzeitigen Zugriff über mehrere Kanäle (Multipath) ergänzt sowie durch die Unterstützung der Verschlüsselung von Verbindungen.
Folgende Technologien sind in der Umsetzung von Falcon eingebunden:
- Carousel – ein Verkehrssteuerungsmechanismus (Traffic Shaping), der es ermöglicht, die Bandbreite und die Intensität des Paketflusses für einzelne Hosts zu regulieren.
- Snap – ein Netzwerk-Subsystem auf Mikrokernel-Basis, das durch Module erweitert werden kann, um erweiterte Funktionen hinzuzufügen, wie z.B. Funktionen zur Netzwerkvirtualisierung, Verkehrsbegrenzung und Nachrichtenübermittlung.
- Swift – ein Mechanismus zur Überlastkontrolle (Congestion Control) für Rechenzentrumsnetzwerke, der für kurze RPC-Nachrichten Latenzen von weniger als 50 Mikrosekunden bei einer Bandbreite von 100 Gbps ermöglicht. der Server bei einer Belastung nahe 100%.
- RACK-TLP – ein Algorithmus zur Erkennung von Paketverlusten für TCP.
- PLB – ein Lastenausgleichsmechanismus, der Überlastsignale nutzt. Nach der Implementierung von PLB in den Google-Netzwerken sank die Ungleichheit der Lasten auf den Switches um 60%, die Paketverluste verringerten sich um 33% und die Latenzzeiten bei der Zustellung kurzer RPC-Nachrichten sanken um 25%.
- CSIG (Congestion Signaling) – ein Protokoll für den Austausch von Telemetriedaten, das verwendet wird, um Überlastsignale zu senden und bei der Verkehrssteuerung zu helfen.
- PSP (PSP Security Protocol) — Protokoll zur Verschlüsselung des Datenverkehrs.
Falcon nutzt RDMA und NVM Express als obere Protokolle, ermöglicht jedoch auch die Unterstützung zusätzlicher Protokolle in Form von Erweiterungen. Die Funktionalität von Falcon ist durch drei Ebenen definiert: die Ebene für das Mapping auf obere Protokolle (ULP Mapping), die Transaktionsebene und die Paketlieferungsebene. Auf der ersten Ebene erfolgt das Flussmanagement, die Nachrichtenbearbeitung und das Mapping auf die oberen Ebenen. Die zweite Ebene befasst sich mit Planung, Ressourcenmanagement und Sortierung. Auf der dritten Ebene werden Überlastmanagement, Verkehrsbegrenzung, Zuverlässigkeit und gleichzeitige Nutzung verschiedener Kanäle (Multipathing) gewährleistet.

Quelle: opennet.ru
