PPT-Xian-26-10-2010

47
KAI ST Dynamic Adaptive Self-Configurable Network Processor SATHEESH ABIMANNAN Assistant Professor Department of Computer Science and Engineering Periyar Maniammai University The 7 th International Conference on Ubiquitous Intelligence and Computing 26-29, October 2010, Xi’an, China

Transcript of PPT-Xian-26-10-2010

Page 1: PPT-Xian-26-10-2010

KAIST

Dynamic Adaptive Self-ConfigurableNetwork Processor

SATHEESH ABIMANNAN

Assistant Professor

Department of Computer Science and Engineering

Periyar Maniammai University

The 7th International Conference on

Ubiquitous Intelligence and Computing

26-29, October 2010, Xi’an, China

Page 2: PPT-Xian-26-10-2010

“Learn, until you get rid of your ignorance and then

having obtained the required knowledge and skills, put them into practice”.

“Kural 391. Learning”

22 / 46 / 46

Page 3: PPT-Xian-26-10-2010

PERIYAR MANIAMMAI UNIVERSITYPERIYAR MANIAMMAI UNIVERSITY

33 / 55 / 55

“Priyar the prophet of New Age, Socrates of South East Asia,

Father of the social Reform Movement, and Arch enemy of

ignorance, superstitions, meaningless customs

and base manners”

UNESCO 27-6-1970

Page 4: PPT-Xian-26-10-2010

44 / 46 / 46A.SATHEESH, Periyar Maniammai University

OVERVIEWOVERVIEW

Introduction

Network processor Architecture

Problem description

Background

Methodology

Result

Conclusion and Future work

References

Page 5: PPT-Xian-26-10-2010

Introduction – Network SystemIntroduction – Network System

55 / 46 / 46Dynamic Adaptive Self-Configurable Network Processor

Page 6: PPT-Xian-26-10-2010

Example : Network SystemsExample : Network Systems

66 / 46 / 46Dynamic Adaptive Self-Configurable Network Processor

Layer 2

Bridge, VLAN switch, DSL modem

Layer 3

IP Router

Layer 4

NAT box, TCP splicer

Layer 5

Firewall, web load balancer, softswitch

Page 7: PPT-Xian-26-10-2010

77 / 46 / 46A. SATHEESH, Periyar Maniammai University, India

Definition: High SpeedDefinition: High Speed

1960 : 10 Kbps

1970 : 1 Mbps

1980 : 10 Mbps

1990 : 100 Mbps

2000 : 1000 Mbps (1 Gbps)

2004 : 2.4 Gbps

2005 : 10 Gbps

2010 : 100 Gbps

Page 8: PPT-Xian-26-10-2010

History of Network Systems

First generation (circa 1990)

Software running on conventional computer

Second generation (circa 1995)

ASIC hardware for packet classification

Switching fabric and less centralization

Third generation (circa 1999)

Completely decentralized architecture

Embedded processor per interface

Distributed routing table

88 / 46 / 46Dynamic Adaptive Self-Configurable Network Processor

Page 9: PPT-Xian-26-10-2010

Problems with Third Generation Problems with Third Generation DesignsDesigns

High cost : $1M per ASIC spin

In-house expertise : ASIC designer needed

Time to market : 18-20 months for silicon

Quality control : difficult to simulate/test

Inflexibility : expensive and time-consuming to change

Little reuse across

Products

Versions

99 / 46 / 46Dynamic Adaptive Self-Configurable Network Processor

Page 10: PPT-Xian-26-10-2010

A Fourth GenerationA Fourth Generation

Introduced in 1999

Goal : combine best features of first generation and third

generation system

Flexibility of programmable processor

High speed of ASICs

Technology called network processors

Second generation appeared in 2003

1010 / / 4646Dynamic Adaptive Self-Configurable Network Processor

Page 11: PPT-Xian-26-10-2010

Definition: Network ProcessorDefinition: Network Processor

Software programmable device designed specifically to

process packet data at wire-speed.

Pattern Matching

