4/22/2003 network processor & its applications1 network processor and applications prof. laxmi...

32
4/22/2003 Network Processor & Its A pplications 1 Network Processor and Applications Prof. Laxmi Bhuyan [email protected]

Post on 20-Dec-2015

237 views

Category:

Documents


0 download

TRANSCRIPT

4/22/2003 Network Processor & Its Applications

1

Network Processor and Applications

Prof. Laxmi Bhuyan [email protected]

4/22/2003 Network Processor & Its Applications 2

Network Architecture and Applications

Introduction to networking Network applications

IPv4 routing, classification etc. (Traditioonal)

URL-based switching,transcoding, etc. (New)

Network Processor Architectures Intel IXP

4/22/2003 Network Processor & Its Applications 3

Why Network Processors

Current Situation Data rates are increasing Protocols are becoming more dynamic and

sophisticated Protocols are being introduced more rapidly

Processing Elements GP(General-purpose Processor)

Programmable, Not optimized for networking applications ASIC(Application Specific Integrated Circuit)

high processing capacity, long time to develop, Lack the flexibility

NP(Network Processor) achieve high processing performance programming flexibility Cheaper than GP

4/22/2003 Network Processor & Its Applications 4

What the Internet Needs?

Increasing Huge Amount of Packets

&Routing,

Packet Classification, Encryption, QoS, New Applications

and Protocols, etc…..

General Purpose RISC (not capable enough)

ASIC(large,

expensive to develop, not flexible)

•High processing power•Support wire speed•Programmable•Scalable•Specially for network applications• …

4/22/2003 Network Processor & Its Applications 5

OSI Network Architecture

DATA

Application

Pre.

Session

Transport

Network

Data Link

Physical

7

6

5

4

3

2

1

DATAAH

DATAPH

DATASH

DATATH

DATANH

DATADH

DATAPH

Application

Pre.

Session

Transport

Network

Data Link

Physical

7

6

5

4

3

2

1

Network

Network

AB

Source: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik

4/22/2003 Network Processor & Its Applications 6

TCP/IP Model

ISO OSI (Open Systems Interconnection) not fully implemented Presentation and Session layers not present in TCP/IP

Application

Pre.

Session

Transport

Network

Data Link

Physical

7

6

5

4

3

2

1

Application

TCP

IP

Host-to-Net

OSI TCP/IP

Source: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik

4/22/2003 Network Processor & Its Applications 7

TCP/IP packet

APP. DATATCPIPMAC MAC

Source Port Destination Port

Sequence Number

Acknowledgement Number

Header Length and Options Window Size

Checksum Urgent Pointer

Options (0 or more 32-bit words)

Source: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik

4/22/2003 Network Processor & Its Applications 8

TCP/IP packet

APP. DATATCPIPMAC MAC

Ver. Total Length

Identification

Time to Live

Source Address

IHL Service Type

Options and Fragment Offset

Protocol Header Checksum

Options (0 or more 32-bit words)

Destination Address

Source: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik

4/22/2003 Network Processor & Its Applications 9

TCP/IP packet

APP. DATATCPIPMAC MAC

Preamble D. Add. S. Add. CRCLeng.

Source: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik

4/22/2003 Network Processor & Its Applications 10

Application Categorization

Control-Plane tasks Less time-critical Control and management of device

operation Table maintenance, port states, etc.

Data-Plane tasks Operations occurring real-time on

“packet path” Core device operations

Receive, process and transmit packetsSource: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik

4/22/2003 Network Processor & Its Applications 11

Processing TasksPolicy Applications

Network Management

Signaling

Topology Management

Queuing / Scheduling

Data Transformation

Classification

Data Parsing

Media Access Control

Physical Layer

DataPlane

ControlPlane

Source: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik

4/22/2003 Network Processor & Its Applications 12

Data Plane Tasks Media Access Control

