ECE 697J Advanced Topics Advanced Topics ECE 697J in Computer - - PowerPoint PPT Presentation

ece 697j advanced topics advanced topics ece 697j in
SMART_READER_LITE
LIVE PREVIEW

ECE 697J Advanced Topics Advanced Topics ECE 697J in Computer - - PowerPoint PPT Presentation

ECE 697J Advanced Topics Advanced Topics ECE 697J in Computer Networks in Computer Networks Course Summary 12/04/03 Tilman Wolf 1 Final Projects Final Projects Any questions? Please send slides by Tuesday noon via email


slide-1
SLIDE 1

Tilman Wolf 1

ECE 697J ECE 697J – – Advanced Topics Advanced Topics in Computer Networks in Computer Networks

Course Summary 12/04/03

slide-2
SLIDE 2

Tilman Wolf 2

Final Projects Final Projects

  • Any questions?
  • Please send slides by Tuesday noon via email

– Or bring it on memory stick or CD (not diskette)

  • What I am looking for

– A good idea on how to tackle problem, e.g.:

  • Project A: How and where to implement different components
  • Project B: How to generate different memory channel loads
  • Project C: Identification of key components of IP forwarding

– Some initial results (important!) – A good plan on how to get the remaining results

  • A prediction on what they will look like

– Any other interesting observation

slide-3
SLIDE 3

Tilman Wolf 3

Course Summary Course Summary

  • Networks

– Functionality and performance

  • Routers

– Packet forwarding – Processing Engines – Scalability

  • Network Processors

– Architectures and design-tradeoffs – Commercial NPs – IXP1200 hardware and software

  • Lab Exercises

– Simulators and tools

slide-4
SLIDE 4

Tilman Wolf 4

Flashback Flashback

  • One slide from each lecture…
slide-5
SLIDE 5

Tilman Wolf 5

What is this Course About? What is this Course About?

  • Course discusses network systems (i.e., routers)

– Functionality of routers – How to implement them efficiently – How to expand their functionality for next-generation networks

  • This is a broad area – we’ll focus on

– Data-plane (not control plane, routing protocols, …) – Packet-based networks (in particular IP networks) – Concepts of router functions (not how to setup a Cisco system) – Intel IXP network processor (example of a programmable router)

slide-6
SLIDE 6

Tilman Wolf 6

Network Protocols Network Protocols

  • Why are several network protocols necessary?

– Different protocols solve different problems – Need a mix of functionality depending on application

  • How is interoperability ensured?

– Common protocol (hourglass model) – In the Internet: IP

  • What is a protocol suite?

– A coordinated set of protocols – E.g.: HTTP over TCP over IP over Ethernet

  • What is a protocol stack?

– The software that implements a layered protocol suite

slide-7
SLIDE 7

Tilman Wolf 7

Packet Processing on Host Packet Processing on Host

  • “Conventional Computer System”:

– Single CPU, memory, 1+ I/O devices, bus interconnect

  • Network Interface Card (NIC) used for communication
slide-8
SLIDE 8

Tilman Wolf 8

System Goals System Goals

  • “To allow it to run arbitrarily long, a network system must

be designed with limits on all resources and the limits must be fixed independent of arriving traffic; designs that violate this principle will not be considered”

  • Examples?
  • Related statement: “Network systems should be

designed to handle worst case traffic.”

  • How is this different from a general workstation?
slide-9
SLIDE 9

9

Packet Processing Functions Packet Processing Functions

  • Basic network system functionality

– Address lookup – Error detection and correction – Fragmentation/re-assembly – Queuing – Scheduling – Security – Traffic measurement/shaping – Protocol demultiplexing – Packet classification

slide-10
SLIDE 10

10

Mutating Binary Search (example:)

slide-11
SLIDE 11

Tilman Wolf 11

Packet Processing and Interrupts Packet Processing and Interrupts

  • Interrupt levels for packet

processing:

– Highest to device driver – Lower to protocol processing and application – Why?

  • Requires queues between

interrupt levels

– Why?

  • Processing in high interrupt

should be kept brief

  • What if CPU cannot keep up?

– Livelock

  • Only few priority levels supported
slide-12
SLIDE 12

Tilman Wolf 12

Time Per Packet Time Per Packet

  • Aggregate packet rate determines time per packet

