ATCA-Blades und 6WindGate-Software Gutes Gespann für besseren Datendurchsatz

ATCA-Blades und 6WindGate-Software
Gutes Gespann für besseren Datendurchsatz

Steigende Anforderungen an den Datendurchsatz bei Telekommunikationssystemen zwingen Entwickler, die Datenraten zu erhöhen und gleichzeitig die Risiken durch eine strategische Auswahl der verwendeten Hard- und Software zu verringern.
Internetanwendungen mit hoher Bandbreite erfordern Telecom-Blades der nächsten Generation, für einen Durchsatz von 40Gbit/s für Ethernet- und IP-basierten Datenverkehr. Die für solche Hochleistungssysteme optimierten Multicore-Prozessoren basieren jedoch meist auf einer spezifischen, proprietären Architektur. Die Softwarekompatibilität zwischen Prozessoren verschiedener Hersteller bleibt dabei auf der Strecke. Für die Durchführung eines Leistungstests sind Hardware-spezifische Beschleunigungsfunktionen erforderlich. Das erhöht den Entwicklungsaufwand. Zudem muss sich der Systementwickler schon zu Beginn des Entwicklungsprozesses für eine Prozessor-Architektur entscheiden, was nur wenig Spielraum für nachträgliche Änderungen lässt. GE ATCA-Blades mit vorinstallierter 6WindGate-Software sind schnell eingerichtet. Leistungstests können mit einer Reihe von Protokollen höherer Ebene schnell durchgeführt werden und verdeutlichen die für reale Anwendungen benötigte Leistungsfähigkeit. Mit der Hardware-Abstraktionsschicht von 6WindGate können Anwendungen sehr einfach von einer Hardware-Plattform zur nächsten migriert werden.

Schnelligkeit immer mehr ­gefordert

Statistiken zeigen, dass der gesamte Datenverkehr im Kernnetz – verursacht durch Internetanwendungen mit hoher Bandbreite – eine Zuwachsrate von mehr als 100% aufweist. Deshalb müssen einzelne Kernbestandteile eine entsprechende Erweiterung der Bandbreite leisten. Der Druck, die bestehende Infrastruktur auf höhere Bandbreiten – 40- bis hin zu 100Gigabit-Raten – zu erweitern, wird an die Telekommunikationsausstatter (TEMs) weitergegeben. Die Steigerung der erforderlichen Verarbeitungsleistung macht die Sache noch komplizierter. Sicherheitsvorkehrungen und Datenschutzmaßnahmen erfordern eine Verschlüsselung der Daten und die ständige Suche nach möglichen Virensignaturen. Eine Reihe von Protokollen greift ineinander, was effiziente Möglichkeiten zu Paketanalyse und Headermanipulation erfordert. Hardwareseitig stellen sich zahlreiche Halbleiteranbieter der Herausforderung und bieten Prozessoren wie Cavium Octeon II, Intel Core i7 der zweiten Generation und NetLogic XLP an, die für die Paketverarbeitung mit Durchsatzraten von 40Gigabit ausgelegt sind. Zur Leistungssteigerung werden einige Aufgaben an Hardwarebeschleunigungs-Engines ausgelagert, die jedoch eine speziell geschriebene Software erfordern. Zur Erhöhung der Leistungsfähigkeit bei der Paketverarbeitung eignen sich weiterhin Betriebssysteme, deren Leistungsumfang reduziert und optimiert wurde, sogenannte ‚Bare-Metal‘-Betriebssysteme. So hat Cavium etwa Simple Executive OS entwickelt und Intel seine Software DPDK eingeführt. Anwendungen für Bare-Metal-Betriebssysteme laufen auf einzelnen Prozessorkernen. Bare-Metal-Systeme verwenden kein Taskswitching und liefern sehr verlässliche und reproduzierbare Paketverarbeitungsgeschwindigkeiten und Latenzwerte. So kann etwa eine einfache Datenweiterleitungsfunktion, die in Cavium Simple Executive geschrieben wurde, das Packet Forwarding mit einer überaus wiederholgenauen Latenzzeit von unter 2µs leisten. Was Bare-Metal-Systemen fehlt, ist jedoch eine umfangreiche Softwarebibliothek und die für Linux erforderliche Protokollunterstützung. Daher sind für die Implementierung einer komplexen Paketverarbeitung direkt in einem Bare-Metal-Betriebssystem erheblicher Programmieraufwand und genaue Kenntnisse der Prozessoreigenschaften nötig. Außerdem sind derart programmierte Anwendungen eng mit dem jeweiligen Prozessor verknüpft, was die Migration in eine andere Architektur mühsam und aufwändig macht.

Mögliche Risiken minimieren