Low-level protocol implementation Ethernet, SONET framing, ATM cell processing, etc.

Data Parsing Parsing cell or packet headers for address or protocol

information Classification

Identify packet against a criteria (filtering / forwarding decision, QoS, accounting, etc.)

Data Transformation Transformation of packet data between protocols

Traffic Management Queuing, scheduling and policing packet data

Source: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik

4/22/2003 Network Processor & Its Applications 13

Other Network Processor Applications

Routing table lookup Determine the next hop for incoming packets

Packet Classification classify packets using header fields against a

set of rules URL-based Switching

Distribute HTTP requests based on URLs. Transcoding

Encryption/Decryption, intrusion detection, firewall, access control checking, denial-of-service

4/22/2003 Network Processor & Its Applications 14

IPv4 Routing

Routers determine next hop and forward packets

RouterA

B

C

PP P

4/22/2003 Network Processor & Its Applications 15

Packet Classification Routers are required to distinguish packets for

Flow identification Fair sharing of bandwidth QoS Security Accounting, billing etc

Packets are classified by rules Src IP, Dest IP, src port #, dest port # etc

Classification Algorithm Metrics Search speed Storage cost Scalability Updates Etc.

4/22/2003 Network Processor & Its Applications 16

URL-based switching

Increase efficiency Tasks

Traverse the packet data (request) for each arriving packet and classify it:

Contains ‘.jpg’ -> to image server Contains ‘cgi-bin/’ -> to application server

Switch

Image Server

Application Server

HTML Server

www.yahoo.comInternet

GET /cgi-bin/form HTTP/1.1 Host: www.yahoo.com…

APP. DATATCPIP

Source: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik

4/22/2003 Network Processor & Its Applications 17

Transcoders Two important requirements

If the receiver is not capable of interpreting the stored data (multimedia transcoders)

wireless receivers, hand-held devices, etc. Compression for bandwidth and storage efficiency

Internet

Transcoder

Video-on-demand serverMpeg encoder

Corporate Network

Media Player

Source: Network Processor Tutorial in Micro 34 - Mangione-Smith & Memik

4/22/2003 Network Processor & Its Applications 18

4/22/2003 Network Processor & Its Applications 19

The Operating System Hurdle

Problems with Application level Processing

Vertical Processing in network – A change in paradigm!

Overhead to copy data between two connections

Data goes up through O/S interrupt and protocol stack

Data is copied from kernel space to user space and vice versa

Oh, the PCI Bottleneck! It takes a 1 GHz CPU to

handle a 1 Gb network. Now at 10Gb, but don’t have a 10 GHz CPU!

Application level Processing

4/22/2003 Network Processor & Its Applications 20

Design Options

Option (a): Linux-based switch Overhead of moving data across PCI bus Interrupt or polling still needed

Option (b): Put a control processor (CP) in the interface to setup connections, and execute complicated applications. Data Procesors (DPs) process packets for forwarding, classification and simple processing

But, the CP may have its own protocol stack – Ex. embedded Linux!

Option (c): DPs handle connection setup, splicing & forwarding – But large Code Size is a huge problem due to limited instruction memory size of the DPs!

4/22/2003 Network Processor & Its Applications 21

Typical NP Architecture

SDRAM(Packet buffer)

SRAM(Routing table)

multi-threaded processing elements

Co-processor

Input ports Output ports

Network Processor

Bus Bus

4/22/2003 Network Processor & Its Applications 22

Organizing Processor Resources

Design decisions: High-level organization ISA and micro architecture Memory and I/O integration

Today’s commercial NPs: Chip multiprocessors Most are multithreaded Exploit little ILP (Cisco does) No cache Micro-programmed

4/22/2003 Network Processor & Its Applications 23

Example Toaster System: Cisco 10000

Almost all data plane operations execute on the programmable XMC Pipeline stages are assigned tasks – e.g. classification, routing,

firewall, MPLS Classic SW load balancing problem

