1. Foren
  2. Kommentare
  3. OpenSource
  4. Alle Kommentare zum Artikel
  5. › Maglev: Google umgeht mit seinen…

Um jetzt zu begreifen, was das bedeutet ...

  1. Thema

Neues Thema Ansicht wechseln


  1. Um jetzt zu begreifen, was das bedeutet ...

    Autor: Moe479 17.03.16 - 17:21

    ... müsste man den Stack unter Linux tatsächlich kennen, also welche aufwendigen Qualitäten der Geschwindigkeit geopfert werden, ich nehme an, Google arbeitet hier mit ausgewählter Hardware die von Herstellern kommt, bei den man Einblick und Mitspracherecht gegen die nötige Bezahlung bzw. Mengenabnahme bekommt.

  2. Das bedeutet nix Re: Um jetzt zu begreifen, was das bedeutet ...

    Autor: Tyler Durden 17.03.16 - 17:30

    Moe479 schrieb:
    --------------------------------------------------------------------------------
    > ... müsste man den Stack unter Linux tatsächlich kennen, also welche
    > aufwendigen Qualitäten der Geschwindigkeit geopfert werden, ich nehme an,
    > Google arbeitet hier mit ausgewählter Hardware

    # Since the Linux kernel network stack is rather computationally expensive, and Maglev doesn’t require any of the Linux stack’s features, it is desirable to make Maglev bypass the kernel entirely for packet processing. With proper support from the NIC hardware, we have developed a mechanism to move packets between the forwarder and the NIC without any involvement of the kernel #

    Für den sehr speziellen Anwendungszweck der Geräte braucht man die Funktionen des Stacks nicht und die eingesetzte Hardware unterstützt alles, was man braucht.

    Hier vergleicht man ein System, das auf ein bestimmtes Anwendungsszenario mit bestimmter Hardware maßgeschneidert wurde mit dem Linux-Stack, der Funktionen für alle möglichen Anwendungszwecke, Netzwerke und der exotischsten Hardware zur Verfügung stellt.
    Das ist witzlos! Ändere mal die die Hardware oder den Anwendungszweck und sieh das System auf die Schnauze fallen, wo Linux munter weiter netzwerkelt.

    TD



    2 mal bearbeitet, zuletzt am 17.03.16 17:31 durch Tyler Durden.

  3. Re: Das bedeutet nix Re: Um jetzt zu begreifen, was das bedeutet ...

    Autor: thesmann 17.03.16 - 20:36

    Tyler Durden schrieb:
    --------------------------------------------------------------------------------
    > Hier vergleicht man ein System, das auf ein bestimmtes Anwendungsszenario
    > mit bestimmter Hardware maßgeschneidert wurde mit dem Linux-Stack, der
    > Funktionen für alle möglichen Anwendungszwecke, Netzwerke und der
    > exotischsten Hardware zur Verfügung stellt.
    > Das ist witzlos! Ändere mal die die Hardware oder den Anwendungszweck und
    > sieh das System auf die Schnauze fallen, wo Linux munter weiter
    > netzwerkelt.

    Das Problem ist doch das fuer genau den Anwendungsbereich Linux nicht schnell genug 'netzwerkelt'. Und Loadbalancer sind jetzt keine so exotische Anwendung, dafuer aber eine an der sich einige Firmen eine goldene Nase verdienen (oder verdient haben). Niemand hier schlaegt vor, dass du das in deinen Desktop zuhause einbauen sollst. Ausserdem ist nur vom Netzwerk-Stack die Rede, von daher ist es durchaus moeglich, das die eigentlichen Treiber weiterhin verwendet werden und somit ein Tausch der Hardware kein Problem darstellt (wobei ich in Datacenter aber nicht unbedingt zu heterogene Hardware einsetzen wuerde).

  4. Re: Um jetzt zu begreifen, was das bedeutet ...

    Autor: caldeum 17.03.16 - 20:56

    Moe479 schrieb:
    --------------------------------------------------------------------------------
    > ... müsste man den Stack unter Linux tatsächlich kennen, also welche
    > aufwendigen Qualitäten der Geschwindigkeit geopfert werden, ich nehme an,
    > Google arbeitet hier mit ausgewählter Hardware die von Herstellern kommt,
    > bei den man Einblick und Mitspracherecht gegen die nötige Bezahlung bzw.
    > Mengenabnahme bekommt.
    Ich hab auch ganz brauchbare Einblicke in Linux' Netzwerklayer und Netzwerktreiber unter Linux allgemein und komme mit dem Artikel auch nicht mit ^^ Das Problem leuchtet schon ein und klingt logisch aber mehr halt auch nicht. Vermutung: solche Dinge (wie ein eigener Layer) entstehen mit sehr speziellen Anforderungen wie sie Google anscheinend hat.

    Es hätte AFAIK auch mehr gebracht, wenn man im Artikel eine Vorher-Nachher-Gegenüberstellung gemacht hätte. Aber dazu bedarf es wohl ziemlich fundierter und spezieller Kenntnisse, die weit von Linux-Grundkenntnissen entfernt sind.

  5. Re: Um jetzt zu begreifen, was das bedeutet ...

    Autor: StopTrolling 17.03.16 - 23:21

    Der Netzwerk-Stack von Linux ist nicht schlechter, als der von Maglev. Beide sind nur auf komplett unterschiedliche Szenarios ausgelegt.

    Ich fasse mal meine Kenntnisse nach dem Studieren des Papers (https://research.google.com/pubs/pub44824.html) von Google zusammen:

    Normalerweise benutzt man Sockets (hat Maglev ursprünglich auch getan, bis das zu langsam wurde). Die Anwendung bekommt z.B. ein Packet nur zu sehen, wenn der Socket an den Zielpunkt des Packetes gebunden wurde z.B. 127.0.0.1:8080. Maglev geht einen anderen Weg. Maglev läuft im Usermode und allokiert zu Beginn einen Packet Pool und teilt sich diesem mit dem NIC. Der NIC schreibt ohne den Kernel zu benutzen direkt in den Packet Pool. Maglev hat exklusiven Zugriff auf den NIC, ich vermute mal der Kernel weiß nicht einmal, dass der Server mit einem Netzwerk verbunden ist.
    Ein Ring Buffer enthält Pointer zu den Packeten im Packet Pool und Maglev und der NIC haben wiederum Pointer auf zum Pointer des Packets, dass sie aktuell bzw. als nächstes bearbeiten. Das Steuermodul verteilt dann die Packete gleichmäßig auf die Worker mit einem Verfahren, dass Google Maglev Hashing nennt und das besonders gleichmäßig verteilen soll. Die Worker bearbeiten dann die Packete und schreiben ihre Zielpunkte um. Ich habe das jetzt natürlich alles nochmal deutlich vereinfacht, dass Paper ist da nochmal ausführlicher.
    Die Load Balancer läufen auf stinknormaler Serverhardware. 2 aktuelle 8-Kern CPUs und 10Gb Nic, wobei nur eine der CPUs für Maglev benutzt wird und der NIC den Packet Pool teilen können muss. 5 Worker Threads reichen aus um den NIC vollständig auszulasten. Maglev ist mit Kernel-Bypass in diesem Fall 6 mal schneller als ohne (ca. 12 Mpps vs 2 Mpps). Mit 40Gb NIC skaliert Maglev noch bis 6 Worker Threads (ca 15 Mpps) , danach kann das Steuermodul die Packete nicht mehr schnell genug auf die Worker verteilen. Das funktioniert aber eben nur, weil man alles oberhalb von Layer 3/4 weglassen werden kann. Maglev selbst braucht nicht mal einen kompletten TCP/IP Stack.
    Maglev ist deswegen so gut, weil es so hardwarenah arbeitet und auf Load Balancing spezialisiert ist, dafür kann es aber eben auch nichts anderes. Die normale Implementierung in Linux ist deswegen nicht schlecht, sie unterstützt dafür halt "alles".

  6. Re: Das bedeutet nix Re: Um jetzt zu begreifen, was das bedeutet ...

    Autor: Apfelbrot 18.03.16 - 00:55

    Tyler Durden schrieb:
    > Das ist witzlos! Ändere mal die die Hardware oder den Anwendungszweck und
    > sieh das System auf die Schnauze fallen, wo Linux munter weiter
    > netzwerkelt.

    Glaub mir Google hat darüber mehr nachgedacht als du, und sie sind sich garantiert genau bewusst wo eventuelle Probleme lauern könnten.

    Aber kleiner Tipp, in diese Kisten wird keiner einfach irgend eine NIC von eBay reinstecken.

  7. Re: Um jetzt zu begreifen, was das bedeutet ...

    Autor: caldeum 18.03.16 - 08:57

    VIelen Dank!

  8. Re: Das bedeutet nix Re: Um jetzt zu begreifen, was das bedeutet ...

    Autor: Tyler Durden 18.03.16 - 09:24

    Apfelbrot schrieb:
    --------------------------------------------------------------------------------
    > Tyler Durden schrieb:
    > > Das ist witzlos! Ändere mal die die Hardware oder den Anwendungszweck
    > und
    > > sieh das System auf die Schnauze fallen, wo Linux munter weiter
    > > netzwerkelt.
    >
    > Glaub mir Google hat darüber mehr nachgedacht als du, und sie sind sich
    > garantiert genau bewusst wo eventuelle Probleme lauern könnten.

    [_] Du hast mein Posting verstanden

    TD

  9. Re: Das bedeutet nix Re: Um jetzt zu begreifen, was das bedeutet ...

    Autor: Baron Münchhausen. 18.03.16 - 10:46

    [_] du hast seine antwort verstanden.

  10. Re: Das bedeutet nix Re: Um jetzt zu begreifen, was das bedeutet ...

    Autor: Tyler Durden 18.03.16 - 12:10

    Baron Münchhausen. schrieb:
    --------------------------------------------------------------------------------
    > [_] du hast seine antwort verstanden.

    Ja, hab ich!
    Es gibt keinen Zusammenhang zwischen meinem Kommentar darüber, dass es hier um ein sehr spezielle Anwendung auf ausgesuchter Hardware geht und Apfelbrots allgemeinem Gerede über "eventuelle Probleme", die irgendwo lauern könnten und über die Google mehr nachgedacht haben soll als ich.

    War sonst noch was?

    TD

  11. Re: Um jetzt zu begreifen, was das bedeutet ...

    Autor: Niantic 20.03.16 - 12:05

    caldeum schrieb:
    --------------------------------------------------------------------------------
    > Das Problem leuchtet schon ein und klingt logisch aber mehr halt
    > auch nicht. Vermutung: solche Dinge (wie ein eigener Layer) entstehen mit
    > sehr speziellen Anforderungen wie sie Google anscheinend hat.
    >
    > Es hätte AFAIK auch mehr gebracht, wenn man im Artikel eine
    > Vorher-Nachher-Gegenüberstellung gemacht hätte. Aber dazu bedarf es wohl
    > ziemlich fundierter und spezieller Kenntnisse, die weit von
    > Linux-Grundkenntnissen entfernt sind.

    Das ist soweit korrekt - und ich denke es gibt nur relativ wenige firmen, die derartige anforderungen an load balancing haben - selbst bei unternehmungen wie facebook/twitter etc müsste im notfall schon ein dns-basiertes load balancing ausreichen(wenn auch teilweise mit anycast-basierten dns-servern)

  1. Thema

Neues Thema Ansicht wechseln


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Zum Login

Stellenmarkt
  1. Ostbayerische Technische Hochschule Amberg-Weiden (OTH), Weiden
  2. DKV MOBILITY SERVICES Business Center GmbH & CO. KG, Ratingen
  3. OEDIV KG, Bielefeld
  4. Bayerische Versorgungskammer, München

Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Hardware-Angebote
  1. (u. a. Samsung 860 QVO 1 TB für 99,90€, Samsung 860 QVO 2 TB für 199,99€, Samsung Protable...
  2. täglich neue Deals bei Alternate.de


Haben wir etwas übersehen?

E-Mail an news@golem.de