Basisfunktionen neuen Switch-ASICs (2/2)

Kommentieren Drucken
Teil 3 von 11 aus der Serie "Chip, Chip, Hurra"

Aus den Darstellungen des letzten Teils sollte klar geworden sein, dass für die Koexistenz von Switching-Bereichen mit unterschiedlichem Latenzverhalten die Implementierung von DCB-Funktionen in jedem Fall auf allen Switches zwingend erforderlich ist. Das bedeutet im Gegenzug, dass eine Funktion wie FCoE sozusagen nebenbei standardmäßig implementiert werden kann. Die ersten Generationen der neuen Switch-ASICs hatten Probleme mit den so genannte Microbursts. Die sind mittlerweile gelöst, aber wir sollten uns dennoch ansehen, worum es sich hier eigentlich handelt.

Kommen wir zunächst zu einem wichtigen Funktionsbereich, der Priorisierung. Die ältere undifferenzierte Priorisierung wird ja bei Cross-Bar-basierten Switch ASICs so umgesetzt, dass sich die höher priorisierten Pakete in den Eingangswarteschlangen vorpfuschen dürfen.

In speicherbasierten Switch-ASICs gibt es gar keine Eingangswarteschlangen. Man könnte also geringer priorisierte Pakete lediglich durch ein paar Ehrenrunden im Speicher verzögern, was aber eigentlich völliger Unsinn ist. (siehe Bild 1)

Spannend wird es eigentlich nur dann, wenn auf zwei verschiedenen Ports differenziert priorisierte Pakete gleichzeitig ankommen. (siehe Bild 2)

Dann muss ja ohnehin der bereits beschriebene Mechanismus für die Behandlung von Port Contention greifen, wobei die Priorisierung dann vorgibt, welches Paket als erstes drankommt. Sollte aus irgendwelchen Gründen gewünscht sein, dass das Paket geringerer Priorität über Gebühr verzögert wird, z.B. weil man noch ein zweites Paket höherer Priorität erwartet, muss das Paket geringerer Priorität noch ein paar Ehrenrunden in den Registern drehen (Bild 3). Das sollte aber nicht übertrieben werden, weil das Paket in dieser Zeit eigentlich völlig unnütz wertvollen Speicherplatz belegt.

Eigentlich ist das alles Quatsch. Die Priorisierung stammt aus einer Zeit, in der die Bandbreite knapp und die Durchlaufzeit durch einen Switch hoch war. Daher war es sinnvoll, einen Switch so zu organisieren, dass erst einmal alle Pakete in Eingangswarteschlangen kommen und dort eben nach einer Priorisierung differenziert abgearbeitet werden. Das hat sich aber grundsätzlich geändert. In einem Video von Dr. Suppan finden Sie eine extrem einleuchtende Darstellung, wieso undifferenzierte QoS im LAN überflüssig ist. Diese Darstellung ist sogar völlig unabhängig von den aktuellen Entwicklungen bei Switch-ASICs.

Die gemeinen Microbursts
Die Grundfunktion von speicherbasierten Switch-ASICs haben wir ja jetzt kennengelernt.

Um einen fairen Vergleich der beiden Konzepte „speicherbasiert“ und „Cross-bar-basiert“ durchführen zu können und die Verbesserungen der aktuellen Produktgeneration verstehen zu können, müssen wir in das Problem der Microbursts einsteigen.

Microbursts sind Verkehrsmuster, die in einem Netz kurzfristige Congestions hervorrufen. Das passiert in Phasen hoher Aktivität, die dazu führt, dass Endpunkte relativ plötzlich viele Pakete ins Netz schicken. Bei einem Netzwerk für Finanztransaktionen kann das z.B. eine Zeitspanne betreffen, in der der Markt sehr volatil ist, z.B. beim Eintritt eines besonderen Ereignisses oder als Reaktion auf relativ unerwartete Geschäftszahlen. Grade dann ist es aber natürlich besonders wichtig, dass das Netz gut funktioniert.

Dummerweise werden Microbursts von herkömmlichen Tools, die den Verkehr beobachten, oftmals gar nicht wahrgenommen und spielen daher wenn überhaupt nur eine untergeordnete Rolle bei der Netzplanung.

