+ All Categories
Home > Documents > Network Processor and Its Applicationsfaculty.uml.edu/yluo/Teaching/AdvCompArch/NP.pdfNetwork...

Network Processor and Its Applicationsfaculty.uml.edu/yluo/Teaching/AdvCompArch/NP.pdfNetwork...

Date post: 16-Mar-2020
Category:
Upload: others
View: 15 times
Download: 0 times
Share this document with a friend
29
4/22/2003 Network Processor & Its Applications 1 Network Processor and Its Applications Prof. Yan Luo
Transcript
Page 1: Network Processor and Its Applicationsfaculty.uml.edu/yluo/Teaching/AdvCompArch/NP.pdfNetwork Processor & Its Applications 12 Other Network Processor Applications Routing table lookup

4/22/2003Network Processor & Its

Applications 1

Network Processor and Its Applications

Prof. Yan Luo

Page 2: Network Processor and Its Applicationsfaculty.uml.edu/yluo/Teaching/AdvCompArch/NP.pdfNetwork Processor & Its Applications 12 Other Network Processor Applications Routing table lookup

Network Processor & Its Applications 2

Network Processor Architecture andApplications

Introduction to networking

Network applicationsIPv4 routing, classification etc. (Traditional)

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

Network Processor ArchitecturesCisco Toaster

IBM(Hifn) PowerNP

Intel IXP

Page 3: Network Processor and Its Applicationsfaculty.uml.edu/yluo/Teaching/AdvCompArch/NP.pdfNetwork Processor & Its Applications 12 Other Network Processor Applications Routing table lookup

Network Processor & Its Applications 3

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 processingpower•Support wire speed•Programmable•Scalable•Specially for networkapplications• …

Page 4: Network Processor and Its Applicationsfaculty.uml.edu/yluo/Teaching/AdvCompArch/NP.pdfNetwork Processor & Its Applications 12 Other Network Processor Applications Routing table lookup

Network Processor & Its Applications 4

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

NetworkNetwork AB

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

Page 5: Network Processor and Its Applicationsfaculty.uml.edu/yluo/Teaching/AdvCompArch/NP.pdfNetwork Processor & Its Applications 12 Other Network Processor Applications Routing table lookup

Network Processor & Its Applications 5

TCP/IP Model

ISO OSI (Open Systems Interconnection) not fullyimplemented

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

Page 6: Network Processor and Its Applicationsfaculty.uml.edu/yluo/Teaching/AdvCompArch/NP.pdfNetwork Processor & Its Applications 12 Other Network Processor Applications Routing table lookup

Network Processor & Its Applications 6

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

Page 7: Network Processor and Its Applicationsfaculty.uml.edu/yluo/Teaching/AdvCompArch/NP.pdfNetwork Processor & Its Applications 12 Other Network Processor Applications Routing table lookup

Network Processor & Its Applications 7

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

Page 8: Network Processor and Its Applicationsfaculty.uml.edu/yluo/Teaching/AdvCompArch/NP.pdfNetwork Processor & Its Applications 12 Other Network Processor Applications Routing table lookup

Network Processor & Its Applications 8

TCP/IP packet

APP. DATATCPIPMAC MAC

Preamble D. Add. S. Add. CRCLeng.

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

Page 9: Network Processor and Its Applicationsfaculty.uml.edu/yluo/Teaching/AdvCompArch/NP.pdfNetwork Processor & Its Applications 12 Other Network Processor Applications Routing table lookup

Network Processor & Its Applications 9

Application Categorization

Control-Plane tasksLess time-critical

Control and management of deviceoperation

Table maintenance, port states, etc.

Data-Plane tasksOperations occurring real-time on “packetpath”

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

Page 10: Network Processor and Its Applicationsfaculty.uml.edu/yluo/Teaching/AdvCompArch/NP.pdfNetwork Processor & Its Applications 12 Other Network Processor Applications Routing table lookup

Network Processor & Its Applications 10

Processing Tasks

Policy 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

Page 11: Network Processor and Its Applicationsfaculty.uml.edu/yluo/Teaching/AdvCompArch/NP.pdfNetwork Processor & Its Applications 12 Other Network Processor Applications Routing table lookup

Network Processor & Its Applications 11

Data Plane TasksMedia Access Control

Low-level protocol implementation

Ethernet, SONET framing, ATM cell processing, etc.

Data ParsingParsing cell or packet headers for address or protocolinformation

ClassificationIdentify packet against a criteria (filtering / forwardingdecision, QoS, accounting, etc.)

Data TransformationTransformation of packet data between protocols

