Maglev: Google umgeht mit seinen Load-Balancern den Linux-Kernel
Das System Maglev ist für die Lastverteilung in der Google-Cloud verantwortlich. Das Unternehmen hat nun Details dazu beschrieben und beeindruckt mit einem kreativen Umgang mit dem Netzwerk-Stack des Linux-Kernels.

Zwar können Konkurrenten den von Google eingesetzten Software-Load-Balancer Maglev nicht einfach schnell in ihren Rechenzentren ausrollen - dazu fehlt der Quellcode des Projekts. Dank einer nun veröffentlichten wissenschaftlichen Beschreibung des Systems können andere Unternehmen damit aber immerhin aus den Erfahrungen und Details zu Maglev lernen. Interessant ist vor allem der Umgang mit dem Linux-Kernel.
Netzwerk-Stack des Linux-Kernels wird umgangen
Maglev ist der Beschreibung zufolge insbesondere auf das schnelle Verarbeiten von Paketen ausgelegt. So heißt es in der Erklärung, dass die Systeme mit 10 GBit/s angebunden seien und bei Google typischerweise oft sehr kleine Pakete von durchschnittlich nur 100 Byte Größe verarbeiten müssten.
Das entspreche etwa 9 Millionen Paketen pro Sekunde, die weitergeleitet werden müssen. Der Netzwerk-Stack des Linux-Kernels könne derartige Leistungsanforderungen jedoch nicht erfüllen, da dieser zu rechenintensiv sei. Mit der Unterstützung der Netzwerkkarten umgeht Maglev deshalb schlicht den Linux-Kernel und verwendet keinerlei Funktionen des Netwerk-Stacks.
Kosteneffiziente Konfiguration
Statt einer Aktiv-Passiv-Konfiguration, die bei den Hardware-Load-Balancern üblich sei, um einen Failover gewährleisten zu können, seien alle Maglev-Knoten in einem Cluster aktiv. Die notwendige Redundanz für die Hochverfügbarkeit wird über eine N+1-Konfiguration erreicht. Fällt ein Knoten aus, übernehmen die anderen die Arbeit. Über die Google-eigene Cluster-Verwaltung Borg können notfalls auch schnell neue Maglev-Instanzen gestartet werden.
Diese Konfiguration spare Kosten, da weniger physische Ressourcen ungenutzt vorgehalten werden müssten. Zum Verteilen der einkommenden Pakete nutzt Maglev das sogenannte Equal-Cost Multi-Path Routing (ECMP). Über bestimmte Hashing-Techniken ließen sich die Pakete von den Maglevs zudem verfolgen und an die eigentlichen Dienste weiterreichen.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Vielleicht ist die Welt auch einfach nicht so schwarz/weiß wie du sie dir vorstellst...
Das ist soweit korrekt - und ich denke es gibt nur relativ wenige firmen, die derartige...
f5 loadbalancer umgehen auch ihren linux kernel bis layer 4 load balancing weil es dafür...
Solange nur auf Basis von Informationen in den IP/TCP/UDP Headern entschieden wird...