slide1 l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Internet Routers Stochastics Network Seminar February 22 nd 2002 PowerPoint Presentation
Download Presentation
Internet Routers Stochastics Network Seminar February 22 nd 2002

Loading in 2 Seconds...

play fullscreen
1 / 59

Internet Routers Stochastics Network Seminar February 22 nd 2002 - PowerPoint PPT Presentation


  • 161 Views
  • Uploaded on

Internet Routers Stochastics Network Seminar February 22 nd 2002. Nick McKeown Professor of Electrical Engineering and Computer Science, Stanford University nickm@stanford.edu www.stanford.edu/~nickm. What a Router Looks Like. Cisco GSR 12416. Juniper M160. 19”. 19”.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Internet Routers Stochastics Network Seminar February 22 nd 2002' - Audrey


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

Internet Routers

Stochastics Network Seminar

February 22nd 2002

Nick McKeown

Professor of Electrical Engineering

and Computer Science, Stanford University

nickm@stanford.edu

www.stanford.edu/~nickm

what a router looks like
What a Router Looks Like

Cisco GSR 12416

Juniper M160

19”

19”

Capacity: 160Gb/sPower: 4.2kW

Capacity: 80Gb/sPower: 2.6kW

6ft

3ft

2ft

2.5ft

points of presence pops

POP3

POP2

POP1

D

POP4

A

B

E

POP5

POP6

C

POP7

POP8

F

Points of Presence (POPs)
basic architectural components of an ip router
Basic Architectural Componentsof an IP Router

Routing

Protocols

Control Plane

Routing

Table

Datapath

per-packet

processing

Forwarding

Table

Switching

per packet processing in an ip router
Per-packet processing in an IP Router

1. Accept packet arriving on an ingress line.

2. Lookup packet destination address in the forwarding table, to identify outgoing interface(s).

3. Manipulate packet header: e.g., decrement TTL, update header checksum.

4. Send packet to outgoing interface(s).

5. Queue until line is free.

6. Transmit packet onto outgoing line.

generic router architecture

Data

Hdr

Data

Hdr

IP Address

Next Hop

Address

Table

Buffer

Memory

~1M prefixes

Off-chip DRAM

~1M packets

Off-chip DRAM

Generic Router Architecture

Header Processing

Lookup

IP Address

Update

Header

Queue

Packet

generic router architecture7

Header Processing

Header Processing

Header Processing

Lookup

IP Address

Lookup

IP Address

Lookup

IP Address

Update

Header

Update

Header

Update

Header

Address

Table

Address

Table

Address

Table

Generic Router Architecture

Buffer

Manager

Buffer

Memory

Buffer

Manager

Buffer

Memory

Buffer

Manager

Buffer

Memory

packet processing is getting harder
Packet processing is getting harder

CPU Instructions per minimum length packet since 1996

performance metrics

WFQ

Performance metrics
  • Capacity
    • “maximize C, s.t. volume < 2m3 and power < 5kW”
  • Throughput
    • Operators like to maximize usage of expensive long-haul links.
    • This would be trivial with work-conserving output-queued routers
  • Controllable Delay
    • Some users would like predictable delay.
    • This is feasible with output-queueing plus weighted fair queueing (WFQ).
the problem

Can’t I just use N separate

memory devices per output?

output

1

R

R

R

R

N

The Problem
  • Output queued switches are impractical

R

R

R

R

DRAM

data

NR

NR

memory bandwidth commercial dram
Memory BandwidthCommercial DRAM
  • It’s hard to keep up with Moore’s Law:
    • The bottleneck is memory speed.
    • Memory speed is not keeping up with Moore’s Law.

DRAM

1.1x / 18months

Moore’s Law

2x / 18 months

Router

Capacity

2.2x / 18months

Line Capacity

2x / 7 months

generic router architecture12

Header Processing

Header Processing

Header Processing

Lookup

IP Address

Lookup

IP Address

Lookup

IP Address

Update

Header

Update

Header

Update

Header

Address

Table

Address

Table

Address

Table

Generic Router Architecture

Queue

Packet

1

1

Buffer

Memory

2

2

Queue

Packet

Buffer

Memory

Scheduler

Queue

Packet

N

N

Buffer

Memory

outline of next two talks
Outline of next two talks
  • What’s known about throughput
    • Today: Survey of ways to achieve 100% throughput
  • What’s known about controllable delay
    • Next week (Sundar): Controlling delay in routers with a single stage of buffering.
potted history
Potted history
  • [Karol et al. 1987] Throughput limited to by head-of-line blocking for Bernoulli IID uniform traffic.
  • [Tamir 1989] Observed that with “Virtual Output Queues” (VOQs) Head-of-Line blocking is reduced and throughput goes up.
