Feb 19, 2021; Colloquium
Echtzeit-AGOverlay-RDMA-Netzwerke im Kontext von Live-Migration
RDMA-Kommunikation zwischen Rechnersystemen ist notwendig um daten- und rechenintensive Anwendungen auf verteilten Knoten schnell zu berechnen, zu analysieren und auszuwerten. Es liegt in der Natur von RDMA, dass der Datenaustausch, um maximale Performance und minimale Latenz zu erreichen, am Betriebssystem und an der CPU vorbei geschleust werden muss.
Dafür sind spezielle NICs notwendig, die fähig sind mittels DMA direkt in den Speicher der Anwendung zu schreiben oder von dort zu lesen (“RNIC”). Man spricht von einem Kernel-Bypass. Um mehrere Teilnehmer auf dem gleichen System zu ermöglichen, z. B. in mehreren Containern, müssen die Ressourcen der Teilnehmer (der Container) voneinander getrennt werden. Virtuelle Netzwerke sind einfach zu realisieren, wenn jede Netzwerkoperation über den Kernel läuft. Das ist durch den Kernel-Bypass bei RDMA aber nicht der Fall.
Daraus ergeben sich spannende Fragen, beispielsweise wie man mehreren Anwendungen, welche voneinander isoliert laufen, Zugriff auf den geteilten RDMA-NIC geben kann, dabei aber gleichzeitig die Isolation zu anderen Teilnehmern in der öffentlichen Cloud gewährleistet. Eine weitere wichtige Frage ist, wie die Anwendung ihre Kommunikationspartner findet, wenn diese in einer öffentlichen Cloud dynamisch gestartet, gestoppt und unterbrochen werden können.
In dieser Arbeit wird Ovey vorgestellt. Ovey ist eine Infrastruktur für Linux-basierte Systeme und versucht eine Lösung für RDMA-Anwendungen zu schaffen, die in containerisierten Umgebungen öffentlicher Clouds laufen soll. Die Kernidee von Ovey ist, dass die Teilnehmer nicht mehr mit real existierenden Geräten kommunizieren, sondern mit virtuellen RDMA-Geräten. Diese virtuellen Ovey-Geräte nutzen im Hintergrund ein real existierendes physisches Gerät, auf welches sie die Operationen weiterleiten. So können Verbindungen auf Ebene der Kontrolloperation überwacht und verändert werden und beispielsweise virtuelle durch physische Adressen ersetzt werden. Jedes virtuelle Gerät kann für jeden Teilnehmer individuelle Eigenschaften haben, wodurch ein physisches Gerät mit verschiedenen Eigenschaften in n verschiedenen virtuellen Netzwerken verwendet werden kann.
(Großer Beleg)