csc457 seminar yongkang zhu december 6 th, 2001 about network processor

19
CSC457 Seminar YongKang Zhu December 6 th , 2001 About Network Processor

Upload: camron-cook

Post on 17-Dec-2015

215 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: CSC457 Seminar YongKang Zhu December 6 th, 2001 About Network Processor

CSC457 Seminar

YongKang Zhu

December 6th, 2001

About Network Processor

Page 2: CSC457 Seminar YongKang Zhu December 6 th, 2001 About Network Processor

Outline

1. What is a NP, why we need it and its features

2. Benchmarks for NP evaluation

3. Several issues on NP design

(a). Processing unit architecture

(b). Handling I/O events

(c). Memory (buffer) organization and management

Page 3: CSC457 Seminar YongKang Zhu December 6 th, 2001 About Network Processor

What is a network processor?

A network processor is a highly programmable

processor, which is suitable for performing

intelligent and flexible packet processing and traffic

management functions at line speed in various

networking devices, such as routers and switches,

etc.

Page 4: CSC457 Seminar YongKang Zhu December 6 th, 2001 About Network Processor

A typical router architecture

Page 5: CSC457 Seminar YongKang Zhu December 6 th, 2001 About Network Processor

Why NP and their features?

Fast growth in transmission technology

Advanced packet processing functions

Traditional methods: using ASIC or off-the-shelf CPU

Performance

Programmability, flexibility

Design and implementation complexity

Value proposition

Page 6: CSC457 Seminar YongKang Zhu December 6 th, 2001 About Network Processor

Benchmarks for NP evaluation

Major metrics include: Throughput: bps, pps, connections per second,

transactions per second

Latency: time for a packet passing through NP

Jitter: variation in latency

Loss Rate: ratio of lost packets

Page 7: CSC457 Seminar YongKang Zhu December 6 th, 2001 About Network Processor

Commbench - by Mark Franklin

1. Two categories of typical applications: Header processing applications: RTR, FRAG, DRR, TCP Payload processing applications: CAST, REED, ZIP, JPEG

2. Selecting appropriate input mix to represent different workload and traffic pattern

3. Design implications (computational complexity)

Page 8: CSC457 Seminar YongKang Zhu December 6 th, 2001 About Network Processor

Importance of selecting input mix

Page 9: CSC457 Seminar YongKang Zhu December 6 th, 2001 About Network Processor

Some Issues on NP design

Processing unit architecture

Fast handling I/O events

Memory organization and management

Page 10: CSC457 Seminar YongKang Zhu December 6 th, 2001 About Network Processor

Processing unit architecture

Four architecture reviewed:

1. a super scalar microprocessor (SS)

2. a fine-grained multithreading microprocessor (FGMT)

3. a chip multiprocessor (CMP)

4. a simultaneous multiprocessor (SMP)

Page 11: CSC457 Seminar YongKang Zhu December 6 th, 2001 About Network Processor

Comparison among four architectures

1. CMP and SMP can explore more instruction level parallelism and packet level parallelism

2. However, other problems are introduced, as how to efficiently handling cache coherency and memory consistency

Page 12: CSC457 Seminar YongKang Zhu December 6 th, 2001 About Network Processor

Handling I/O

Make equal sized internal flits

Higher level pipeline for packet processing

Using coprocessor

Page 13: CSC457 Seminar YongKang Zhu December 6 th, 2001 About Network Processor

Higher (task) level pipeline

Page 14: CSC457 Seminar YongKang Zhu December 6 th, 2001 About Network Processor

Memory organization & management

1. Using novel DRAM architectures: page mode DRAM

Synchronous DRAM

Direct Rambus DRAM

2. Using slow DRAM in parallel: Ping-pong buffering

ECQF-MMA (earliest critical queue first)

Page 15: CSC457 Seminar YongKang Zhu December 6 th, 2001 About Network Processor

Ping-pong buffering

Buffer Organization

Buffer Usage

Page 16: CSC457 Seminar YongKang Zhu December 6 th, 2001 About Network Processor

ECQF-MMA (earliest critical queue first) Using slow DRAM and fast SRAM to

organize buffer structure

total Q FIFO queues

memory bus width is b cells

memory random access time is 2T

the size of each SRAM is bounded to Q * (b - 1) cells

Arbiter selects which cells from which FIFO queue will depart in future

requests to DRAM for replenishing SRAM FIFOs are sent after being accumulated to a certain amount

guarantee a maximum latency experienced by each cell

Page 17: CSC457 Seminar YongKang Zhu December 6 th, 2001 About Network Processor

Intel's IXP1200 1 StrongArm core and 6 RISC micro engine

can manage up to 24 independent threads

two interfaces: IX bus and PCI

IX bus for connecting MAC ports

PCI bus for connecting master processor

register files replicated in each micro engine

on-chip scratch SRAM and I/O buffers

two sets of register files each micro engine

128 GPRs and 128 transfer registers

instruction set architecture

specified field for context switch

specified instruction for reading on-chip scratch SRAM

Page 18: CSC457 Seminar YongKang Zhu December 6 th, 2001 About Network Processor

One application of Intel's IXP1200

Page 19: CSC457 Seminar YongKang Zhu December 6 th, 2001 About Network Processor

Conclusions

1. what is a NP, why we need it and its features

2. benchmarks

3. processing unit architectures: CMP or SMP

4. fast handling I/O: task pipeline, coprocessor

5. memory architectures

-- only a small part of a huge design space