Universal Packet Scheduling Radhika Mittal, Rachit Agarwal, Sylvia - - PowerPoint PPT Presentation

universal packet scheduling
SMART_READER_LITE
LIVE PREVIEW

Universal Packet Scheduling Radhika Mittal, Rachit Agarwal, Sylvia - - PowerPoint PPT Presentation

Universal Packet Scheduling Radhika Mittal, Rachit Agarwal, Sylvia Ratnasamy, Scott Shenker UC Berkeley Many Scheduling Algorithms Many different algorithms FIFO, FQ, virtual clocks, priorities Many different goals fairness,


slide-1
SLIDE 1

Universal Packet Scheduling

Radhika Mittal, Rachit Agarwal, Sylvia Ratnasamy, Scott Shenker UC Berkeley

slide-2
SLIDE 2
  • Many different algorithms

–FIFO, FQ, virtual clocks, priorities…

  • Many different goals

–fairness, small packet delay, small FCT…

  • Many different contexts

–WAN, datacenters, cellular…

Many Scheduling Algorithms

slide-3
SLIDE 3
  • Implemented in router hardware.
  • How do we support different scheduling

algorithms for different requirements?

– Option 1: Change router hardware for each new algorithm – Option 2: Implement all scheduling algorithms in hardware – Option 3: Programmable scheduling hardware*

Many Scheduling Algorithms

*Towards Programmable Packet Scheduling, Sivaraman et. al., HotNets

slide-4
SLIDE 4
  • Implemented in router hardware.
  • How do we support different scheduling

algorithms for different requirements?

– Option 1: Change router hardware for each new algorithm – Option 2: Implement all scheduling algorithms in hardware – Option 3: Programmable scheduling hardware*

Many Scheduling Algorithms

*Towards Programmable Packet Scheduling, Sivaraman et. al., HotNets

slide-5
SLIDE 5
  • Implemented in router hardware.
  • How do we support different scheduling

algorithms for different requirements?

– Option 1: Change router hardware for each new algorithm – Option 2: Implement all scheduling algorithms in hardware – Option 3: Programmable scheduling hardware*

Many Scheduling Algorithms

*Towards Programmable Packet Scheduling, Sivaraman et. al., HotNets

slide-6
SLIDE 6
  • Implemented in router hardware.
  • How do we support different scheduling

algorithms for different requirements?

– Option 1: Change router hardware for each new algorithm – Option 2: Implement all scheduling algorithms in hardware – Option 3: Programmable scheduling hardware*

Many Scheduling Algorithms

*Towards Programmable Packet Scheduling, Sivaraman et. al., HotNets

slide-7
SLIDE 7

Is there a universal packet scheduling algorithm?

We are asking a new question…..

How do we support different scheduling algorithms for different requirements?

slide-8
SLIDE 8

UPS: Universal Packet Scheduling Algorithm

A single scheduling algorithm that can imitate the network-wide

  • utput produced by any other

algorithm.

slide-9
SLIDE 9

How can a single algorithm imitate all

  • thers?
slide-10
SLIDE 10

Network Model

Input Traffic

INGRESS CORE NETWORK

slide-11
SLIDE 11

Schedulin g Algorithm

Network Model

Input Traffic

INGRESS CORE NETWORK

slide-12
SLIDE 12

Network Model

INGRESS

Input Traffic

(Optional) Header Initialization

Schedulin g Algorithm

Output Traffic

CORE NETWORK EGRESS

slide-13
SLIDE 13

Network Model

INGRESS

Input Traffic

(Optional) Header Initialization

Schedulin g Algorithm

Output Traffic

CORE NETWORK EGRESS

Output Traffic tied to Scheduling Algorithm

slide-14
SLIDE 14

Network Model

INGRESS

Input Traffic

(Optional) Header Initialization

Priority Schedulin g

Output Traffic

CORE NETWORK EGRESS

Goal: Minimize Mean FCT

Priority Value

Flow Size

slide-15
SLIDE 15

Network Model

INGRESS

Input Traffic

(Optional) Header Initialization

FQ

Output Traffic

CORE NETWORK EGRESS

Goal: Fairness

slide-16
SLIDE 16

Network Model

INGRESS

Input Traffic

(Optional) Header Initialization

WFQ

Output Traffic

CORE NETWORK EGRESS

Goal: Weighted Fairness

Flow Weights

slide-17
SLIDE 17

Network Model

* Uses packet header state to make scheduling decisio

INGRESS

Input Traffic

Header Initialization

Scheduling Algorithm* Output Traffic

CORE NETWORK EGRESS

Output Traffic tied to Header Initialization

Header Initialization

slide-18
SLIDE 18

Network Model

INGRESS

Input Traffic

Smart Header Initialization

UPS?

Output Traffic

CORE NETWORK EGRESS Header Initialization

Greater processing capability in the edge than in the core. As per on prior SDN-based architecture designs.

slide-19
SLIDE 19

How do we formally define and evaluate a UPS?

slide-20
SLIDE 20

Defining a UPS

Theoretical Viewpoint: Can it replay a given schedule? Practical Viewpoint: Can it achieve a given

  • bjective?
slide-21
SLIDE 21

Theoretical Viewpoint

Can it replay a given schedule?

slide-22
SLIDE 22

Original Schedule

Input Traffic

(Optional) Header Initialization INGRESS CORE NETWORK

Arbitrary Scheduling Algorithm Output Times

  • (p) for a packet p

EGRESS

Only requirement from original schedule: Output Times are viable

slide-23
SLIDE 23

Replaying the Schedule, given o(p)

Input Traffic