Lookup

Data Manipulation

Queue Management

1111 / / 4646Dynamic Adaptive Self-Configurable Network Processor

Page 12: PPT-Xian-26-10-2010

Network Processor DesignNetwork Processor Design

What is known

Must partition packet processing into separate functions

To achieve highest speed, must handle each function with

separate hardware

Still being researched

Which functions to choose

Which hardware building blocks to use

How to interconnect building blocks

Which programming paradigm to use

1212 / / 4646Dynamic Adaptive Self-Configurable Network Processor

Page 13: PPT-Xian-26-10-2010

1313 / / 4646A.SATHEESH, Periyar Maniammai University

OVERVIEWOVERVIEW

Introduction

Network processor Architecture

Problem description

Background

Methodology

Result

Conclusion and Future work

References

Page 14: PPT-Xian-26-10-2010

1414 / / 4646Dynamic Adaptive Self-Configurable Network Processor

Network processor ArchitectureNetwork processor Architecture

Micro-Engines(8)

General Purpose CPU

Multiple memory types

Internal gigabit bus

Programmable Hardware components

Gigabit Ethernet ports

Page 15: PPT-Xian-26-10-2010

1515 / / 4646A.SATHEESH, Periyar Maniammai University

OVERVIEWOVERVIEW

Introduction

Network processor Architecture

Problem description

Background

Methodology

Result

Conclusion and Future work

References

Page 16: PPT-Xian-26-10-2010

Problem descriptionProblem description

Current NP systems do not simultaneously deal well with variety of

services and fluctuating workloads.

Because of the traffic fluctuations inherent in packet networks, the

workload on each pipeline Stage in network processor may vary

significantly over time, thus affecting the performance.

1616 / / 4646Dynamic Adaptive Self-Configurable Network Processor

Page 17: PPT-Xian-26-10-2010

1717 / / 4646Dynamic Adaptive Self-Configurable Network Processor

Problem and SolutionProblem and Solution Design-time allocation

Processors allocated to packet types based on expected maximum load

however, observed load is often lower and fluctuates over time

Runtime processor allocation and adaptation

Wor

k

Time

Statically allocated

Max. instantaneous processors required

Avg. processors used

Page 18: PPT-Xian-26-10-2010

1818 / / 4646Dynamic Adaptive Self-Configurable Network Processor

Proposed workProposed work

The task of self-configuring network processor constitutes both control plane and data plane processing; our work mainly deals with control plane. Here the control plane is used to reconfigure the network processor based on the network traffic.

Further active network concept is used for reconfiguring the system, with the code being deployed using SOAP protocol.

Active networking is a communication paradigm that allows packets flowing through a communication network to dynamically modify the operation of the network.

So in order to reconfigure the Network processor dynamically the binary code will be brought through SOAP packet(Active network concept).

Page 19: PPT-Xian-26-10-2010

1919 / / 4646Dynamic Adaptive Self-Configurable Network Processor

What is Run-Time Adaptation?What is Run-Time Adaptation? Processor allocations can be adapted at fine time scales and if

the total available processing power can be allocated to packet

types in small granularities.

Network Processors are inherently capable of Runtime

Reconfiguration

Lack of Runtime Reconfiguration support in Network Processor Software Support Active Networks Software Updates Load-balancing Reconfiguration of forwarding functions

Page 20: PPT-Xian-26-10-2010

Run-Adaptation: ChallengesRun-Adaptation: Challenges

Monitoring and Predicting Packet Arrivals

When Processor allocation should be adapted?

2020 / / 4646Dynamic Adaptive Self-Configurable Network Processor

Page 21: PPT-Xian-26-10-2010

2121 / / 4646A.SATHEESH, Periyar Maniammai University

OVERVIEWOVERVIEW

Introduction

Network processor Architecture

Problem description

Background

Methodology

Result

Discussion

Conclusion and Future work

References

Page 22: PPT-Xian-26-10-2010

BackgroundBackground

2002 - Tilman Wolf, Department of Computer Science Washington