Traffic ManagementQueuing, scheduling and policing packet data

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

Page 12: Network Processor and Its Applicationsfaculty.uml.edu/yluo/Teaching/AdvCompArch/NP.pdfNetwork Processor & Its Applications 12 Other Network Processor Applications Routing table lookup

Network Processor & Its Applications 12

Other Network Processor Applications

Routing table lookup

Determine the next hop for incoming packets

Packet Classification

classify packets using header fields against a set ofrules

URL-based Switching

Distribute HTTP requests based on URLs.

Transcoding

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

Page 13: Network Processor and Its Applicationsfaculty.uml.edu/yluo/Teaching/AdvCompArch/NP.pdfNetwork Processor & Its Applications 12 Other Network Processor Applications Routing table lookup

Network Processor & Its Applications 13

IPv4 Routing

Routers determine next hop and forward packets

RouterA

B

C

PP P

Page 14: Network Processor and Its Applicationsfaculty.uml.edu/yluo/Teaching/AdvCompArch/NP.pdfNetwork Processor & Its Applications 12 Other Network Processor Applications Routing table lookup

Network Processor & Its Applications 14

Packet Classification

Routers are required to distinguish packets forFlow identification

Fair sharing of bandwidth

QoS

Security

Accounting, billing

etc

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

Classification Algorithm MetricsSearch speed

Storage cost

Scalability

Updates

Etc.

Page 15: Network Processor and Its Applicationsfaculty.uml.edu/yluo/Teaching/AdvCompArch/NP.pdfNetwork Processor & Its Applications 12 Other Network Processor Applications Routing table lookup

Network Processor & Its Applications 15

URL-based switching

Increase efficiency

TasksTraverse the packet data (request) for each arriving packetand classify it:

Contains ‘.jpg’ -> to image server

Contains ‘cgi-bin/’ -> to application server

Switch

Image Server

Application Server

HTML Server

www.yahoo.com

Internet

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

APP. DATATCPIP

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

Page 16: Network Processor and Its Applicationsfaculty.uml.edu/yluo/Teaching/AdvCompArch/NP.pdfNetwork Processor & Its Applications 12 Other Network Processor Applications Routing table lookup

Network Processor & Its Applications 16

Transcoders

Two important requirements

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

wireless receivers, hand-held devices, etc.

Compression for bandwidth and storage efficiency

Internet

Transcoder

Video-on-demand serverMpeg encoder

CorporateNetwork

Media Player

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

Page 17: Network Processor and Its Applicationsfaculty.uml.edu/yluo/Teaching/AdvCompArch/NP.pdfNetwork Processor & Its Applications 12 Other Network Processor Applications Routing table lookup

Network Processor & Its Applications 17

Typical NP Architecture

SDRAM(Packet buffer)

SRAM(Routing table)

multi-threaded processing elements

Co-processor

Input ports Output ports

Network Processor

Bus Bus

Page 18: Network Processor and Its Applicationsfaculty.uml.edu/yluo/Teaching/AdvCompArch/NP.pdfNetwork Processor & Its Applications 12 Other Network Processor Applications Routing table lookup

Network Processor & Its Applications 18

Why Network Processors

Current SituationData rates are increasing

Protocols are becoming more dynamic andsophisticated

Protocols are being introduced more rapidly

