190 likes | 279 Views
FlexPath Netzwerkprozessor. Michael Meitinger Rainer Ohlendorf Thomas Wild Andreas Herkersdorf. Inhalt. Kurzüberblick FlexPath Vervollständigung FlexPath Einzelmodule Path Dispatcher Path Control Systemintegration Dual Core Erweiterung Demonstrator: Einsatzszenarien & Messungen
E N D
FlexPath Netzwerkprozessor Michael Meitinger Rainer Ohlendorf Thomas Wild Andreas Herkersdorf
Inhalt • Kurzüberblick FlexPath • Vervollständigung FlexPath Einzelmodule • Path Dispatcher • Path Control • Systemintegration • Dual Core Erweiterung • Demonstrator: Einsatzszenarien & Messungen • Anbindung an DynaCORE • Ausblick • Erweiterung des MPSoC • Weitere Load Balancing Strategien • Zusammenfassung
Kürzüberlick FlexPath NP • Grundidee FlexPath • Flexible Wegewahl für Pakete • Paketabhängige Entscheidungin Hardware • Regelbasis zur Laufzeit rekonfigurierbar • Stark fluktuierende Verkehrsmuster • Hardwareunterstützung AutoRoute-Pfad CPU Pfad Stand: Mai 2007
Path Dispatcher - Implementierung • Publikationen: • WASP 2007, Salzburg • IEEE TVLSI (under review) • Anforderungen an den Path Dispatcher: • Realtime-Klassifikation des ankommenden Paketstroms nach Applikationen => Ziele im NP • Regelbasis zur Laufzeit rekonfigurierbar • Ansatz: • Heterogeneous Decision Graph Algorithm (HDGA) • optimierte Kombination aus Entscheidungsbaum und Hashtabellenlookup • Baum: • Regeln auf verschiedenen Headerfeldern (heterogen, z.B. protokollspez. Flags) • Überprüfung von max. 2 Feldern pro Takt • Hash-Tabelle: • Bedingungen für ein Headerfeld mit vielen Möglichkeiten (homogen, z.B. Adressen) • Resultate auf Virtex-4 FX60: • 1,446 slices (6%), 14 BlockRAMs (6%) • 101.8 MHz max. Taktfrequenz
Path Control - Implementierung • Publikation: • ARCS 2008, Dresden • Anforderungen an die Path Control: • Sicherstellen der Paketreihenfolge am Ausgang • Vermeidung von TCP-Retransmissions • Erhöhung der Netzwerkperformance (Congestion Control) • Ansatz: • Festhalten der Paketreihenfolge am Eingang • Aggregation Unit zur Wiederherstellung der Reihenfolge am Ausgang • Resultate auf Virtex-4 FX60: • Ingress Tagger • 195 slices (< 1%) • 3 BlockRAMs (1%) • Egress Aggregation Unit • 1093 slices (4%) • 11 BlockRAMs (5%) • 139 MHz max. Taktfrequenz
Systemintegration • Vollständiger, funktionsfähiger Netzwerkprozessor auf einem FPGA • ML410: Virtex-4 FX60 • 2x Gigabit Ethernet • MPSoC mit zwei PowerPCs • Data Plane • Control Plane • Dynamische Pfadwahl • Dedizierte Pfadwahl • Spraying • Zur Laufzeit konfigurierbar • Software • Protocol Stack • IPv4 forwarding • IPSec • Statische Konfiguration
Ressourcenverbrauch • insgesamt: • 16,006 slices (63%) • 77 BlockRAMs (33%) • Max. Taktfrequenz von 100 MHz nur durch sorgfältiges Floorplanning (PlanAhead) erreichbar • Problem: Verdrahtung beim PLB (Leitungslänge) • Baumklassifizierer im Path Dispatcher (40 Logic-Levels) PaC Post- Proc. Buffer Manager (DMA) DDR MAC I/F PLB Arb. Path Disp. Ctx Gen. eng. Pre- Proc.
Verbindung 1 Verbindung 2 Einsatzszenarien: IP forwarding & IPSec • Messszenario: 100 Mbps IMIX + variabler IPSec Verkehr FlexPath IPSec (512 Byte Pakete) IMIX 100 Mbps / 34,5 kpps (forwarding) Fall 1: Alle Pakete ohne Vorklassi- fizierung zur CPU Fall 2: Vorklassifizierung im Path Dispatcher Fall 3: Forwarding dediziert auf zweite Data Plane Fall 4: Forwarding Verkehr verteilt auf beide Data Plane CPUs (Spraying) Fall 5: Forwarding Verkehr per AutoRoute
IPSec >1 ms Einsatzszenarien: Fall 1 Data Plane PathDispatcher • hohe Grundlast durch SPD-Check • geringe IPSec-Paketrate steigert CPU-Last deutlich • Paketverluste bei Forwarding trotz ausreichender CPU Lastreserve
Einsatzszenarien: Fall 2 Data Plane PathDispatcher • Abfall der CPU-Last durch Vorklassifizierung im Path Dispatcher (SPD-Check) • IPSec-Paketverluste ab 2,700 kbit/s
Einsatzszenarien: Fall 3 Data Plane Data Plane PathDispatcher • keine Paketverluste mehr bei Forwarding • Head-of-Line Blocking bei 100% CPU-Last
Einsatzszenarien: Fall 4 Data Plane Data Plane PathDispatcher • CPU 1 hat höhere Priorität am Bus mehr Spraying-Verkehr • keine Verluste bei Forwarding durch 2. CPU
Einsatzszenarien: Fall 5 Data Plane PathDispatcher • AutoRoute-Verhalten vergleichbar mit Fall 3 (2 CPUs, dedizierte Lastverteilung)
DynaCORE DES AES AES Anbindung von DynaCORE (Universität zu Lübeck) Motivation: • Crypto-Funktionen sehr rechenaufwändig HW-Beschleunigung • DynaCORE als externen HW-Beschleuniger • Anschluss über Ethernet Gemeinsame Demonstration: • flexible Ansteuerung / Wegewahl aus Perspektive FlexPath NP • allgemeine Performanceerhöhung • einfache Anbindung durch Standard-Schnittstellen gemeinsamer Stand auf FPL 2008 Aktueller Status: • Datenformate spezifiziert • Demonstrator angepasst • Tunnel-SW zum Remote-Paketaustausch über Internet (München-Lübeck) • erster Testlauf in Kürze
Ausblick: MPSoC Ziel • Einbindung weiterer Data Planes (MicroBlazes) Mögliche Probleme • Anbindung der MicroBlazes • MicroBlazes mit PLB-Anschluss erst ab EDK 9.2 / 10.1 • Atomare Zugriffe (bisher: 64 Bit Cacheline Zugriffe) • Interconnect • Mehr Busteilnehmer erschweren Timing • Auslastung des Busses • Alternativen • Infrastruktur mit Bridging • Multiport Memory Controller • …
Ausblick: Weitere Load Balancing Strategien Bisher • Keine Kenntnis des aktuellen Belastungszustandes Ziel • Geregelte Lastzuweisung • System-Monitoring • Auswertung • Regelalgorithmus Aspekte • Zwei Mechanismen • Spraying (Paketverteiler) • Dedizierte Zuweisungen (Path Dispatcher) • Migration von statebehafteten Applikationen in Überlastsituationen • Rechenreserven durch gezielte Lastallokation • z.B. für hochprioren Verkehr • Sicherstellung von QoS
Zusammenfassung • Funktionsfähiger FlexPath Netzwerkprozessor • Vollständiger Multi-Processor System-on-Chip Demonstrator • 2 PowerPCs • Einsatzszenarien zeigen • Vorteile und Möglichkeiten der flexiblen Wegewahl • Anpassungsfähigkeit des FlexPath Systems mittels einfacher Konfiguration
Vielen Dank für Ihre Aufmerksamkeit!
Aufbauend auf Gerüst aus 1. Förderperiode Multi-Prozessor Cluster Mindestens 4 Data Plane CPUs Lastbalancierungsstrategie Multi-Prozessor Interrupt-Controller Hardwarebeschleuniger für Aufgaben mit besonders hoher Rechenanforderung (z.B. Crypto) Dynamisch partielle Rekonfiguration Optimierung der aktuellen Systemkonfiguration FlexPath NP - Systemüberblick 2. Förderperiode