University

To developed a network processor benchmark, Common Bench mark for NP design.

2003 - I.A. Troxel, et al. HCS Research Lab, University of Florida.

superior performance of enhanced NP over baseline NP for prioritized traffic that is non uniform.

ME pipelines were not reconfigurable.

2222 / / 4646Dynamic Adaptive Self-Configurable Network Processor

Page 23: PPT-Xian-26-10-2010

Background Background (Cont..)(Cont..)

2004 - Ravi kokku, et al. University of Texas at Austin.

benefits and challenges of adapting allocations of processors to packet type in packet processing systems.

allocating processing power to packet types in small granularity is more important—if the allocation granularity is large, then even a very fine adaptation time-scale yields meager benefits.

2004 - Kevin Lee et al. Lancaster University, Lancaster, UK.

- Runtime component based approach to programming NPs.

2005 – Arun Raghunath et al. Intel Research and Development,

Hillsboro, U.S

-

2323 / / 4646Dynamic Adaptive Self-Configurable Network Processor

Page 24: PPT-Xian-26-10-2010

2424 / / 4646A.SATHEESH, Periyar Maniammai University

OVERVIEWOVERVIEW

Introduction

Network processor Architecture

Problem description

Background

Methodology

Result

Conclusion and Future work

References

Page 25: PPT-Xian-26-10-2010

2525 / / 4646Dynamic Adaptive Self-Configurable Network Processor

MethodologyMethodologyThe functions of the Reconfigurable system developed include the following:

Monitoring the network traffic and collecting the monitored values.

Decision-making based on the monitored values

Deciding whether to reconfigure or not . Need for changing current mapping of resources. Presence of under utilized resources. Availability of alternate mapping.

Identify the mapping .

Monitoring for active packet and extracting the binary file from the SOAP packet

X-scale must deploy the code onto the micro-engines (Configure)

Page 26: PPT-Xian-26-10-2010

2626 / / 4646Dynamic Adaptive Self-Configurable Network Processor

Functional Block DiagramFunctional Block Diagram

Decision Making

Monitoring Runtime Environment

Decision Table

Service Table

Service

Resources-ME

X-scale

(Control plane processing)

Micro engine (Data plane processing)

Deploy()Monitor( )

Deploy_status()Monitor_status( )

Packet in and out

N/W

Page 27: PPT-Xian-26-10-2010

2727 / / 4646Dynamic Adaptive Self-Configurable Network Processor

AA

AC B

Traffic Mix

Executable binaries

ME

Monitoring

Run-time system

Decision making

Dynamic Deployment

ME2

ME3

ME4

ME7

ME6

ME5

ME1

ME8

A B

C

Resource Mapping

BB CC

Micro Engine

Page 28: PPT-Xian-26-10-2010

2828 / / 4646Dynamic Adaptive Self-Configurable Network Processor

Monitoring ModuleMonitoring Module

Ingress

Switch Fabric

Micro Engine Egress

X scale Core Processor

Monitoring SRAM for count value

SRAM

Packet In Packet Out

Page 29: PPT-Xian-26-10-2010

2929 / / 4646Dynamic Adaptive Self-Configurable Network Processor

Functions to be performedFunctions to be performed

Count of incoming packets to the ingress .

Count of outgoing packets from the egress.

Maintaining both the counts at a common place for easy access.

Formula for finding arrival and departure rate:

Rate = N /T

Where N = Number of packets (packet count)

T = Time interval in seconds

Page 30: PPT-Xian-26-10-2010

3030 / / 4646Dynamic Adaptive Self-Configurable Network Processor

Decision making moduleDecision making module

Input: Statistics maintained by monitoring.

Output: Whether to use allocation policy or de-allocation policy and using it according to the statistics.

Allocation Rule: If (arrival_rate>minimum_threshold &&

queue_lagging > threshold1)Then deploy(mod);//Deploy Binary code

to overcome moderate trafficIf (arrival_rate>maximum_threshold && queue_lagging > threshold2)

