technische universität münchen prof. dr. andreas herkersdorf arcisstraße 21 80290 münchen ...
TRANSCRIPT
Technische Universität München
Prof. Dr. Andreas Herkersdorf
Arcisstraße 2180290 München
http://www.lis.ei.tum.de
FlexPath Netzwerkprozessor
Michael MeitingerRainer OhlendorfThomas WildAndreas Herkersdorf
Technische Universität München
Michael MeitingerSPP 1148
Zwischenkolloquium
FlexPath NP - 2
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
Technische Universität München
Michael MeitingerSPP 1148
Zwischenkolloquium
FlexPath NP - 3
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-PfadAutoRoute-PfadCPU PfadCPU Pfad
Stand: Mai 2007
Technische Universität München
Michael MeitingerSPP 1148
Zwischenkolloquium
FlexPath NP - 4
Path Dispatcher - Implementierung...
Dedizierte CPU
Data Plane CPUs
Path Dispatcher
HW Accel
CPU 1
Paketverteiler
Control PlaneCPU
CPU 2 CPU iCPU i+1
CPU n
LMLM LM LM LM
Pool CPU
AutoRoute
PathManager
... ...
LM Last-Monitor
Path Dispatcher Regeln
Pool-Zuordnung
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
CTX Mem
Tree Classifier
Pro
cessor Local B
us (PLB
)Configuration
LIS-IPIF Slave
Path Disp.Controller
Hash Classifier
HashTableMem
DecisionTreeMem
Publikationen:• WASP 2007, Salzburg• IEEE TVLSI (under review)
Publikationen:• WASP 2007, Salzburg• IEEE TVLSI (under review)
Technische Universität München
Michael MeitingerSPP 1148
Zwischenkolloquium
FlexPath NP - 5
Path Control - Implementierung
NP System
Sequence Counter In
IP 5
-Tu
pel
Counter #2
Counter #3
Counter #4
Counter #5
Counter #n
Hash-function
...
Flow# Sequence#
Counter #1
packet
RX
Flow#
Sequence Counter Out
Counter #2
Counter #3
Counter #4
Counter #5
Counter #n
...
Counter #1
Flow# Sequence#
OK?BufferMemory
TX
Aggregator
packet
Publikation:• ARCS 2008, Dresden
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
Technische Universität München
Michael MeitingerSPP 1148
Zwischenkolloquium
FlexPath NP - 6
Prozessor Komplex
Data Plane CPU (PPC)
Control / Data Plane CPU (PPC)
MP IntC
Interconnect: Processor Local Bus (PLB)
Look
-up
Eng
ine
I/F
Pre-Processor
Speicher-verwaltung
Traffic Manager
Post-Processor
Gb-MAC Gb-MAC
Speicher
I/O Module
Path Control
Path DispatcherSDRAM
Controller
Path Control
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
Technische Universität München
Michael MeitingerSPP 1148
Zwischenkolloquium
FlexPath NP - 7
Ressourcenverbrauch
PaC BufferManager
(DMA)
Post-Proc.
DDR
PLB Arb.
MACI/F
Pre-Proc.
PathDisp.
CtxGen.eng.
212
682
3285
1978
1446
1288
1615
633
6824185
9274
MAC attachments
Pre-Processor
Speicherverwaltung
Context Generation Engine
Path Dispatcher
Path Control
Post-Processor
PLB Arbiter
DDR Controller
Glue
Frei
• 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)
Technische Universität München
Michael MeitingerSPP 1148
Zwischenkolloquium
FlexPath NP - 8
Prozessor Komplex
Data Plane CPU (PPC)
Control / Data Plane CPU (PPC)
MP IntC
Interconnect: Processor Local Bus (PLB)
Look
-up
Eng
ine
I/F
Pre-Processor
Speicher-verwaltung
Traffic Manager
Post-Processor
Gb-MAC Gb-MAC
Speicher
I/O Module
Path Control
Path DispatcherSDRAM
Controller
Path Control
Einsatzszenarien: IP forwarding & IPSec
• Messszenario: 100 Mbps IMIX + variabler IPSec Verkehr
FlexPathIPSec
(512 Byte Pakete)
IMIX 100 Mbps / 34,5 kpps(forwarding)
Verbindung 1
Verbindung 2
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
Technische Universität München
Michael MeitingerSPP 1148
Zwischenkolloquium
FlexPath NP - 9
Einsatzszenarien: Fall 1
>1 ms
IPSec
Data Plane
PathDispatcher
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
0 500 1,000 1,500 2,000 2,500 3,000 3,500 4,000
IPSec Traffic Share (kbit/s)
CP
U L
oad
(%
)
0
4
8
12
16
20
24
28
32
36
40
Pac
ket
Rat
e (k
pp
s)
CPU 1 [%]
IPSec [kpps]
Fwd [kpps]
• hohe Grundlast durch SPD-Check
• geringe IPSec-Paketrate steigert CPU-Last deutlich
• Paketverluste bei Forwarding trotz ausreichender CPU Lastreserve
Technische Universität München
Michael MeitingerSPP 1148
Zwischenkolloquium
FlexPath NP - 10
Einsatzszenarien: Fall 2
Data Plane
PathDispatcher
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
0 500 1,000 1,500 2,000 2,500 3,000 3,500 4,000
IPSec Traffic Share (kbit/s)
CP
U L
oad
(%
)
0
4
8
12
16
20
24
28
32
36
40
Pac
ket
Rat
e (k
pp
s)
CPU 1 [%]
IPSec [kpps]
Fwd [kpps]
• Abfall der CPU-Last durch Vorklassifizierung im Path Dispatcher (SPD-Check)
• IPSec-Paketverluste ab 2,700 kbit/s
Technische Universität München
Michael MeitingerSPP 1148
Zwischenkolloquium
FlexPath NP - 11
Einsatzszenarien: Fall 3
PathDispatcher
Data Plane
Data Plane
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
0 500 1,000 1,500 2,000 2,500 3,000 3,500 4,000
IPSec Traffic Share (kbit/s)
CP
U L
oad
(%
)
0
4
8
12
16
20
24
28
32
36
40
Pac
ket
Rat
e (k
pp
s)
CPU 1 [%]
CPU 2 [%]
IPSec [kpps]
Fw d [kpps]
• keine Paketverluste mehr bei Forwarding
• Head-of-Line Blocking bei 100% CPU-Last
Technische Universität München
Michael MeitingerSPP 1148
Zwischenkolloquium
FlexPath NP - 12
Einsatzszenarien: Fall 4
PathDispatcher
Data Plane
Data Plane
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
0 500 1,000 1,500 2,000 2,500 3,000 3,500 4,000
IPSec Traffic Share (kbit/s)
CP
U L
oad
(%
)
0
4
8
12
16
20
24
28
32
36
40
Pac
ket
Rat
e (k
pp
s)
CPU 1 [%]
CPU 2 [%]
IPSec [kpps]
Fw d [kpps]
• CPU 1 hat höhere Priorität am Bus mehr Spraying-Verkehr
• keine Verluste bei Forwarding durch 2. CPU
Technische Universität München
Michael MeitingerSPP 1148
Zwischenkolloquium
FlexPath NP - 13
Einsatzszenarien: Fall 5
PathDispatcher
Data Plane
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
0 500 1,000 1,500 2,000 2,500 3,000 3,500 4,000
IPSec Traffic Share (kbps)
CP
U L
oad
(%
)
0
4
8
12
16
20
24
28
32
36
40
Pac
ket
Rat
e (k
pp
s)
CPU 1 [%]
IPSec [kpps]
Fw d [kpps]
• AutoRoute-Verhalten vergleichbar mit Fall 3 (2 CPUs, dedizierte Lastverteilung)
Technische Universität München
Michael MeitingerSPP 1148
Zwischenkolloquium
FlexPath NP - 14
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
DynaCORE
DES AES AES
Prozessor Komplex
Data Plane CPU (PPC)
Control / Data Plane CPU (PPC)
MP IntC
Interconnect: Processor Local Bus (PLB)
Look
-up
Eng
ine
I/F
Pre-Processor
Speicher-verwaltung
Traffic Manager
Post-Processor
Gb-MAC Gb-MAC
Speicher
I/O Module
Path Control
Path DispatcherSDRAM
Controller
Path Control
Prozessor Komplex
Data Plane CPU (PPC)
Control / Data Plane CPU (PPC)
MP IntC
Interconnect: Processor Local Bus (PLB)
Look
-up
Eng
ine
I/F
Pre-Processor
Speicher-verwaltung
Traffic Manager
Post-Processor
Gb-MAC Gb-MAC
Speicher
I/O Module
Path Control
Path DispatcherSDRAM
Controller
Path Control
Aktueller Status:• Datenformate spezifiziert• Demonstrator angepasst• Tunnel-SW zum Remote-Paketaustausch
über Internet (München-Lübeck)• erster Testlauf in Kürze
Technische Universität München
Michael MeitingerSPP 1148
Zwischenkolloquium
FlexPath NP - 15
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• …
Control Plane CPU
Prozessor Komplex
Data Plane CPU
Data Plane CPU
Rule Base Config.
Data Plane CPU
SystemOptimization
Monitoring
Load Balancing
Data Plane CPU
Interconnect
Look
-up
Eng
ine
I/F
Pre-Processor
Speicher-verwaltung
Traffic Manager
Post-Processor
Gb-MAC Gb-MAC
Speicher
I/O Module
Path Control
Path DispatcherSDRAM
Controller
Path Control
Verteiler/MP IntC
Technische Universität München
Michael MeitingerSPP 1148
Zwischenkolloquium
FlexPath NP - 16
Ausblick: Weitere Load Balancing Strategien
...
Dedizierte CPU
Data Plane CPUs
Path Dispatcher
HW Accel
CPU 1
Paketverteiler
Control PlaneCPU
CPU 2 CPU iCPU i+1
CPU n
LMLM LM LM LM
Pool CPU
AutoRoute
PathManager
... ...
LM Last-Monitor
Path Dispatcher Regeln
Pool-Zuordnung
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
Technische Universität München
Michael MeitingerSPP 1148
Zwischenkolloquium
FlexPath NP - 17
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
Technische Universität München
Michael MeitingerSPP 1148
Zwischenkolloquium
FlexPath NP - 18
Vielen Dank für IhreAufmerksamkeit!
Technische Universität München
Michael MeitingerSPP 1148
Zwischenkolloquium
FlexPath NP - 19
Control Plane CPU
Prozessor Komplex
Data Plane CPU
Data Plane CPU
Rule Base Config.
Data Plane CPU
SystemOptimization
Monitoring
Load Balancing
Data Plane CPU
FlexPath NP - Systemüberblick 2. Förderperiode
• 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
Interconnect
Look
-up
Eng
ine
I/F
Pre-Processor
Speicher-verwaltung
Traffic Manager
Post-Processor
Gb-MAC Gb-MAC
Speicher
I/O Module
Path Control
Path DispatcherSDRAM
Controller
Path Control
Data Plane CPU tor
HWAccelerator
Verteiler/MP IntC