Ist es richtig anzunehmen, dass ASICs für Router- oder Switch-Schnittstellen die Verwendung einer x86-CPU für die gesamte Paketverarbeitung übertreffen, die stark unter CPU-Interrupts leidet?
Es ist schwer zu sagen, ob Interrupts eine Einschränkung darstellen, da wir in diesem Teil Ihrer Frage keine spezifischen CPU-, Betriebssystem- oder Router-Modelle nennen. Insgesamt ist es eine sichere Verallgemeinerung, dass Allzweck-CPUs die Paketvermittlungsleistung eines gut konzipierten ASIC nicht beeinträchtigen können. Wenn ich von Leistung spreche, spreche ich von RFC 2544- Metriken wie der Weiterleitungsrate (Forwarding Rate, NDR), dem Durchsatz und der Latenz.
Das heißt nicht, dass es keinen Platz für einen CPU-basierten Router gibt. Nur dass unsere Lebenserfahrungen uns sagen, dass eine CPU Pakete nicht so schnell wie ein ASIC oder FPGA umschalten kann. Mein Fazit, dass ASICs / FPGAs schneller sind als eine Multi-Core-CPU, scheint durch diese Fragen und Antworten zu Electronics.SE gestärkt zu werden .
PCI-Bus-Leistung
Ich weiß, dass die x86-Busgeschwindigkeiten theoretische Höchstwerte für die Schaltbandbreite festlegen, insbesondere wenn die Übertragungsraten 1 Gbit / s überschreiten.
Ich bin nicht sicher, auf welche Busbeschränkungen Sie sich hier beziehen, aber die Informationen, die Sie haben, könnten etwas veraltet sein. Der in den meisten Systemen verwendete PCI-Express-Bus ist heutzutage weit über 10 Gbit / s skalierbar.
PCIe 2.0 verwendet ein 8b / 10b-Codierungsschema , das etwa 20% des Codierungsaufwands für PCI-Lanes nach sich zieht. vor dieser Kodierungsstrafe liefert PCIe 2.0 4 Gbit / s Rohbandbreite pro Lane. Trotz der 20% igen 8b / 10b-Strafe drückt PCIe 2.0 x8 (8 PCIe-Lanes) mehr als 25 Gbit / s aus. Auf diese Weise können Sie problemlos einen einzelnen 10GE-Adapter mit bidirektionaler Übertragungsrate auf einer PCIe 2.0 x8-Karte betreiben.
PCIe 3.0 (in Intel Ivy Bridge-Chipsätzen verwendet) verwendet eine 128b / 130b-Codierung, die die PCI-Bus-Effizienz erheblich verbessert und die Bandbreite pro Spur verdoppelt. Somit könnte eine PCIe 3.0 x8-Karte 63 Gbit / s (8,0 * 8 * 128/132) liefern. Das ist nichts, worüber man niesen müsste; Mit diesen Leistungsraten können Sie zwei Line-Rate-10GEs sicher auf einen einzelnen Riser packen.
Cisco vs Vyatta Leistung
Vorsichtsmaßnahme: Ich verwende für alle Vergleiche von Anbietern bereitgestelltes Marketingmaterial ...
- Wie vergleicht sich beispielsweise die Switching-Geschwindigkeit des Catalyst 6500 Sup2T ASIC mit der realistischen x86-Switching-Geschwindigkeit, die bei allgemeinen Betriebssystemen oder SDNs zu finden ist?
Dies ist eine Herausforderung, da wir ein vollverteiltes Vermittlungssystem (Sup2T) mit einem zentralisierten Vermittlungssystem (Vyatta) vergleichen werden. Seien Sie also vorsichtig, wenn Sie die Ergebnisse interpretieren.
- Sup2T kann mit aktivierten Funktionen mit einer Non-Drop-Rate von bis zu 60Mpps weiterleiten . Referenz: Catalyst 6500 Sup2T Architecture White Paper . Beachten Sie, dass dies nur ein einfaches Sup2T-System ohne Distributed Forwarding Cards (DFC) ist. Anmerkung 1
- Ich habe RFC 2544-Testergebnisse für die Weiterleitung des Vyatta 5600 mit einer Non-Drop-Rate von bis zu 20,58Mpps und 70Mpps gefunden, wenn Sie einige Drops akzeptieren können. Der NDR-Durchsatz betrug 72 Gbit / s. Referenz: Vyatta 5600 vRouter-Leistungstest (SDN Central) . Für den vollständigen Bericht ist eine SDN Central-Registrierung erforderlich.
- Wie vergleicht sich beispielsweise die Cisco 7200VXR-NPE-G2-Schaltgeschwindigkeit mit derselben ...
Der Vyatta bläst einen NPE-G2 leistungsmäßig aus dem Wasser; Der NPE-G2 kann basierend auf dem Cisco NPE-G2-Datenblatt bis zu 2Mpps ausführen . Dies ist jedoch angesichts des Alters des NPE-G2 kein fairer Vergleich mit einem brandneuen Intel 10-Core-System mit 10GE-Karten.
Wie lassen sich typische Router- oder Switch-Latenzen mit allgemeinen Betriebssystemen vergleichen, die dieselbe Funktion ausführen?
Das ist eine fantastische Frage. In diesem Dokument wird darauf hingewiesen, dass Vyatta höhere Latenzen aufweist, ich würde jedoch gerne diese Art von Tests für die Prozessoren der Intel E5-Serie sehen.
Zusammenfassung
Fazit eines Side-by-Side-Vergleichs von Sup2T mit dem Brocade Vyatta 5600:
- Sup2T: 60Mpps NDR IPv4 mit Funktionen (wie ACLs)
- Vyatta und Intel E5: bis zu 20Mpps IPv4 NDR ohne Funktionen oder 70Mpps, wenn Sie eine geringe Anzahl von Tropfen akzeptieren können.
Der Sup2T gewinnt meiner Meinung nach immer noch, besonders wenn man sich ansieht, was man mit dem Sup2T bekommt (verteilte Skalierung auf 720Mpps, MPLS, unzählige MIBs, Layer2- und Layer3-Switching usw.).
Wenn Ihnen nur die reine Switching-Leistung am Herzen liegt, können Sie von einer x86-CPU seriöse Leistungszahlen erhalten. In echten Netzwerken geht es jedoch nicht oft nur darum, wer die besten Drag-Race-Zahlen hat. Die meisten Menschen müssen sich um Funktionen kümmern (siehe: Wann sollte ich mich bei der Switch-Bewertung auf die einzelnen Werte konzentrieren? ). Ein wichtiger Faktor ist die Anzahl der verfügbaren Funktionen und deren Integration mit dem Rest Ihres Netzwerks.
Es lohnt sich auch, die betriebliche Machbarkeit des Einsatzes von x86-basierten Systemen in Ihrem Unternehmen zu prüfen. Ich habe Brocade + Vyatta selbst nicht benutzt, aber sie konnten gute Show-Befehle und Support-Hooks in die Box einbauen. Wenn sie in der Tat genügend Funktionen unterstützen und ihr System in realen Netzwerken gut skalierbar ist , dann entscheiden Sie sich, wenn Sie dies möchten.
Wenn jedoch jemand billig ist und nur eine Linux-Box + bird
/ quagga
+ ACLs + qos baut, möchte ich nicht der Typ sein, der diese Lösung unterstützt. Ich habe immer behauptet, dass die Open-Source-Community einen tollen Job bei der Innovation macht, aber die Unterstützbarkeit ihrer Systeme ist im Vergleich zu den Mainstream-Netzwerkanbietern (Arista / Cisco / Force10 / Juniper) verblasst. Man muss nur schauen iptables
und tc
sehen, wie kompliziert man eine CLI machen kann. Gelegentlich stelle ich Fragen von Leuten, die sich die Ausgabe von ip link show
oder ifconfig
ansehen und sich verlaufen lassen, weil die Paketzähler nicht richtig sind. In der Regel testen die großen Netzwerkanbieter ihre Zähler viel besser als die Linux-NIC-Treiber.
End Notes :
Hinweis 1 Niemand, dem Leistung am Herzen liegt, würde jemals einen Sup2T kaufen und das Chassis nicht mit DFCs bestücken. Der Sup2T kann mit 60Mpps wechseln, aber ein geladenes Chassis mit DFCs kann auf 720Mpps skaliert werden.
Hinweis 2 Der Vyatta-Test wurde auf einem Intel E5-2670v2 mit zwei Prozessoren und 10 Kernen und 2,5 GHz pro Kern durchgeführt. Wenn wir einen einzelnen Kern als zwei virtuelle Kerne zählen (dh Hyper-Threading), sind das insgesamt 40 Kerne für die Paketvermittlung. Der Vyatta wurde mit Intel x520-DA2-NICs konfiguriert und verwendete Brocade Vyatta Version 3.2.
Die 7200-Serie wird zugunsten der ASR-Serie abgelehnt, da sie kein Line-Rate-Multi-Gigabit-Switching verarbeiten kann. Katalysatoren und Nexus-Switches haben einen Weiterleitungsvorteil gegenüber einem Allzweckprozessor, wenn die Paketvermittlung in Silizium verbleibt. Wenn der Datenverkehr prozessgeschaltet werden muss (dh auf der CPU statt im ASIC / FPGA ausgewertet werden muss), sinken Ihr Durchsatz und Ihre Latenz. Wenn Sie eine Umschaltung mit hohem Durchsatz benötigen, trennen Sie daher die Weiterleitungsebene von der Routingebene und optimieren, um so viel wie möglich von Ihrer Umschaltung in Silizium zu erhalten.
In einigen Fällen wird ein spezielles Switching-Silizium angezeigt, das mit einem Allzweckprozessor verheiratet ist (z. B. die White-Box-Switches, die Big Switch oder ein anderes SDN für die Rack-Oberseite, Verteilung oder Überlagerung verwenden sollen). Sie können das Beste aus allen Welten sehen (hoher Durchsatz, Switching mit geringer Latenz, Hochleistungsverarbeitung für Routen- und Richtlinienermittlung, Integration in Management-Frameworks wie Puppet oder Chef).
quelle