External SDRAM shared by common pipe stages

4/22/2003 Network Processor & Its Applications 24

IBM PowerNP

16 pico-procesors and 1 powerPC

Each pico-processor Support 2 hardware

threads 3 stage pipeline :

fetch/decode/execute Dyadic Processing Unit

Two pico-processors 2KB Shared memory Tree search engine

Focus is layers 2-4 PowerPC 405 for control

plane operations 16K I and D caches

Target is OC-48

4/22/2003 Network Processor & Its Applications 25

C-Port C-5 Chip Architecture

text

text

Q ueueM ngt U n it

FabricP rocessor

Tab leLookup

U nit

B uffe r M ngtU nit

E xecutiveP rocessor

C P -0

P H Y

C P -1

P H Y

C P -2

P H Y

C P -3

P H Y

C luster

textC P -12

P H Y

C P -13

P H Y

C P -14

P H Y

C P -15

P H Y

C luster

60G bps B usses

S R A MS R A M S R A MS witchFabric

PR

OM

PC

I

CO

NT

RO

L

4/22/2003 Network Processor & Its Applications 26

Some Challenges

Intelligent Design Given a selection of programs, a target network link

speed, the ‘best’ design for the processor Least area Least power Most performance

Write efficient multithreaded programs NPs have

Heterogeneous computer resources Non-uniform memory Multiple interacting threads of execution Real-time constraints

Make use of resources How to use special instructions and hardware assists

Compilers Hand-coded

Multithreaded programs Manage access to shared state Synchronization between threads

4/22/2003 Network Processor & Its Applications 27

IXP1200 Block Diagram

StrongARM processing core

Microengines introduce new ISA

I/O PCI SDRAM SRAM IX : PCI-like

packet bus On chip FIFOs

16 entry 64B each

4/22/2003 Network Processor & Its Applications 28

IXP1200 Microengine

4 hardware contexts Single issue processor Explicit optional context switch

on SRAM access Registers

All are single ported Separate GPR 256*6 = 1536 registers total

32-bit ALU Can access GPR or XFER

registers Shared hash unit

1/2/3 values – 48b/64b For IP routing hashing

Standard 5 stage pipeline 4KB SRAM instruction store –

not a cache! Barrel shifter

Ref: [NPT]

4/22/2003 Network Processor & Its Applications 29

IXP 2400 Block Diagram

XScale core replaces StrongARM

Microengines Faster More: 2 clusters

of 4 microengines each

Local memory Next neighbor

routes added between microengines

Hardware to accelerate CRC operations and Random number generation

16 entry CAM

ME0 ME1

ME2ME3

ME4 ME5

ME6ME7

Scratch/Hash/CSR

MSF Unit

DDR DRAM controller

XScaleCore

QDR SRAM controller

PCI

4/22/2003 Network Processor & Its Applications 30

Different Types of Memory

Type Width(byte)

Size (bytes)

Approx unloaded latency (cycles)

Notes

Local 4 2560 1 Indexed addressing post incr/decr

On-chip Scratch

4 16K 60 Atomic ops

SRAM 4 256M 150 Atomic ops

DRAM 8 2G 300 Direct path to/fro MSF

Ref: [NPRD]

4/22/2003 Network Processor & Its Applications 31

IXA Software FrameworkControl Plane Protocol Stack

Control Plane PDK

Core Components

Core Component Library

Resource Manager Library

Microblock Library

Protocol Library

Hardware Abstraction Library

Microblock

Microblock

Microblock

Utility Library

XScaleCore

MicroenginePipeline Microengine

C Language

C/C++ Language

ExternalProcessors

4/22/2003 Network Processor & Its Applications 32

Summary NP is developing very fast and is a

hot research area Multithreaded NP Architectures

provide tremendous packet processing capability

NP can be applied in various network layers and applications Traditional apps – forwarding,

classification Advanced apps – transcoding, URL-based

switching, security etc. New apps