technische universität münchen prof. dr. andreas herkersdorf arcisstraße 21 80290 münchen ...

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

Upload: helmut-schiller

Post on 05-Apr-2015

111 views

Category:

Documents


2 download

TRANSCRIPT

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