Processing ElementsGP(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

Page 19: Network Processor and Its Applicationsfaculty.uml.edu/yluo/Teaching/AdvCompArch/NP.pdfNetwork Processor & Its Applications 12 Other Network Processor Applications Routing table lookup

Network Processor & Its Applications 19

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

Page 20: Network Processor and Its Applicationsfaculty.uml.edu/yluo/Teaching/AdvCompArch/NP.pdfNetwork Processor & Its Applications 12 Other Network Processor Applications Routing table lookup

Network Processor & Its Applications 20

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, MPLSClassic SW load balancing problem

External SDRAM shared by common pipe stages

Page 21: Network Processor and Its Applicationsfaculty.uml.edu/yluo/Teaching/AdvCompArch/NP.pdfNetwork Processor & Its Applications 12 Other Network Processor Applications Routing table lookup

Network Processor & Its Applications 21

IBM PowerNP

16 pico-procesors and 1powerPCEach pico-processor

Support 2 hardwarethreads3 stage pipeline :fetch/decode/execute

Dyadic Processing UnitTwo pico-processors2KB Shared memoryTree search engine

Focus is layers 2-4PowerPC 405 for controlplane operations

16K I and D caches

Target is OC-48

Page 22: Network Processor and Its Applicationsfaculty.uml.edu/yluo/Teaching/AdvCompArch/NP.pdfNetwork Processor & Its Applications 12 Other Network Processor Applications Routing table lookup

Network Processor & Its Applications 22

C-Port C-5 Chip Architecture

text

text

Queue

Mngt Unit

Fabric

Processor

Table

Lookup

Unit

Buffer Mngt

Unit

Executive

Processor

CP-0

PHY

CP-1

PHY

CP-2

PHY

CP-3

PHY

Cluster

textCP-

12

PHY

CP-

13

PHY

CP-

14

PHY

CP-

15

PHY

Cluster

60Gbps Busses

SRAMSRAM SRAMSwitch

Fabric

PR

OM

PC

I

CO

NT

RO

L

Page 23: Network Processor and Its Applicationsfaculty.uml.edu/yluo/Teaching/AdvCompArch/NP.pdfNetwork Processor & Its Applications 12 Other Network Processor Applications Routing table lookup

Network Processor & Its Applications 23

Some Challenges

Intelligent DesignGiven 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 haveHeterogeneous computer resourcesNon-uniform memoryMultiple interacting threads of executionReal-time constraints

Make use of resourcesHow to use special instructions and hardware assists

CompilersHand-coded

Multithreaded programsManage access to shared stateSynchronization between threads

Page 24: Network Processor and Its Applicationsfaculty.uml.edu/yluo/Teaching/AdvCompArch/NP.pdfNetwork Processor & Its Applications 12 Other Network Processor Applications Routing table lookup

Network Processor & Its Applications 24

IXP1200 Block Diagram

StrongARMprocessing core

Microenginesintroduce new ISA

I/OPCI

SDRAM

SRAM

IX : PCI-like packetbus

On chip FIFOs16 entry 64B each

Page 25: Network Processor and Its Applicationsfaculty.uml.edu/yluo/Teaching/AdvCompArch/NP.pdfNetwork Processor & Its Applications 12 Other Network Processor Applications Routing table lookup

Network Processor & Its Applications 25

IXP1200 Microengine

4 hardware contextsSingle issue processor

Explicit optional context switchon SRAM access

RegistersAll are single ported

Separate GPR

256*6 = 1536 registers total

32-bit ALUCan access GPR or XFERregisters

Shared hash unit1/2/3 values – 48b/64b

For IP routing hashing

Standard 5 stage pipeline

4KB SRAM instruction store –not a cache!

Barrel shifter

Page 26: Network Processor and Its Applicationsfaculty.uml.edu/yluo/Teaching/AdvCompArch/NP.pdfNetwork Processor & Its Applications 12 Other Network Processor Applications Routing table lookup

Network Processor & Its Applications 26

IXP 2400 Block Diagram

XScale core replacesStrongARMMicroengines

FasterMore: 2 clusters of 4microengines each

Local memoryNext neighbor routesadded betweenmicroenginesHardware toaccelerate CRCoperations andRandom numbergeneration16 entry CAM

ME0 ME1

ME2ME3

ME4 ME5

ME6ME7

Scratch/Hash/CSR

MSF Unit

DDR DRAM controller

XScaleCore

QDR SRAM controller

PCI

Page 27: Network Processor and Its Applicationsfaculty.uml.edu/yluo/Teaching/AdvCompArch/NP.pdfNetwork Processor & Its Applications 12 Other Network Processor Applications Routing table lookup

Network Processor & Its Applications 27

Different Types of Memory

Direct path to/fro MSF3002G8DRAM

Atomic ops150256M4SRAM

Atomic ops6016K4On-chipScratch

Indexed addressing postincr/decr

125604Local

NotesApproxunloadedlatency(cycles)

Size

(bytes)

Width

(byte)

Type

Ref: [NPRD]

Page 28: Network Processor and Its Applicationsfaculty.uml.edu/yluo/Teaching/AdvCompArch/NP.pdfNetwork Processor & Its Applications 12 Other Network Processor Applications Routing table lookup

Network Processor & Its Applications 28

IXA Software Framework

Control 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

Page 29: Network Processor and Its Applicationsfaculty.uml.edu/yluo/Teaching/AdvCompArch/NP.pdfNetwork Processor & Its Applications 12 Other Network Processor Applications Routing table lookup

Network Processor & Its Applications 29

Summary

NP is developing very fast and is a hotresearch area

Multithreaded NP Architectures providetremendous packet processing capability

NP can be applied in various networklayers and applications

Traditional apps – forwarding, classification

Advanced apps – transcoding, URL-basedswitching, security etc.

New apps


Recommended