Thendeploy (max);//Deploy Binary code to overcome maximum traffic

Note: The threshold value is fixed based on the network trace taken earlier by monitoring the traffic.

Page 31: PPT-Xian-26-10-2010

3131 / / 4646Dynamic Adaptive Self-Configurable Network Processor

Continue…Continue…

De allocation Rule:

If(arrival_rate<minimum_threshold) Then

{Stop(mod);}

If(arrival_rate<maximum_threshold) Then

{Stop(max);}

Page 32: PPT-Xian-26-10-2010

3232 / / 4646Dynamic Adaptive Self-Configurable Network Processor

Active code Transfer module

The Active code will be transferred to the network processor through the SOAP protocol, which will be get extracted and deployed the micro engine by x-scale core processor.

Page 33: PPT-Xian-26-10-2010

3333 / / 4646Dynamic Adaptive Self-Configurable Network Processor

Design of Active code TransferDesign of Active code Transfer

Micro engine level Design

Ingress Classifier

Active code Handler

Normal packet Handler

Egress

ME0 ME1

ME2

ME3

ME4

Page 34: PPT-Xian-26-10-2010

3434 / / 4646Dynamic Adaptive Self-Configurable Network Processor

Working ModelWorking Model

Minimal service provided, when there is no traffic i.e., Before configuration

Mapping I: Min_service_upon_less_traffic

Note: Processing consist of classifier, service registration, Connection close, Load factor updation, Connection request, service request, server avail check.

Ingress EgressALS instance1

ME0 ME1 ME2

PKT_RX_TO_CLASSIFIER_SCR_RING EGRESS RING

Page 35: PPT-Xian-26-10-2010

3535 / / 4646Dynamic Adaptive Self-Configurable Network Processor

Mapping II:Mapping II: Mapping II: Min_service_upon_moderate_traffic

When there is traffic, resources can be configured as follows:

-Replication of same instance

After Configuration:

Ingress EgressALS instance1

ME0 ME1 ME2

ALS instance 2

PKT_RX_TO_CLASSIFIER_SCR_RING

EGRESS RING

ME3

Page 36: PPT-Xian-26-10-2010

3636 / / 4646Dynamic Adaptive Self-Configurable Network Processor

Mapping III:Mapping III: Mapping III:- Max_service_upon_Heavy_traffic

Note: P1 does the table updation work such as load updation, Service registration, connection close. P2 does read operation from the table such as server avail check, handling connection request, service request.

ME5

EgressALS Instance 1

ME0ME1 ME2

Classifier

P1

P3

ME3

ME6

P2

PKT_RX_TO_CLASSIFIER_SCR_RING Egress ring

Ingress

ME4

Page 37: PPT-Xian-26-10-2010

3737 / / 4646A.SATHEESH, Periyar Maniammai University

OVERVIEWOVERVIEW

Introduction

Network processor Architecture

Problem description

Background

Methodology

Result

Conclusion and Future work

References

Page 38: PPT-Xian-26-10-2010

3838 / / 4646Dynamic Adaptive Self-Configurable Network Processor

ResultResult

Traffic from outside Network:

The Traffic trace taken from the network are classified into low (250 pkts/ sec), moderate (450 pkts/sec) and high (950 pkts/sec) and the traffic mixture taken are low, moderate and high.

Packet from outside Network

0100200

300400500600700

800900

1000

0 20 40 60

Time in Sec

Wo

rk lo

ad(N

o o

f p

kts/

sec)

Arrival Rate

Page 39: PPT-Xian-26-10-2010

3939 / / 4646Dynamic Adaptive Self-Configurable Network Processor

NP without Dynamic NP without Dynamic ReconfigurationReconfiguration

Mapping I:

Mapping I

0

50

100

150

200

250

300

0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30

Time(Sec)

Wo

rklo

ad(N

o o

f p

kts/

sec)

Arrival Rate Queue Length

Page 40: PPT-Xian-26-10-2010

