Die Evolution von Mikroprozessoren für Netz- werk

Transcription

Die Evolution von Mikroprozessoren für Netz- werk
SPEZIAL
EMBEDDED SYSTEMS
Die Evolution von
Mikroprozessoren für Netzwerk-Applikationen
Tom Riordan Mikroprozessoren übernehmen in modernen Netzwerksystemen vor allem Steuerungsaufgaben und die
Weiterleitung von Datenpaketen. Auf der MIPS-Architektur basierende 64-bit-Mikroprozessoren befinden sich in sämtlichen Netztopologien, darunter Access-, Metro-Optical- und Transport-Netze, im Einsatz. Um mit den ständig steigenden Datenübertragungsraten Schritt halten und weitere, anwenderspezifische Funktionen bereitstellen zu können,
konzentrieren sich Prozessorentwickler verstärkt auf neue System-Architekturen zum Aufbau von Netzwerksystemen.
D
ie Übertragungsraten in Kommunikationssystemen verdoppeln sich alle
12 Monate, während das Moore’sche
Gesetz von einer Verdopplung der Prozessorleistung in jeweils 18 Monaten
ausgeht. Zusätzlich zu dieser Steigerung
der Datenübertragungsraten fordern
Anwender neue Funktionen, die die Sicherheit sowie die Zuverlässigkeit von
Netzwerken erhöhen und deren Verwaltung vereinfachen. Aufgrund der hohen
Performance-Anforderungen von Netzwerksystemen der nächsten Generation
sind herkömmliche Mikroprozessoren
zum Aufbau von modernen Netzwerksystemen nur bedingt einsetzbar.
Um die Anforderungen von OC-48 Datenraten erfüllen und als richtungsweisende Lösung in künftigen Netz-Architekturen zum Einsatz kommen zu können, müssen künftige General-Purpose
Mikroprozessoren eine deutlich erhöhte
Performance bei der Verarbeitung von
Datenpaketen erreichen. So beinhalten
einige neue Mikroprozessor-Architekturen integrierte, auf höchste Performance
zugeschnittene Dual-CPUs mit Schnittstellen, die speziell auf NetworkingFunktionen optimiert sind. Statt Netzwerkelemente als individuelle Komponenten aufzubauen, integrieren Entwickler inzwischen Mikroprozessoren in
System-Architekturen, die die Performance von kundenspezifischer Logik
mit der Flexibilität von General-Purpose
Mikroprozessoren verbinden und die
notwendige Übertragungsgeschwindigkeit ermöglichen.
Einheitliches Design für
unterschiedliche Marktsegmente?
Als Technologietreiber für die internen
CPU-Architekturen und die externen
Verbindungen zum Prozessor galten bis-
24
Bild 1: Moderne Netzwerksysteme sind physikalisch in Control und Data Plane
aufgeteilt. Im Control Plane befinden sich das Betriebssystem und die NetzwerkApplikationen, während das Data Plane für die Analyse und Manipulation von
Paketdaten zuständig ist. Quelle: PMC-Sierra
her Workstations, PCs und Server. Kommunikationssysteme unterscheiden sich
von Computersystemen jedoch sehr
deutlich.
Mikroprozessoren, die in den aktuellen
Netzwerksystemgenerationen zum Einsatz kommen, wurden ursprünglich für
Workstations entwickelt.Viele Netzwerksysteme der ersten Generation sahen
auf den ersten Blick sogar aus wie Workstations. In PC-Lösungen waren die CPU
mit dem Controller-Layer und dem I/OLayer - oder Line Card - verbunden. Bei
den ersten Router-Generationen handelte es sich im Prinzip um einen Computer mit Netzwerk-Interface, das die
elektrischen Signale vom Physical Layer
in Paket-Daten konvertierte. Der Mikroprozessor war in diesem Fall für alle
Netzwerk-Funktionen zuständig und
darüber hinaus für den Ablauf des Be-
triebssystems, die Verwaltung des Netzwerks und das Routing von Datenpaketen verantwortlich.
Da sich die Geschwindigkeiten in Netzwerken erhöht haben und die Funktionen über die reinen Switching- und
Routing-Aufgaben hinaus ausgedehnt
wurden, musste der I/O-Layer intelligenter als bisher gestaltet werden. So war es
ab einem bestimmten Zeitpunkt nicht
mehr länger möglich, jedes Datenpaket
zum Prozessor zu schicken und die
Netzwerk-Operationen parallel zu den
Routing-Aufgaben mit hohen Übertragungsraten durchzuführen. In diesem
Fall war die CPU überlastet und spezielle
Schaltungen, realisiert als ASIC oder FPGA, wurden zur Entlastung des Mikroprozessors beim Packet Processing entwickelt. An diesem Punkt erfolgte in
Netzwerksystemen die physikalische Auf-
elektronik industrie 02-2002
EMBEDDED SYSTEMS
teilung in ein Control und ein Data Plane (Bild 1). Im Control Plane befinden
sich das Betriebssystem und die Netzwerk-Applikationen. Das Data Plane ist
für die Analyse und Manipulation von
Paketdaten zuständig.
In modernen Netzen übernimmt ein Mikroprozessor die Verarbeitung von
Funktionen für den Betrieb des Systems,
während weitere „Distributed“ Prozessoren für eine Entlastung im Data Plane
sorgen. Dennoch ist zutreffend, dass alle
Prozessoren, die in aktuellen Systemgenerationen zum Einsatz kommen, ursprünglich für Computer- und nicht für
Netzwerk-Applikationen entwickelt und
optimiert wurden und Systemdesigner
gezwungen sind, die gleiche CPU und
die gleichen CPU Interconnects im Control und im Data Plane einzusetzen. Derartige CPU-Designs arbeiten bei langsameren Übertragungsraten, etwa OC-3
und OC-12, durchaus effizient. Beispielsweise befindet sich der Mikroprozessor
RM7000 von PMC-Sierra im Datenpfad
von Cisco’s Router-Serie 7000 und übernimmt dort die Verarbeitung von Datenpaketen mit der jeweils geforderten
Übertragungsgeschwindigkeit.
Während sich das Processing im Control
Plane effizient mit einem traditionellen
Mikroprozessor erledigen lässt, haben
die steigenden Anforderungen für OC48 Übertragungsraten und darüber sowie zusätzliche Packet-Processing Features eine Kluft zwischen den Fähigkeiten von herkömmlichen Prozessoren
und den Anforderungen im Data Plane
entstehen lassen. Diese Lücke zwischen
dem, was in Netzen benötigt wird und
wie sich Mikroprozessoren entwickelt
haben, hat eine neue Palette von Prozessorlösungen, die sogenannten „Netzwerk-Prozessoren“, hervorgebracht.
Verarbeitung von Grafikdaten als Vorbild
Die Evolution des Mikroprozessors für
Networking-Aufgaben ähnelt der Evolution der Prozessoren für das Grafik-Umfeld. Aufgrund des hohen Bedarfs an
Grafik-Informationen musste die Auflösung von Displays - ähnlich wie die Übertragungsraten in Netzwerken - geometrisch erhöht werden. Die dazu verwendeten ASICs konnten jedoch nicht
schnell genug modifiziert und an diese
Anforderungen angepasst werden. Programmierbare Grafik-Lösungen mit einer besseren Grafik-Performance konnten an dieser Stelle Abhilfe schaffen und
waren in der Lage, mit den sich ändernden Standards Schritt zu halten. Die General-Purpose CPU sollte darüber hinaus sich wiederholende High-Speed
Operationen auf Bit-Ebene ausführen,
elektronik industrie 02-2002
für die ein Mikroprozessor nicht geeignet ist. Diese Lösungen hatten jedoch
keinen Markterfolg, weil Lösungen mit
einer schnellen CPU plus High-Speed
ASIC preiswerter und schneller angeboten werden konnten.
Eine ähnliche Situation zeichnet sich
heute bei Kommunikationsprodukten
ab. Aktuell befindet sich die Branche in
der zweiten Phase der Entwicklung von
Netzwerk-Applikationen. Da bei jeder
neuen Generation von Standard-Mikroprozessoren vom Beginn des Designs
bis zur Markteinführung etwa drei Jahre
vergehen, konnte die PerformanceLücke bei den aktuellen General-Purpose Prozessoren durch CPUs, wie z.B.
Netzwerkprozessoren, geschlossen werden. PMC-Sierra arbeitet gerade daran,
General-Purpose Mikroprozessoren in
Kombination mit ASICs, die auf die Verarbeitung von Datenpaketen zugeschnitten sind, auf die Anforderungen
von Netzwerksystemen abzustimmen.
Netzwerkprozessoren für
OC-48
Im vergangenen Jahr wurde die „All-inOne“ programmierbare Lösung für OC48 angepriesen. Hersteller von Netzwerkprozessoren akzeptieren heute jedoch die Realität ihrer Processing-Fähigkeit und kommen mit einer Wire Speed
Performance für OC-12 heraus. Um die
Layer 2 bis Layer 7 Processing Fähigkeiten für OC-48 Applikationen bereitstellen zu können, mussten Systemdesigner, die einen Netzwerkprozessor im
Datenpfad einsetzten, nach Möglichkeiten suchen, Datenpakete aus dem Datenpfad zu einem Co-Prozessor mit festen Funktionen zu schicken.
Der Begriff Netzwerkprozessor wurde
dazu benutzt, eine umfangreiche Palette von Processing-Lösungen für die Data Plane zu beschreiben. Einige Designs
nutzen eine sogenannte „Bucket Brigade“ Architektur, bei der ein Datenpaket in einer Kette von Special Purpose
Prozessoren verarbeitet wird, während
andere Architekturen mit parallelen Prozessoren mehrere Datenpakete parallel
verarbeiten. Andere Lösungen greifen
auf High-Performance ASICs zurück und
bieten feste Funktionen in einer Register-programmierten Pipeline. Obwohl
sich diese Lösungen voneinander unterscheiden, besteht das gemeinsame
Ziel in der Standardisierung bei der Verarbeitung von Datenpaketen. Gleichzeitig wird das Ziel verfolgt, Fähigkeiten zu
implementieren, die die Erweiterung
um Funktionen mit Hilfe von Software
ermöglichen.
Netzwerkprozessoren sind ins Rampenlicht geraten und behaupten, sowohl 25
SPEZIAL
EMBEDDED SYSTEMS
die General Purpose CPU als auch ASICs
in Form einer programmierbaren Lösung ersetzen zu können. Special Purpose Netzwerkprozessoren bieten hinsichtlich ihrer Programmierbarkeit einige Vorteile und sind damit herkömmlichen
Netzwerkprozessoren überlegen. Als
Kern dieser Aussage gilt, dass eine CPU
viele Funktionen mit moderater Geschwindigkeit verarbeitet, jedoch keine
Aufgaben extrem schnell erledigen
kann. Netzwerkprozessoren erledigen einige Aufgaben sehr gut, abgesehen von
High-Speed Processing Funktionen.
Dieser Sachverhalt hat sich deutlich gezeigt als man begann, mit Netzwerkprozessoren skalierbare Lösungen bis OC48 Übertragungsgeschwindigkeiten zu
realisieren. Bei diesen Datenraten mussten Carrier Content Aware IP-Services
bereitstellen, um eine Beeinträchtigung
der Bandbreite zu vermeiden. Content
Aware Services, wie z.B. Intrusion Detection, Load Balancing und Quality of Service (QoS), setzen Wire Speed Layer 2 bis
Layer 7 per Packet Inspection- und Processing-Fähigkeiten voraus. Selbst wenn
die Taktfrequenz des Prozessors sich
gemäß des Moore`schen Gesetzes erhöht, steigen die Übertragungsgeschwindigkeiten in der Kommunikation
wesentlich schneller als die Fähigkeiten
des Prozessors bei der Verarbeitung von
Daten. Beispielsweise kann ein GHz-Prozessor bei 10 Gbit/s 64 Befehle ausführen bzw. ein 64-Byte-Paket verarbeiten. Diese Performance sowie die Skalierbarkeit sind jedoch für praktische
Services nicht ausreichend.
ASICs zur Steigerung der
Performance
Auf der anderen Seite haben sich ASICs,
die sich wiederholende, feste Funktionen wie Classification, Table Look-up,
Framing und Forwarding bei Wire Speed
erledigen können, auf dem Markt etabliert. Die Unfähigkeit von Netzwerkprozessoren, eine Skalierung auf OC-48
oder darüber zu ermöglichen, zeigt, dass
mehr Layer 2 bis Layer 7 Funktionen in
einem ASIC ausgeführt werden müssen,
um die Anforderungen hinsichtlich Skalierbarkeit, Geschwindigkeit und Kosten
bei der Realisierung von Content Aware
Services erfüllen zu können. Derzeit besteht die beste Lösung darin, in den Datenpfad ein ASIC oder einen Co-Prozessor für die schnelle Verarbeitung von
Standard-Funktionen einzubinden und
das ASIC sehr eng mit einem Prozessor
zur Verarbeitung von allen anderen
Funktionen zu verbinden.
PMC-Sierra’s ClassiPI, der Hardware-basierte Classification bis Layer 7 ermöglicht, ist ein Beispiel, das zeigt, wie mit einem ASIC ein bestehender Netzwerkprozessor unterstützt und OC-48 Fähigkeiten erreicht werden können. In der
aktuellen Architektur des Data Plane lädt
der Netzwerkprozessor Datenpakete in
den ClassiPI, der sich außerhalb des Datenpfads befindet. ClassiPI führt einen
Header oder Content Classification
Look-up durch und gibt die Ergebnisse
an den Prozessor zurück. Diese Funktion
kann mit Hilfe des ClassiPI zehn Mal
schneller ausgeführt werden als mit einem Netzwerkprozessor alleine.
Evolution des Data Plane
Im Data Plane dürften Netzwerkprozessoren im Datenpfad schon bald durch
spezielle ASICs mit enger Kopplung an
General-Purpose CPUs ersetzt werden.
Dadurch wird eine Arbeitsteilung erreicht. ASICs sind dabei für sich wiederholende Standard-Aufgaben bei Wire
Speed zuständig und repräsentieren eine kostengünstige Lösung. In diesem
Modell (Bild 1) stellt der Mikroprozessor
26
der nächsten Generation eine hohe Performance sowie eine hohe Flexibilität
für den Umgang mit General- und Exception-Processing, wie etwa First Route
Failure und OS Management, bereit. Auf
diese Art reduzieren sich Latenz und
Komplexität. Aktuelle General-Purpose
Prozessoren haben zwar die Flexibilität
einer Software, die portabel ist und sich
gut pflegen lässt, bieten jedoch nicht
die Performance, die für höhere Datenraten erforderlich ist. Im Gegensatz dazu
benötigen Netzwerkprozessoren Software, die mit der darunterliegenden Architektur verknüpft ist und gegenüber
aktuellen General-Purpose Mikroprozessorgenerationen eine erhöhte Performance bietet. Die beste Lösung ist zwischen der aktuellen Netzwerkprozessorgeneration und aktuellen General-Purpose Mikroprozessoren angesiedelt.
Mikroprozessoren der
nächsten Generation
Bei Mikroprozessoren, die sich für den
Einsatz in derzeitigen OC-48 und künftigen OC-192 und OC-768 Netz-Applikationen eignen, sollten Entwickler die Anforderungen der Zukunft hinsichtlich
Control und Data Plane berücksichtigen
und sich an Designkonzepten orientieren, die auf Performance optimiert sind.
Mit seinem Multiprozessor RM9000x2
macht PMC-Sierra bisherige Single CPU
Mikroprozessor-Architekturen für HighPerformance Networking Applikationen
überflüssig. Der RM9000x2 beinhaltet
zwei auf der MIPS-Architektur basierende Prozessoren, die jeweils mit 1 GHz arbeiten.
Der Mikroprozessor im Control Plane
war schon immer für die Steigerung der
System-Performance sowie für die Reduzierung der Latenz verantwortlich.
Entwickler von Netzwerksystemen legen größten Wert darauf, dass diese
schnelleren Komponenten mit weniger
Platz auf dem Board sowie mit einer geringeren Leistung auskommen. Ein Mikroprozessor im Control Plane eines IPRouters, einer Remote Access Applikation oder eines High-Performance Servers erfordert ein optimiertes I/O-Konzept für die effiziente Verbindung mit
anderen Packet Handling Komponenten.
Bei seinem neuen Multiprozessor hat
PMC-Sierra einen DDR-SDRAM-Controller zur Reduzierung der Latenz, einen
I/O-Bus der nächsten Generation, HyperTransport für einen High-Speed, Low
Pin-Count Data Flow sowie einen Legacy SysAD I/O-Bus für den Anschluss
von zahlreichen Standard-Peripheriekomponenten integriert (Bild 2). Der
Multiprozessor wird in einer 0,13-µmTechnologie gefertigt, kommt deshalb
elektronik industrie 02-2002
EMBEDDED SYSTEMS
Bild 2: Der RM9000x2 von PMC-Sierra enthält zwei MIPS-CPUs plus Memory-Interfaces, wird in einer 0,13-µm-Technologie gefertigt und kommt mit einem geringen Platz- und Leistungsbedarf aus.
mit einem minimalen Platzbedarf aus
und erfüllt mit seinem Leistungsbedarf
von lediglich 5 W die Anforderungen
des Kommunikationsmarktes.
Entwickler von Data Planes benötigen
ferner ein I/O- und Legacy I/O-Konzept
der nächsten Generation, um eine direkte Verbindung zwischen der HighSpeed CPU und dem Wire Speed Datenpfad realisieren zu können. Darüber hinaus verlangen Designer, die sich auf die
Verbesserung der Data Plane Performance konzentrieren, als Standards verfügbare Software-Funktionsblöcke für
ihre Mikroprozessoren. Durch den Einsatz einer General-Purpose CPU lässt
sich die Komplexität beim Programmieren insofern reduzieren, als dass mehrere Third-Party Applikationen eingesetzt
werden können. PMC-Sierra hat zusammen mit dem RM9000x2 insgesamt fünf
MIPS-Prozessorgenerationen
produziert. Bei dem entsprechend der MIPSArchitektur aufgebauten RM9000x2
handelt es sich um einen bewährten, in
C programmierbaren Prozessor, der auf
bisherigen Designs aufbaut und den
notwendigen Funktionsumfang im Data
Plane bereitstellt.
Um im Data Plane der Zukunft eingesetzt werden zu können, muss die nächste Mikroprozessorgeneration auch die
Engpässe beim Multiprocessing überwinden und die parallelen Eigenschaften in Netzwerken ausnutzen können. In
Anlehnung an Netzwerk-Architekturen
hat PMC-Sierra einen CPU-Switch implementiert, der Datentransfers zwischen
den beiden Prozessoren mit der CPUCore Frequenz ermöglicht. Ebenfalls integriert wurde eine separate paketorientierte Switch Fabric. Damit lassen sich
Engpässe, die in Bus-Architekturen auf-
elektronik industrie 02-2002
treten, eliminieren und die schnellst
mögliche Konnektivität zwischen CPUs,
Memory und I/O-Komponenten erzielen. Diese „Concurrent-Transfer“, Switchbasierte Architektur gewährleistet, dass
alle Pfade, die sich Daten, wie Cache, Memory oder Befehle, teilen, auf Performance optimiert sind.
721
PMC-SIERRA
Tom Riordan ist Vice President und General Manager der MIPS Processor Division
von PMC-Sierra,Inc.
Spitzen-Performance
Sun Microsystems hat Benchmarks
(SPECint, SPECfp) für eine neue Version
des Mikroprozessors„UltraSPARC III“ bekannt gegeben. So arbeitet nach Angaben des Unternehmens das Modell
„Cu 1050“, das ab kommenden Frühjahr in den firmeneigenen Workstation- und Server-Produkten eingesetzt
werden soll,mit einer Taktfrequenz von
1,05 GHz und erzielt 610 SPECint sowie
827 SPECfp.Sun führt die PerformanceSteigerung auf Verbesserungen bei
den Fertigungstechnologien, interne
Buffergrößen und Management sowie
auf einen effizienten Objekt-Code
zurück, erzeugt von einer neuen Version des Forte-Compilers.Dieser Compiler ist die am meisten eingesetzte Software zum Übersetzen von Programmcode in maschinenlesbare Befehle, die
in UltraSPARC-basierten Systemen verarbeitet werden.
27