potted history15
Potted history
  • [Anderson et al. 1993] Observed analogy to maximum size matching in a bipartite graph.
  • [M et al. 1995] (a) Maximum size match can not guarantee 100% throughput.(b) But maximum weight match can – O(N3).
  • [Mekkittikul and M 1998] A carefully picked maximum size match can give 100% throughput.

Matching

O(N2.5)

potted history speedup
Potted history Speedup

5. [Chuang, Goel et al. 1997] Precise emulation of a central shared memory switch is possible with a speedup of two and a “stable marriage” scheduling algorithm.

  • [Prabhakar and Dai 2000] 100% throughput possible for maximal matching with a speedup of two.
potted history newer approaches
Potted historyNewer approaches
  • [Tassiulas 1998] 100% throughput possible for simple randomized algorithm with memory.
  • [Giaccone et al. 2001] “Apsara” algorithms.
  • [Iyer and M 2000] Parallel switches can achieve 100% throughput and emulate an output queued switch.
  • [Chang et al. 2000] A 2-stage switch with a TDM scheduler can give 100% throughput.
  • [Iyer, Zhang and M 2002] Distributed shared memory switches can emulate an output queued switch.
scheduling crossbar switches to achieve 100 throughput
Scheduling crossbar switches to achieve 100% throughput
  • Basic switch model.
  • When traffic is uniform (Many algorithms…)
  • When traffic is non-uniform, but traffic matrix is known.
    • Technique: Birkhoff-von Neumann decomposition.
  • When matrix is not known.
    • Technique: Lyapunov function.
  • When algorithm is pipelined, or information is incomplete.
    • Technique: Lyapunov function.
  • When algorithm does not complete.
    • Technique: Randomized algorithm.
  • When there is speedup.
    • Technique: Fluid model.
  • When there is no algorithm.
    • Technique: 2-stage load-balancing switch.
    • Technique: Parallel Packet Switch.
basic switch model
Basic Switch Model

S(n)

L11(n)

A11(n)

1

1

D1(n)

A1(n)

A1N(n)

AN1(n)

DN(n)

AN(n)

N

N

ANN(n)

LNN(n)

some definitions
Some definitions

3. Queue occupancies:

Occupancy

L11(n)

LNN(n)

some definitions of throughput
Some definitions of throughput

When traffic is admissible

scheduling algorithms to achieve 100 throughput
Scheduling algorithms to achieve 100% throughput
  • Basic switch model.
  • When traffic is uniform (Many algorithms…)
  • When traffic is non-uniform, but traffic matrix is known
    • Technique: Birkhoff-von Neumann decomposition.
  • When matrix is not known.
    • Technique: Lyapunov function.
  • When algorithm is pipelined, or information is incomplete.
    • Technique: Lyapunov function.
  • When algorithm does not complete.
    • Technique: Randomized algorithm.
  • When there is speedup.
    • Technique: Fluid model.
  • When there is no algorithm.
    • Technique: 2-stage load-balancing switch.
    • Technique: Parallel Packet Switch.
algorithms that give 100 throughput for uniform traffic
Algorithms that give 100% throughput for uniform traffic
  • Quite a few algorithms give 100% throughput when traffic is uniform1
  • For example:
    • Maximum size bipartite match.
    • Maximal size match (e.g. PIM, iSLIP, WFA)
    • Deterministic and a few variants
    • Wait-until-full

1. “Uniform”: the destination of each cell is picked independently

and uniformly and at random (uar) from the set of all outputs.

maximum size bipartite match
Maximum size bipartite match
  • Intuition: maximizes instantaneous throughput
  • for uniform traffic.

L11(n)>0

Maximum

Size Match

LN1(n)>0

Bipartite Match

“Request” Graph

aside maximal matching
Aside: Maximal Matching
  • A maximal matching is one in which each edge is added one at a time, and is not later removed from the matching.
  • i.e. no augmenting paths allowed (they remove edges added earlier).
  • No input and output are left unnecessarily idle.
aside example of maximal size matching
Aside: Example of Maximal Size Matching

A

1

A

1

2

B

2

B

3

C

3

C

4

4

D

D

5

5

E

E

6

6

F

F

Maximum Matching

Maximal Matching

algorithms that give 100 throughput for uniform traffic27
Algorithms that give 100% throughput for uniform traffic
  • Quite a few algorithms give 100% throughput when traffic is uniform
  • For example:
    • Maximum size bipartite match.
    • Maximal size match (e.g. PIM, iSLIP, WFA)
    • Determinstic and a few variants
    • Wait-until-full
deterministic scheduling algorithm
Deterministic Scheduling Algorithm

