19
Technische Universität München Prof. Dr. Andreas Herkersdorf Arcisstraße 21 80290 München http://www.lis.ei.tum.de FlexPath Netzwerkprozessor Michael Meitinger Rainer Ohlendorf Thomas Wild Andreas Herkersdorf

Technische Universität München Prof. Dr. Andreas Herkersdorf Arcisstraße 21 80290 München FlexPath Netzwerkprozessor Michael Meitinger

Embed Size (px)

Citation preview

Page 1: Technische Universität München Prof. Dr. Andreas Herkersdorf Arcisstraße 21 80290 München  FlexPath Netzwerkprozessor Michael Meitinger

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

Page 2: Technische Universität München Prof. Dr. Andreas Herkersdorf Arcisstraße 21 80290 München  FlexPath Netzwerkprozessor Michael Meitinger

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

Page 3: Technische Universität München Prof. Dr. Andreas Herkersdorf Arcisstraße 21 80290 München  FlexPath Netzwerkprozessor Michael Meitinger

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

Page 4: Technische Universität München Prof. Dr. Andreas Herkersdorf Arcisstraße 21 80290 München  FlexPath Netzwerkprozessor Michael Meitinger

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)

Page 5: Technische Universität München Prof. Dr. Andreas Herkersdorf Arcisstraße 21 80290 München  FlexPath Netzwerkprozessor Michael Meitinger

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

Page 6: Technische Universität München Prof. Dr. Andreas Herkersdorf Arcisstraße 21 80290 München  FlexPath Netzwerkprozessor Michael Meitinger

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

Page 7: Technische Universität München Prof. Dr. Andreas Herkersdorf Arcisstraße 21 80290 München  FlexPath Netzwerkprozessor Michael Meitinger

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)

Page 8: Technische Universität München Prof. Dr. Andreas Herkersdorf Arcisstraße 21 80290 München  FlexPath Netzwerkprozessor Michael Meitinger

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

Page 9: Technische Universität München Prof. Dr. Andreas Herkersdorf Arcisstraße 21 80290 München  FlexPath Netzwerkprozessor Michael Meitinger

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

Page 10: Technische Universität München Prof. Dr. Andreas Herkersdorf Arcisstraße 21 80290 München  FlexPath Netzwerkprozessor Michael Meitinger

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

Page 11: Technische Universität München Prof. Dr. Andreas Herkersdorf Arcisstraße 21 80290 München  FlexPath Netzwerkprozessor Michael Meitinger

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

Page 12: Technische Universität München Prof. Dr. Andreas Herkersdorf Arcisstraße 21 80290 München  FlexPath Netzwerkprozessor Michael Meitinger

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

Page 13: Technische Universität München Prof. Dr. Andreas Herkersdorf Arcisstraße 21 80290 München  FlexPath Netzwerkprozessor Michael Meitinger

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)

Page 14: Technische Universität München Prof. Dr. Andreas Herkersdorf Arcisstraße 21 80290 München  FlexPath Netzwerkprozessor Michael Meitinger

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

Page 15: Technische Universität München Prof. Dr. Andreas Herkersdorf Arcisstraße 21 80290 München  FlexPath Netzwerkprozessor Michael Meitinger

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

Page 16: Technische Universität München Prof. Dr. Andreas Herkersdorf Arcisstraße 21 80290 München  FlexPath Netzwerkprozessor Michael Meitinger

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

Page 17: Technische Universität München Prof. Dr. Andreas Herkersdorf Arcisstraße 21 80290 München  FlexPath Netzwerkprozessor Michael Meitinger

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

Page 18: Technische Universität München Prof. Dr. Andreas Herkersdorf Arcisstraße 21 80290 München  FlexPath Netzwerkprozessor Michael Meitinger

Technische Universität München

Michael MeitingerSPP 1148

Zwischenkolloquium

FlexPath NP - 18

Vielen Dank für IhreAufmerksamkeit!

Page 19: Technische Universität München Prof. Dr. Andreas Herkersdorf Arcisstraße 21 80290 München  FlexPath Netzwerkprozessor Michael Meitinger

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