Header Initialization (using o(p)) INGRESS CORE NETWORK

Output Times

  • ’(p) for a packet p

EGRESS

For every packet p, o’(p) ≤ o(p)

UPS

Header Initialization

slide-24
SLIDE 24

Pragmatic Constraints on a UPS

Input Traffic Output Times

Header Initialization (using o(p))

  • ’(p) for a packet p

Obliviousness: For initializing p’s header, use only o(p) and path(p)

INGRESS CORE NETWORK EGRESS

UPS

Header Initialization

slide-25
SLIDE 25

Pragmatic Constraints on a UPS

Input Traffic Output Times

Header Initialization (using o(p))

  • ’(p) for a packet p

Obliviousness: For initializing p’s header, use only o(p) and path(p)

INGRESS CORE NETWORK EGRESS

UPS

Header Initialization

slide-26
SLIDE 26

Pragmatic Constraints on a UPS

Input Traffic Output Times

  • ’(p) for a packet p

Obliviousness: For initializing p’s header, use only o(p) and path(p)

INGRESS CORE NETWORK EGRESS

UPS

Header Initialization (using o(p)) Header Initialization

slide-27
SLIDE 27

Pragmatic Constraints on a UPS

Input Traffic Output Times

  • ’(p) for a packet p

Obliviousness: For initializing p’s header, use only o(p) and path(p)

INGRESS CORE NETWORK EGRESS

UPS

Header Initialization (using o(p)) Header Initialization

slide-28
SLIDE 28

Pragmatic Constraints on a UPS

Input Traffic Output Times

  • ’(p) for a packet p

Obliviousness: For initializing p’s header, use only o(p) and path(p) Limited State: Scheduling can use

  • nly

header state and static information

INGRESS CORE NETWORK EGRESS

UPS

Header Initialization (using o(p)) Header Initialization

slide-29
SLIDE 29

Pragmatic Constraints on a UPS

Input Traffic Output Times

  • ’(p) for a packet p

Obliviousness: For initializing p’s header, use only o(p) and path(p) Limited State: Scheduling can use

  • nly

header state and static information

INGRESS CORE NETWORK EGRESS

UPS

Header Initialization (using o(p)) Header Initialization

slide-30
SLIDE 30

We call this Blackbox Initialization

Input Traffic Output Times

  • ’(p) for a packet p

Limited State: Scheduling can use

  • nly

header state and static information

INGRESS CORE NETWORK EGRESS

Obliviousness: For initializing p’s header, use only o(p) and path(p)

UPS

Header Initialization (using o(p)) Header Initialization

slide-31
SLIDE 31

Basic Existence and Non-existence Results

There exists a UPS under Omniscient Initialization when scheduling time at every hop is known No UPS exists under Blackbox Initialization when only the final output time is known

slide-32
SLIDE 32

How close can we get to a UPS?

slide-33
SLIDE 33

Key Result: Depends on congestion points

  • No. of Congestion

Points per Packet Genera l

1

2

3

slide-34
SLIDE 34

Can we achieve this upper bound? Yes, LSTF!

slide-35
SLIDE 35

Can we achieve this upper bound? Yes, LSTF!

slide-36
SLIDE 36

Least Slack Time First

  • Packet header initialized with a slack

value

– slack = maximum tolerable queuing delay

  • At the routers

–Schedule packet with least slack time first –Update the slack by subtracting the wait time

slide-37
SLIDE 37

Key Results

  • No. of Congestion

Points per Packet Genera l LSTF

1

✓ ✓

2

✓ ✓

3

✗ ✗

slide-38
SLIDE 38

Not all algorithms achieve upper bound

  • No. of Congestion

Points per Packet Genera l LSTF Priorities

1

✓ ✓ ✓

2

✓ ✓ ✗

3

✗ ✗ ✗

slide-39
SLIDE 39

How well does LSTF perform empirically?

slide-40
SLIDE 40

Empirically, LSTF is (almost) universal

  • ns-2 simulation results on realistic network

settings

  • Less than 3% packets missed their output

times

  • Less than 0.1% packets are late by more

than one transmission time

slide-41
SLIDE 41

Practical Viewpoint

Can it achieve a given objective?

slide-42
SLIDE 42

Achieving various network

  • bjectives
  • Slack assignment based on heuristics
  • Three objective functions
  • Tail packet delays
  • Mean Flow Completion Time
  • Fairness
  • We also show how LSTF can facilitate

AQM from the edge.

  • See NSDI’16 paper for details!
slide-43
SLIDE 43

Results Summary

  • Theoretical results show that
  • There is no UPS under blackbox

initialization

  • LSTF comes as close to a UPS as

possible

  • Empirically, LSTF is very close
  • LSTF can be used in practice to achieve

a variety of network-wide objectives.

slide-44
SLIDE 44

Implication

  • Less need for many different

scheduling and queue management algorithms.

  • Can just use LSTF, with varying slack

initializations.

slide-45
SLIDE 45

There are still some interesting open questions!

slide-46
SLIDE 46

Open Questions

  • What is the least amount of information

needed to achieve universality?

  • Are there tractable bounds for the degree of

lateness with LSTF?

  • What is the class of objectives that can be

achieved with LSTF in practice?

slide-47
SLIDE 47

Conclusion

  • Theoretical results show that
  • There is no UPS under blackbox

initialization.

  • LSTF comes as close to a UPS as possible.
  • Empirically, LSTF is very close.
  • LSTF can be used in practice to achieve a

variety of network-wide objectives.

Contact: radhika@eecs.berkeley.edu Code: http://netsys.github.io/ups/

Thank You!