If arriving traffic is i.i.d with destinations picked uar across outputs, then a round-robin schedule gives 100% throughput.

A

1

A

1

A

1

2

2

B

B

2

B

3

3

C

C

3

C

4

4

D

D

4

D

Variation 1: if permutations are picked uar from the set of N! permutations, this too will also give 100% throughput.

Variation 2: if permutations are picked uar from the permutations above, this too will give 100% throughput.

a simple wait until full algorithm
A Simple wait-until-full algorithm
  • The following algorithm appears to be stable for Bernoulli i.i.d. uniform arrivals:
  • If any VOQ is empty, do nothing (i.e. serve no queues).
  • If no VOQ is empty, pick a permutation uar across either (sequence of permutations, or all permutations).
some observations
Some observations
  • A maximum size match (MSM) maximizes instantaneous throughput.
  • But a MSM is complex – O(N2.5).
  • It turns out that there are many simple algorithms that give 100% throughput for uniform traffic.
  • So what happens if the traffic is non-uniform?
why doesn t maximizing instantaneous throughput give 100 throughput for non uniform traffic
Why doesn’t maximizing instantaneous throughput give 100% throughput for non-uniform traffic?

Three possible

matches, S(n):

scheduling algorithms to achieve 100 throughput34
Scheduling algorithms to achieve 100% throughput
  • Basic switch model.
  • When traffic is uniform (Many algorithms…)
  • When traffic is non-uniform, but traffic matrix is known
    • Technique: Birkhoff-von Neumann decomposition.
  • When matrix is not known.
    • Technique: Lyapunov function.
  • When algorithm is pipelined, or information is incomplete.
    • Technique: Lyapunov function.
  • When algorithm does not complete.
    • Technique: Randomized algorithm.
  • When there is speedup.
    • Technique: Fluid model.
  • When there is no algorithm.
    • Technique: 2-stage load-balancing switch.
    • Technique: Parallel Packet Switch.
example 1 trivial scheduling to achieve 100 throughput
Example 1: (Trivial) scheduling to achieve 100% throughput
  • Assume we know the traffic matrix, and the arrival pattern is deterministic:
  • Then we can simply choose:
example 2 with random arrivals but known traffic matrix
Example 2:With random arrivals, but known traffic matrix
  • Assume we know the traffic matrix, and the arrival pattern is random:
  • Then we can simply choose:
  • In general, if we know L, can we pick a sequence S(n) to achieve 100% throughput?
birkhoff von neumann decomposition
Birkhoff - von Neumann Decomposition

Any L can be decomposed into a linear (convex)

combination of matrices, (M1, …, Mr).

in practice
In practice…
  • Unfortunately, we usually don’t know traffic matrix La priori, so we can:
    • Measure or estimate L, or
    • Not use L.
  • In what follows, we will assume we don’t know or use L.
scheduling algorithms to achieve 100 throughput39
Scheduling algorithms to achieve 100% throughput
  • Basic switch model.
  • When traffic is uniform (Many algorithms…)
  • When traffic is non-uniform, but traffic matrix is known
    • Technique: Birkhoff-von Neumann decomposition.
  • When traffic matrix is not known.
    • Technique: Lyapunov function.
  • When algorithm is pipelined, or information is incomplete.
    • Technique: Lyapunov function.
  • When algorithm does not complete.
    • Technique: Randomized algorithm.
  • When there is speedup.
    • Technique: Fluid model.
  • When there is no algorithm.
    • Technique: 2-stage load-balancing switch.
    • Technique: Parallel Packet Switch.
maximum weight matching
Maximum weight matching

S*(n)

L11(n)

A11(n)

A1(n)

D1(n)

1

1

A1N(n)

AN1(n)

AN(n)

DN(n)

ANN(n)

N

N

LNN(n)

L11(n)

Maximum

Weight Match

LN1(n)

Bipartite Match

“Request” Graph

scheduling algorithms to achieve 100 throughput45
Scheduling algorithms to achieve 100% throughput
  • Basic switch model.
  • When traffic is uniform (Many algorithms…)
  • When traffic is non-uniform, but traffic matrix is known.
    • Technique: Birkhoff-von Neumann decomposition.
  • When matrix is not known.
    • Technique: Lyapunov function.
  • When algorithm is pipelined, or information is incomplete.
    • Technique: Lyapunov function.
  • When algorithm does not complete.
    • Technique: Randomized algorithm.
  • When there is speedup.
    • Technique: Fluid model.
  • When there is no algorithm.
    • Technique: 2-stage load-balancing switch.
    • Technique: Parallel Packet Switch.
