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