Eine weitere Herausforderung ist die Risikobegrenzung. Die für komplexe Prozessoren anvisierten Markteinführungstermine werden regelmäßig verschoben, und teilweise mehrmonatige Verspätungen können Einführungsplanung und -rhythmus für TEM-Produkte ernsthaft beeinträchtigen. Um diese Risiken zu minimieren, möchten sich Kunden von der Abhängigkeit einer bestimmten Halbleiter-Architektur lösen, den Programmieraufwand reduzieren und eine hohe Leistungsfähigkeit beibehalten. Dieses hochgesteckte Ziel kann durch die Einführung einer Hardwareabstraktionsschicht erreicht werden. Idealerweise sorgt die Hardwareabstraktionsschicht beim Kunden für eine Linux-ähnliche Softwareentwicklungsumgebung, die eine Vielzahl an gebräuchlichen Ethernet- und IP-Protokollen unterstützt. Sie soll eine Paketverarbeitungsgeschwindigkeit liefern, die nur durch Verwendung eines Bare-Metal-Betriebssystems und Prozessor-spezifischer Hardware-Offload-Engines erreicht werden kann. Eine Hardwareabstraktionsschicht reduziert zudem die Abhängigkeit von der zugrundeliegenden Prozessor-Architektur, wodurch ein Hardwareaustausch ohne umfangreiche Softwareprogrammierung möglich ist. Die Architektur der Paketverarbeitungssoftware 6WindGate ist ein Ersatz für Linux-Netzwerkstacks und voll kompatibel mit Linux Standard-APIs, unabhängig vom gewählten Zielprozessor. Daher kann jede Anwendung, die mit den in Linux standardmäßig verwendeten Netzwerk-Schnittstellen entwickelt wurde, weiterhin unverändert laufen. Softwareentwickler können eine einheitliche und Linux-kompatible Codebasis pflegen. Zweitens werden marktführende Multicore-Prozessoren mit 6WINDGate besser unterstützt (momentan Prozessoren basierend auf Cavium-, Freescale-, Intel- und NetLogic-Architektur). 6WINDGate ist modular aufgebaut, daher kann die Software effizient in andere Architekturen portiert werden. Die Hardware-Abhängigkeiten beschränken sich auf eine begrenzte Sektorenanzahl im Gesamtcode. Wird 6WindGate in eine neue Prozessorarchitektur portiert, werden Optimierungsmaßnahmen durchgeführt, die die bestmögliche Ausnutzung der On-Chip-Ressourcen ermöglichen, die dazu entwickelt wurden, die Leistung spezifischer Protokolle oder Algorithmen zu maximieren. Gleichzeitig nutzt 6WindGate alle Dienste der Multicore-Ausführungsumgebung und bietet Unterstützung für eine ganze Reihe von Multicore-Prozessoren.

Passende Software für ­leichtere Paketverarbeitung

Die Leistungsanforderungen an Netzwerke der nächsten Generation sind anspruchsvoll. Ein Standard-Netzwerkstack nutzt vom ­Betriebssystem bereitgestellte Dienste. Der dadurch erzeugte Verarbeitungs-Overhead betrifft jedes das System passierende Paket und führt zu enormen Leistungseinbußen im Gesamtdurchsatz. Die Leistung verteilt sich bei komplexen Paketverarbeitungsprozessen nicht linear auf alle Kerne, wie es 4G verlangt. Ein gewöhnlicher Betriebssystem-Stack nutzt die mögliche Paketverarbeitungsgeschwindigkeit eines Multicore-Prozessors nur unzureichend. Bessere Leistung bietet Paketverarbeitungssoftware, die speziell für Multicore-Architekturen ausgelegt ist. Bei einer gut entwickelten Implementierung wird der Netzwerkstack in zwei Schichten gespalten. Die untere Schicht, normalerweise Fast Path genannt, verarbeitet den Großteil der eintreffenden Pakete außerhalb des Betriebssystems, ohne Betriebssystem-Overheads zu verursachen. Nur manche Pakete benötigen komplexe Verarbeitungsprozesse und werden an den Netzwerkstack des Betriebssystems weitergeleitet, wo die nötigen Funktionen für Verwaltung, Signalgebung und Steuerung durchgeführt werden. Ein Multicore-Prozessor ist für die Implementierung dieser Software-Architektur bestens geeignet. Die meisten Kerne können Fast Path zugewiesen werden und maximieren damit den Gesamtdurchsatz des Systems, während nur ein Kern für das Betriebssystem, den Netzwerkstack des Betriebssystems und die Steuerungsebene der Anwendung benötigt wird. In der Praxis analysiert der Entwickler die jeweiligen Leistungsanforderungen der verschiedenen Software-Elemente des Systems (Anwendungen, Steuerungsebene, Netzwerkstack und Fast Path). Dabei ordnet er die Kerne so zu, dass die Arbeitslast im Gesamtsystem optimal verteilt werden kann. Bei neuesten hybriden Fast-Path-Modellen kann das System je nach Verkehrsmuster dynamisch rekonfiguriert werden, zum Teilen der CPU-Ressourcen, die Steuerungsebene und Fast Path zugeordnet sind. Eine derartige Teilung des Netzwerkstacks hat keinen Einfluss auf die Funktionalität der Anwendungssoftware, die denselben Netzwerkstack des Betriebssystems verwendet wie vorher. Bestehende Anwendungen müssen nicht neu geschrieben oder rezertifiziert werden, sie laufen jedoch erheblich schneller, da die zugrundeliegenden Paketverarbeitungsprozesse durch die Fast-Path-Umgebung beschleunigt werden. Werden die gewöhnlichen Netzwerkstacks eines Betriebssystems durch optimierte Paketverarbeitungssoftware ersetzt, die auf dem Fast-Path-Konzept basiert, erhöht sich in einer typischen 4G-Anwendung die Netzwerkleistung des Prozessor-Subsystems um den Faktor 7 bis 10.