scheduling algorithms to achieve 100 throughput48
Scheduling algorithms to achieve 100% throughput
  • Basic switch model.
  • When traffic is uniform (Many algorithms…)
  • When traffic is non-uniform, but traffic matrix is known.
    • Technique: Birkhoff-von Neumann decomposition.
  • When matrix is not known.
    • Technique: Lyapunov function.
  • When algorithm is pipelined, or information is incomplete.
    • Technique: Lyapunov function.
  • When algorithm does not complete.
    • Technique: Randomized algorithm.
  • When there is speedup.
    • Technique: Fluid model.
  • When there is no algorithm.
    • Technique: 2-stage load-balancing switch.
    • Technique: Parallel Packet Switch.
achieving 100 when algorithm does not complete
Achieving 100% when algorithm does not complete

Randomized algorithms:

  • Basic idea (Tassiulas)
  • Reducing delay (Shah, Giaccone and Prabhakar)
scheduling algorithms to achieve 100 throughput50
Scheduling algorithms to achieve 100% throughput
  • Basic switch model.
  • When traffic is uniform (Many algorithms…)
  • When traffic is non-uniform, but traffic matrix is known.
    • Technique: Birkhoff-von Neumann decomposition.
  • When matrix is not known.
    • Technique: Lyapunov function.
  • When algorithm is pipelined, or information is incomplete.
    • Technique: Lyapunov function.
  • When algorithm does not complete.
    • Technique: Randomized algorithm.
  • When there is speedup.
    • Technique: Fluid model.
  • When there is no algorithm.
    • Technique: 2-stage load-balancing switch.
    • Technique: Parallel Packet Switch.
speedup and combined input output queueing cioq
Speedup and Combined Input Output Queueing (CIOQ)

S(n)

L11(n)

A11(n)

1

1

A1(n)

D1(n)

A1N(n)

AN1(n)

DN(n)

AN(n)

N

N

ANN(n)

LNN(n)

With speedup, the matching is performed s times per cell time, and up to s cells are removed from each VOQ. Therefore, output queues are required.

scheduling algorithms to achieve 100 throughput53
Scheduling algorithms to achieve 100% throughput
  • Basic switch model.
  • When traffic is uniform (Many algorithms…)
  • When traffic is non-uniform, but traffic matrix is known.
    • Technique: Birkhoff-von Neumann decomposition.
  • When matrix is not known.
    • Technique: Lyapunov function.
  • When algorithm is pipelined, or information is incomplete.
    • Technique: Lyapunov function.
  • When algorithm does not complete.
    • Technique: Randomized algorithm.
  • When there is speedup.
    • Technique: Fluid model.
  • When there is no algorithm.
    • Technique: 2-stage load-balancing switch.
2 stage switch and no scheduler
2-stage switch and no scheduler

Motivation:

  • If traffic is uniformly distributed, then even a deterministic schedule gives 100% throughput.
  • So why not force non-uniform traffic to be uniformly distributed?
2 stage switch and no scheduler55
2-stage switch and no scheduler

S1(n)

S2(n)

L11(n)

1

1

1

1

A1(n)

A’1(n)

D1(n)

A’N(n)

DN(n)

AN(n)

N

N

N

N

LNN(n)

Buffered

Switching

Stage

Bufferless

Load-balancing

Stage

scheduling algorithms to achieve 100 throughput57
Scheduling algorithms to achieve 100% throughput
  • Basic switch model.
  • When traffic is uniform (Many algorithms…)
  • When traffic is non-uniform, but traffic matrix is known.
    • Technique: Birkhoff-von Neumann decomposition.
  • When matrix is not known.
    • Technique: Lyapunov function.
  • When algorithm is pipelined, or information is incomplete.
    • Technique: Lyapunov function.
  • When algorithm does not complete.
    • Technique: Randomized algorithm.
  • When there is speedup.
    • Technique: Fluid model.
  • When there is no algorithm.
    • Technique: 2-stage load-balancing switch.
throughput results

Different weight functions,

incomplete information, pipelining.

IQ + VOQ,

Maximum weight matching

100% [Various]

Randomized algorithms

100% [Tassiulas, 1998]

100% [M et al., 1995]

IQ + VOQ,

Maximal size matching,

Speedup of two.

100% [Dai & Prabhakar, 2000]

IQ + VOQ,

Sub-maximal size matching

e.g. PIM, iSLIP.

Throughput results

Theory:

Input

Queueing

(IQ)

58% [Karol, 1987]

Practice:

Input

Queueing

(IQ)

Various heuristics, distributed algorithms,

and amounts of speedup

outline of next talk sundar iyer
Outline of next talkSundar Iyer
  • What’s known about controllable delay
    • Emulation of Output queued switches
    • PIFOs and WFQ
    • Single-buffered switches: Parallel packet switches, and distributed shared memory switches.