In Bild 4 sehen wir, wie das passieren kann. Ein herkömmliches Tool schaut sich den Verkehr nur etwa einmal pro Sekunde an. Es würde einen Alarm auslösen, wenn der Schwellwert für eine Congestion überschritten würde. Die Eigenheit von Microbursts ist es aber, viel schneller zu entstehen und dann auch wieder zu verschwinden. Im unteren Teil der Abbildung sehen wir, dass es ganz offensichtlich viele Microbursts gab und sie nur dann auffallen, wenn man das Betrachtungsintervall deutlich verkürzt. Bei einer Betrachtung alle 5 Millisekunden sieht man deutlich, dass der Schwellwert ganz oft erheblich überschritten wurde.

Auch eine noch so tief in die Hardware integrierte Congestion Control kann mit diesen Lastspitzen nicht umgehen. Bevor die Congestion Control überhaupt irgendeine Aktion einleiten konnte, ist der Microburst schon wieder vorbei.

Stand der Technik ist:

  • es gibt Microbursts
  • man kann nichts gegen sie unternehmen
  • Microbursts führen zu kurzfristiger, starker Congestion

Die Frage ist also lediglich: wie gehen unterschiedliche Switch-Bauarten mit den Microbursts um?

Das ist einfach zu beantworten:

  • Switches mit ASICs auf der Basis von Speichern wie oben beschrieben können ohne zusätzliche konstruktive Verbesserungen im Fall eines Microbursts nur noch Pakete verwerfen, wenn ihr Speicher voll ist. Je stärker die Microbursts zuschlagen, desto schlimmer ist der Effekt. Die Latenz wird steigen. Vor allem wird aber der Goodput erheblich sinken. Dadurch wird für einen nennenswerten Prozentsatz der Pakete die Latenz in den Bereich der Retransmissionsverzögerung fallen, weil sie neu geschickt werden müssen.
  • Switches mit ASICs auf der Basis angereicherter Crossbars haben im Falle des Microbursts einen Puffer zur Verfügung, in dem sie die Pakete, die nicht sofort bearbeitet werden können, kurzfristig zwischenlagern können. Dadurch steigt bezogen auf die dadurch betroffenen Pakete die Latenz zwar an, da aber der Goodput relativ hoch bleibt, kommen kaum Pakete in den zweifelhaften Genuss der Retransmission.

Insgesamt können wir festhalten:

  • Switches mit ASICs auf der Basis von Speichern haben den Vorteil einer extrem geringen Latenz, sofern sie in einem Umfeld verbaut werden, wo keine Congestions in Form der angesprochenen Microbursts auftreten können. Ein gutes Beispiel dafür sind Blade-Switches. Bei größeren Konfigurationen haben sie aber noch den Nachteil, dass mehrere Stufen verwendet werden müssen, was die Latenz wieder steigen lässt.
  • Switches mit ASICs auf der Basis angereicherter Cross-Bars haben zunächst den Nachteil, dass ihre Latenz systembedingt höher ist. Sie können aber besser mit Microbursts umgehen. Bei größeren Konfigurationen haben sie den Vorteil, dass konstruktionsbedingt die Latenz nicht weiter steigt, sondern bei einer Skalierung konstant bleibt. Ihre Infrastruktureignung ist also besser.

ABER:
Selbst Cisco als Entwickler hoch leistungsfähiger Switch-ASICs auf der Basis von Cross-Bars wendet sich mittlerweile von diesem Konzept langsam aber sicher ab. Mit der Systemreihe Nexus 30xx hat Cisco bereits latenzarme Switches auf den Markt gebracht, der seine geringe Latenz dem Trident Chipset verdankt. An den Systemen Nexus 5000 und 7000 ist von der Grundkonzeption her wenig auszusetzen. Aber auch sie würden mit neuen Line-Cards, die auf speicherbasierten Switch-ASICs basieren, wesentlich reaktionsschneller und preiswerter vom Entwicklungsaufwand her.

Sehen wir uns also in der nächsten Folge an, wie die Kinderkrankheiten der ersten speicherbasierten Switch-ASICs beseitigt wurden.

« Teil 2: Basisfunktionen der neuen Switch-ASICs (1/2)Teil 4: Verbesserungen und Zusatzfunktionen »


zugeordnete Kategorien: LAN
zugeordnete Tags:

Sie fanden diesen Beitrag interessant? Sie können



Anmerkungen, Fragen, Kommentare, Lob und Kritik:

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*

.