Eine um Faktor 7 bis 10 ­höhere Netzwerkleistung

Durch diese Leistungssteigerung kann das System mit derselben Hardware sieben bis zehn Mal mehr Benutzer handhaben. Der Entwickler kann durch diese Art der Fast-Path-basierten Implementierung Systemdurchsatzraten erzielen, die mit einem einzelnen Multicore-Prozessor mit gewöhnlichem Betriebssystem-Stack unerreichbar schienen. Weitere positive Effekte sind eine verbesserte Energieeffizienz und geringere Kosten. Die Paketverarbeitungssoftware 6WindGate implementiert die oben beschriebene Fast-Path-Architektur und wird weltweit von Anbietern für kabellose Infrastrukturen eingesetzt.

Für kabellose Infrastrukturen

Mit seiner umfassenden Sammlung an Protokollen für Steuerungsebene, Netzwerkstack und Fast Path bietet 6WindGate Entwicklern eine Komplettlösung für alle Protokolle, die eine leistungsstarke Infrastrukturplattform für kabellose Anwendungen basierend auf Multicore-Technologie benötigen. Da Entwickler Netzwerksoftwarekomponenten verschiedener Hersteller nicht mehr eigens integrieren müssen, beschleunigt 6WindGate die Produkteinführungszeit für Netzwerkgeräte erwiesenermaßen um bis zu 12 Monate.

GE und 6WIND: Synergien nutzen

Als Experte für Cavium-, Intel- und Freescale-Architekturen bietet GE mehrere Multicore-Prozessor-Platinen an, auf die 6WindGate portiert wurde. GE-Hardware mit 6WindGate ermöglicht die Beurteilung der Leistungsfähigkeit einer bestimmten Hardware-Architektur schnell und ohne Risiko. Angesichts der hohen Leistungsanforderungen sind Benchmarktests und Leistungsermittlung wichtige Hilfsmittel bei der Auswahl der Hardware-Architektur.

Testinstallation für Paketverarbeitungsanwendung

Eine Testinstallation für eine simple Paketverarbeitungsanwendung kann relativ einfach mit Cavium Simple Executive erstellt werden. Ein solcher Leistungstest liefert hohe Paketweiterleitungsraten und kann als Obergrenze für die Leistung der realen Anwendung gesehen werden. Zusätzliche Protokolle wie Network Address Translation und IPsec erhöhen den Programmieraufwand exponentiell. Dieser Aufwand muss vor der endgültigen Auswahl der Hardware-Architektur geleistet werden und das vielleicht sogar mehrmals, zum Vergleich der Leistungswerte verschiedener Architekturen. Da 6WindGate bereits zahlreiche Protokolle unterstützt, reduziert sich der Aufwand für eine Benchmark-Installation enorm. Konfiguration und Durchführung eines IPsec- oder IP-Forwarding-Leistungstests benötigen weniger als eine Stunde und liefern realistische Messergebnisse, die die Leistungsfähigkeit realer Anwendungen weit besser widerspiegelt.

Realistische Messergebnisse

GE hat 6WindGate bisher auf die ATCA-Blades mit Caviums Octeon-Prozessor und dem Intel Xeon-Prozessor E5638 portiert. Nach Einschätzung von GE wird die Software auch auf zukünftige Produkte portiert werden. So können Leistungstests zum Vergleich verschiedener Hardware-Architekturen durchgeführt werden. Zudem kann der Kunde einfach von einer Hardware-Architektur zur anderen migrieren, indem er die von 6Wind mitgebrachte Hardwareabstraktionsschicht nutzt und seine Anwendungssoftware darüber erstellt. Die Abhängigkeit von Hardwarevorgaben oder begrenzter Prozessor-Verfügbarkeit und Unwägbarkeiten für die zukünftige Planung werden so reduziert. Wichtig hierbei ist, dass 6WindGate nur einen der möglichen Grundpfeiler für die ATCA-Spezifikation darstellt. Andere Softwarebestandteile beinhalten Bootloader, BIOS-Software, IPMI-Software, Dienstprogramme für die systemnahe Hardware und Funktionen wie Flash- und SFP-Management.

Zusätzliche Softwarebestandteile

Diese zusätzlichen Softwarebestandteile der Multicore-Prozessor-Boards von GE wurden mit der gleichen Bedien-Logik entwickelt, wodurch sich die Migration von einem Produkt zur nächsten Generation oder von einer Hardware-Architektur zur nächsten weiter vereinfacht. Außerdem reduziert die enge Zusammenarbeit von GE und 6Wind den Aufwand für Technischen Support und beschleunigt den Entwicklungsprozess für Kundenanwendungen.

GE Intelligent Platforms GmbH
www.ge-ip.com

Das könnte Sie auch Interessieren