4040 / / 4646Dynamic Adaptive Self-Configurable Network Processor

NP without Dynamic NP without Dynamic ReconfigurationReconfiguration

Mapping II

Mapping II

0

100

200

300

400

500

600

0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30

Time(Sec)

Wo

rklo

ad(N

o o

f p

kts/

sec)

Arrival Rate Queue Length

Page 41: PPT-Xian-26-10-2010

4141 / / 4646Dynamic Adaptive Self-Configurable Network Processor

NP without Dynamic NP without Dynamic ReconfigurationReconfiguration

Mapping III

Mapping III

0

100

200

300

400

500

600

0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30

Time(Sec)

Wo

rklo

ad(N

o o

f p

kts/

sec)

Arrival Rate Queue Length

Page 42: PPT-Xian-26-10-2010

4242 / / 4646Dynamic Adaptive Self-Configurable Network Processor

NP with Dynamic ReconfigurationNP with Dynamic Reconfiguration

Dynamic Deployement

0

100

200

300

400

500

600

0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30

Time(Sec)

Wo

rklo

ad(N

o o

f p

kts/

sec)

Arrival Rate Queue Length

Dynamic Deployment

Page 43: PPT-Xian-26-10-2010

4343 / / 4646A.SATHEESH, Periyar Maniammai University

OVERVIEWOVERVIEW

Introduction

Network processor Architecture

Problem description

Background

Methodology

Result

Conclusion

References

Page 44: PPT-Xian-26-10-2010

ConclusionConclusion

Run-time adaptation can reduce energy consumption by 70-80%

Processor provisioning level by 40-50%.

4444 / / 4646Dynamic Adaptive Self-Configurable Network Processor

Page 45: PPT-Xian-26-10-2010

4545 / / 4646Dynamic Adaptive Self-Configurable Network Processor

References – 1/2References – 1/2

1. Kevin Lee, Geoffrey Coulson “ Supporting Runtime Reconfiguration on Network Processors ”, Proceedings of the 20th International IEEE Conference on Advanced Information Networking and Applications (AINA’06) Volume 1, 18-20 April 2006 Page(s):721 – 726, 2006.

2. I.A. Troxel, A.D. George, and S. Oral “ Design and Analysis of a Dynamically Reconfigurable Network Processor” FL Proceedings of the 27th Annual IEEE Conference on Local Computer Networks (LCN.02) Page(s):483 – 492, Nov.2002

3. Ravi Kokku, Upendra Shevade, Nishit Shah, Harrick M. Vin, Mike Dahlin “Adaptive Processor Allocation in Packet Processing Systems” University of Texas at Austin Technical Report # TR04-04.

4. Vinod Balakrishnan, Ravi Kokku, Aaron Kunze, Harrick Vin, Erik J. Johnson “Supporting Run-Time Adaptation in Packet Processing System” Intel Research and Development University of Texas at Austin 2004, Technical Report

Page 46: PPT-Xian-26-10-2010

4646 / / 4646Dynamic Adaptive Self-Configurable Network Processor

References – 2/2References – 2/2

5. Arun Raghunath, Aaron Kunze, Erik J. Johnson, Vinod Balakrishnan “Framework For Supporting Multi-Service Edge Packet Processing On Network Processors” ANCS’05, October 26–28, 2005, Princeton, New Jersey, USA.

6. Ravi Kokku, Taylor L. Rich´e, Aaron Kunze , Jayaram Mudigonda , Jamie Jason , Harrick M. Vin “A Case for Run-time Adaptation in Packet Processing Systems” ACM SIGCOMM Computer Communications Review , Volume 34, Number 1: January 2004

7. Kevin Lee, Geoff Coulson, Gordon Blair, Ackbar Joolia, Jo Ueyama “Towards a Generic Programming Model for Network Processors” In Proc IEEE International Conference on Networks (ICON04),

Singapore, Nov 2004

Page 47: PPT-Xian-26-10-2010

4747 / / 4646Dynamic Adaptive Self-Configurable Network Processor

Q & A