(on single CPU)

  • Packet processing requires in the order of 100s of

instructions per packet

  • Single CPU router lacks scalability
slide-13
SLIDE 13

13

Router Architecture

slide-14
SLIDE 14

Tilman Wolf 14

Banyan Switch Banyan Switch

  • 8-port:

– Recursive extension

  • Self-routing:

– Based on

  • utput port

“label” each stage can make local decision – Recursive structure will lead to correct destination

slide-15
SLIDE 15

15

Operational Blueprint

Example flow trough an L5 switch

Phase II

  • In an application layer proxy, the processor remains on the data path to copy

data between the two connections.

  • The L5 splices the two TCP connections to get out of the data path.
  • TCP splicing requires translating TCP sequence numbers, which is done by

the port controllers to ensure fast layer 5 switching.

slide-16
SLIDE 16

U UNIVERSITY

NIVERSITY OF OF M

MASSACHUSETTS,

ASSACHUSETTS, A

AMHERST

MHERST

16

Effect of caching repairs packets in ARM

slide-17
SLIDE 17

17

Integrated Design Approach

slide-18
SLIDE 18

Tilman Wolf 18

NodeOS NodeOS

slide-19
SLIDE 19

Tilman Wolf 19

Moore Moore’ ’s Law Data s Law Data

Source: Intel, Gordon Moore Keynote ISSCC 2003

slide-20
SLIDE 20

Tilman Wolf 20

Processor Hierarchy Processor Hierarchy

  • What is a processor hierarchy?

Why would it be used?

  • Processor hierarchy accommodates

tasks of different complexity and different frequency

– Low level of hierarchy: simple, frequent processing – High level of hierarchy:

  • ccasional, complex processing
  • What kind of levels can we find on a

router?

– Several levels of data path processing – Several levels of control path processing

slide-21
SLIDE 21

Tilman Wolf 21

Parallel Architectures Parallel Architectures

  • Workload:
  • Parallel:
  • Pipelined:
slide-22
SLIDE 22

Tilman Wolf 22

Agere Agere

slide-23
SLIDE 23

Tilman Wolf 23

Alchemy Au1000 Alchemy Au1000

slide-24
SLIDE 24

Tilman Wolf 24

AMCC nP7510 AMCC nP7510

slide-25
SLIDE 25

Tilman Wolf 25

Cisco PXF Cisco PXF

slide-26
SLIDE 26

Tilman Wolf 26

Cognigine Cognigine RCU RCU

slide-27
SLIDE 27

Tilman Wolf 27

EZchip EZchip NP NP-

  • 1

1

slide-28
SLIDE 28

Tilman Wolf 28

IBM IBM PowerNP PowerNP

slide-29
SLIDE 29

Tilman Wolf 29

Motorola C Motorola C-

  • Port

Port

slide-30
SLIDE 30

Tilman Wolf 30

NP Architectures NP Architectures

  • Numerous different design goals

– Performance – Cost – Functionality – Programmability

  • Numerous different system choices

– Use of parallelism – Types of memories – Types of interfaces – Etc.

  • We consider

– Design tradeoffs on high level (qualitative tradeoffs) – Impact of different configurations on one particular architecture (quantitative tradeoffs)

slide-31
SLIDE 31

Tilman Wolf 31

IXP1200 IXP1200

slide-32
SLIDE 32

Tilman Wolf 32

StrongArm StrongArm and and uE uE Summary Summary

slide-33
SLIDE 33

Tilman Wolf 33

slide-34
SLIDE 34

Tilman Wolf 34

ALU Operators ALU Operators

slide-35
SLIDE 35

Tilman Wolf 35

Next Generation NPs Next Generation NPs

  • What market will they be used in?

– Where can NPs make money?

  • What should they look like?

– Architectural features?

  • What are current bottlenecks?

– Performance limitations

  • What features would be nice?

– What functions need hardware support

  • What are limitations on scalability?
slide-36
SLIDE 36

Tilman Wolf 36

The End The End

  • This concludes the journey through the world of network

systems

slide-37
SLIDE 37

Tilman Wolf 37

Thank You! Thank You!

  • Thanks for taking this course.
  • Thanks for presenting papers.
  • Thanks for doing projects.
  • Thanks for participating in class discussions.

I hope you found this course interesting and you learned about networking concepts and systems in this exciting area of research.