62
Approximating Push-In First-Out Behaviors Albert Gran Alcoz, Alexander Dietmüller, Laurent Vanbever SP-PIFO 1 4 5 4 4 3 1 2 1 sp-pifo.ethz.ch SP-PIFO: Platform Lab Stanford February, 25 2020 1 Using Strict-Priority Queues

SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

Approximating Push-In First-Out Behaviors

Albert Gran Alcoz,

Alexander Dietmüller,

Laurent Vanbever

SP-PIFO

1

4 5 4 4 3

1 2 1

sp-pifo.ethz.ch

SP-PIFO:

Platform Lab Stanford

February, 25 2020

1

Using Strict-Priority Queues

Page 2: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

2

[SIGCOMM ’92]

Minimize tail packet delays

[SIGCOMM ’13, NSDI ’15]

Minimize flow completion times

[ToN ’93, NSDI ’18]

Enforce max-min fairness

Page 3: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

3

“You can’t have everything you want,

but you can have anything you want”

Flexibility

Customized algorithms

Generality

Universal packet scheduler

[NSDI ’16]

Is there a universal packet scheduler?

Page 4: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

4

Generality

Universal packet scheduler

Programmable

scheduling

but you can have anything you want”

“You can’t have everything you want,

[NSDI ’16]

Is there a universal packet scheduler?

Page 5: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

5

[SIGCOMM ’16]

PIFO abstraction for programmable scheduling

Assumes monotonic increase of ranks within flows

Supports ~1k flows and ~10 Gbps

Requires new ASIC implementation, which might take years

Deployability

Scalability

Flexibility

Implementing PIFO queues in hardware

is difficult

Page 6: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

on existing devices?

Can we approximate PIFO queues…

at scale, and

at line rate,

6

Page 7: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

Introducing…

SP-PIFO

7

A deployable, scalable and flexible

PIFO approximation

Page 8: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

PIFO queues can be used as an abstraction

to make scheduling programmable

The PIFO queue Allows packets to be pushed into arbitrary locations

Only drains packets from the head

8

Packet ranks

PIFO Queue

4 145 32Input sequence Output sequence

Page 9: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

PIFO queues can be used as an abstraction

to make scheduling programmable

The PIFO queue Allows packets to be pushed into arbitrary locations

Only drains packets from the head

9

Packet ranks

PIFO Queue

4 145 3Input sequence Output sequence

2

Page 10: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

PIFO queues can be used as an abstraction

to make scheduling programmable

The PIFO queue Allows packets to be pushed into arbitrary locations

Only drains packets from the head

10

Packet ranks

PIFO Queue

4 145 3 2Input sequence Output sequence

Page 11: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

PIFO queues can be used as an abstraction

to make scheduling programmable

The PIFO queue Allows packets to be pushed into arbitrary locations

Only drains packets from the head

11

Packet ranks

PIFO Queue

Input sequence

5 4 4 3 2 1Output sequence

Page 12: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

2

Programmable scheduler

12

PIFO queues can be used as an abstraction

to make scheduling programmable

Rank computation (programmable)

PIFO queue (fixed logic)

Rank Computation

p.rank = f.size

f = flow(p)

Input sequence

PIFO Queue

1445 3

Page 13: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

Programmable scheduler

13

PIFO queues can be used as an abstraction

to make scheduling programmable

Rank computation (programmable)

PIFO queue (fixed logic)

Rank Computation

p.rank = f.size

f = flow(p)

Input sequence

PIFO Queue

1445 32

Page 14: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

445 3

Programmable scheduler

14

PIFO queues can be used as an abstraction

to make scheduling programmable

Rank computation (programmable)

PIFO queue (fixed logic)

Rank Computation

p.rank = f.size

f = flow(p)

Input sequence

PIFO Queue

12

Page 15: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

15

SP-PIFO approximates PIFO behaviors using Strict-Priority queues

and a dynamic mapping strategy

Adaptation StrategyStrict-Priority Queues

12445

3

Rank Computation

p.rank = f.size

f = flow(p)

Programmable scheduler

Rank computation (programmable)

Adaptation strategy + strict-priority queues (fixed logic)

Page 16: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

16

Ideal case Perfect PIFO if number of queues >= number of ranks

SP-PIFO approximates PIFO behaviors using Strict-Priority queues

and a dynamic mapping strategy

Strict-Priority Queues

12345

23

5

1

44

Page 17: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

17

Ideal case Perfect PIFO if number of queues >= number of ranks

SP-PIFO approximates PIFO behaviors using Strict-Priority queues

and a dynamic mapping strategy

Output sequence

Strict-Priority Queues

12345

5 4 4 3 2 1

Page 18: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

18

In practice Number of queues < number of ranks

SP-PIFO approximates PIFO behaviors using Strict-Priority queues

and a dynamic mapping strategy

Page 19: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

19

Strict-Priority Queues

In practice Number of queues < number of ranks

SP-PIFO approximates PIFO behaviors using Strict-Priority queues

and a dynamic mapping strategy

Problem Output sequence can have scheduling errors

42 3 1

Page 20: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

Problem Output sequence can have scheduling errors

20

Low-ranked packets drained after high-ranked packets

suboptimal output

In practice Number of queues < number of ranks

SP-PIFO approximates PIFO behaviors using Strict-Priority queues

and a dynamic mapping strategy

Strict-Priority Queues

4 12 3

Page 21: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

Problem Output sequence can have scheduling errors

21

In practice Number of queues < number of ranks

SP-PIFO approximates PIFO behaviors using Strict-Priority queues

and a dynamic mapping strategy

Design mapping strategies that

minimize scheduling errors

Opportunity

Page 22: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

22

SP-PIFO defines mapping through ‘queue bounds'

Queue bounds scanned bottom-upMapping

Packet enqueued if rank >= queue bound

Strict-Priority Queues

134 2Input sequence Output sequence

?

Page 23: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

23

SP-PIFO defines mapping through ‘queue bounds'

Strategy A

14

134 2Input sequence Output sequence

Mapping Queue bounds scanned bottom-up

Packet enqueued if rank >= queue bound

Page 24: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

24

SP-PIFO defines mapping through ‘queue bounds'

Strategy A

14

34 12Input sequence Output sequence

Mapping Queue bounds scanned bottom-up

Packet enqueued if rank >= queue bound

Page 25: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

Input sequence Output sequence

34 2

25

SP-PIFO defines mapping through ‘queue bounds'

Strategy A

14

1

Is rank >= queue bound ?

Page 26: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

Input sequence Output sequence

34 2

26

SP-PIFO defines mapping through ‘queue bounds'

Strategy A

14

1

Page 27: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

27

SP-PIFO defines mapping through ‘queue bounds'

Strategy A

114

Input sequence Output sequence

Mapping

34 2

Queue bounds scanned bottom-up

Packet enqueued if rank >= queue bound

Page 28: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

28

SP-PIFO defines mapping through ‘queue bounds'

Strategy A

114

4 2 3suboptimal output

Input sequence Output sequence

Mapping Queue bounds scanned bottom-up

Packet enqueued if rank >= queue bound

Page 29: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

29

SP-PIFO defines mapping through ‘queue bounds'

Strategy A

114

4 2 3suboptimal output

13Strategy B

134 2

Input sequence Output sequence

Mapping Queue bounds scanned bottom-up

Packet enqueued if rank >= queue bound

Page 30: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

30

SP-PIFO defines mapping through ‘queue bounds'

Strategy A

Input sequence Output sequence

114

4 2 3suboptimal output

13Strategy B

134 2optimal output

Mapping Queue bounds scanned bottom-up

Packet enqueued if rank >= queue bound

Page 31: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

31

How can we design a mapping strategy

that minimizes scheduling errors?

Page 32: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

1 Adaptation design

How does it work

2 Implementation

How can it be deployed

3 Evaluation

How well does it perform

32

Approximating Push-In First-Out Behaviors SP-PIFO:

Using Strict-Priority Queues

Page 33: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

1 Adaptation design

How does it work

33

Approximating Push-In First-Out Behaviors SP-PIFO:

Using Strict-Priority Queues

2 Implementation

How can it be deployed

3 Evaluation

How well does it perform

Page 34: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

34

Problem formulation

q* = argmin E [ U(q, r) ]q ∈ Q r ∼ R

Objective Find optimal queue bounds q*

That minimize the expected loss U for all ranks

Unpifoness (U) quantifies the scheduling errors

Page 35: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

35

SP-PIFO adapts the mapping of packet ranks

to strict-priority queues

1 42

Strict-Priority Queues

Input sequence Output sequence

03

0

Initialization

Queue bounds set to zero

Zero traffic knowledge

Page 36: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

36

SP-PIFO adapts the mapping of packet ranks

to strict-priority queues

1 2

Strict-Priority Queues

Input sequence Output sequence

03

0

Rank >= queue bound ?

Initialization

Queue bounds set to zero

Zero traffic knowledge

4

Page 37: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

37

SP-PIFO adapts the mapping of packet ranks

to strict-priority queues

1 2

Strict-Priority Queues

Input sequence Output sequence

0

0

Initialization

Queue bounds set to zero

Zero traffic knowledge

Rank >= queue bound ?

43

Page 38: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

38

SP-PIFO adapts the mapping of packet ranks

to strict-priority queues

1 2

Strict-Priority Queues

Input sequence Output sequence

0

0 43

Initialization

Queue bounds set to zero

Zero traffic knowledge

Page 39: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

39

SP-PIFO adapts the mapping of packet ranks

to strict-priority queues

1 2

Strict-Priority Queues

Input sequence Output sequence

0

043

scheduling error

Initialization

Queue bounds set to zero

Zero traffic knowledge

Page 40: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

40

SP-PIFO adapts the mapping of packet ranks

to strict-priority queues

1 2

Strict-Priority Queues

Input sequence Output sequence

0

00 4

Initialization

Queue bounds set to zero

Zero traffic knowledge

Rank >= queue bound ?

3

Page 41: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

41

SP-PIFO adapts the mapping of packet ranks

to strict-priority queues

1 2

Strict-Priority Queues

Input sequence Output sequence

0

03

0 4Push-up 4

Page 42: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

42

SP-PIFO adapts the mapping of packet ranks

to strict-priority queues

1 2

Strict-Priority Queues

Input sequence Output sequence

03

44

Page 43: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

43

SP-PIFO adapts the mapping of packet ranks

to strict-priority queues

1 2

Strict-Priority Queues

Input sequence Output sequence

0

00 44

After enqueue, queue bound set to

the rank of the packet enqueued

Push-up

(future low-rank packets to

higher-priority queues)

Rank >= queue bound ?

3

Page 44: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

44

SP-PIFO adapts the mapping of packet ranks

to strict-priority queues

1 2

Strict-Priority Queues

Input sequence Output sequence

0

0

3

0 44

Push-up 3

After enqueue, queue bound set to

the rank of the packet enqueued

Push-up

(future low-rank packets to

higher-priority queues)

Page 45: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

45

SP-PIFO adapts the mapping of packet ranks

to strict-priority queues

1 2

Strict-Priority Queues

Input sequence Output sequence

3

0

3

0 44

Page 46: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

46

SP-PIFO adapts the mapping of packet ranks

to strict-priority queues

1

Strict-Priority Queues

Input sequence Output sequence

3

0

3

0 44

!

Output sequence

After enqueue, queue bound set to

the rank of the packet enqueued

Push-up

(future low-rank packets to

higher-priority queues)

2

Page 47: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

47

SP-PIFO adapts the mapping of packet ranks

to strict-priority queues

1

Strict-Priority Queues

Input sequence Output sequence

3

00 44

Output sequence

2 3

Error cost = (queue bound - rank) = 1

Page 48: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

2

48

SP-PIFO adapts the mapping of packet ranks

to strict-priority queues

1

Strict-Priority Queues

Input sequence Output sequence

00 4

Output sequence

3Push-down 3 3

4

For all queue bounds:

decrease error cost (1)

2

Page 49: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

2

49

SP-PIFO adapts the mapping of packet ranks

to strict-priority queues

1

Strict-Priority Queues

Input sequence Output sequence

00 4

Output sequence

Push-down 32 3

4

2

For all queue bounds:

decrease error cost (1)

Page 50: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

2

50

SP-PIFO adapts the mapping of packet ranks

to strict-priority queues

1

Strict-Priority Queues

Input sequence Output sequence

00 4

Output sequence

32 3

3Push-down

2

For all queue bounds:

decrease error cost (1)

Page 51: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

51

SP-PIFO adapts the mapping of packet ranks

to strict-priority queues

Strict-Priority Queues

Input sequence Output sequence

00 4

Output sequence

32 3

3

2

After potential error detected,

all queue bounds decreased the error cost

Push-down

(future high-rank packets to

lower-priority queues)

3

Page 52: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

52

SP-PIFO adapts the mapping of packet ranks

to strict-priority queues

Objective Find optimal queue bounds q*

That minimize the expected loss U for all ranks

Strict-Priority Queues

00 4

3 32

3

2

3Push-up Push-down

Low-rank packets High-rank packets

Result Packet-level adaptation of q

Page 53: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

2 Implementation

How can it be deployed

3 Evaluation

How well does it perform

53

Approximating Push-In First-Out Behaviors SP-PIFO:

Using Strict-Priority Queues

1 Adaptation design

How does it work

Page 54: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

54

SP-PIFO has been fully implemented on

existing programmable hardware

Parser Traffic ManagerIngress pipeline

Priority Queues

Queue Bound n

Registers

Queue Bound n-1 Queue Bound 1

Metadata

Queue ID

Queue Bound 1 - Rank

Page 55: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

2 Implementation

How can it be deployed

3 Evaluation

How well does it perform

55

Approximating Push-In First-Out Behaviors SP-PIFO:

Using Strict-Priority Queues

1 Adaptation design

How does it work

Page 56: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

How well does SP-PIFO approximate

well-known scheduling objectives under

realistic traffic workloads?

Max-min fairness

Minimizing Flow Completion Time

pFabric* (8 queues)

Start-Time Fair Queuing (32 queues)

Ranks based on a fluid model

Ranks are set to the remaining flow size

56

Evaluation

* without starvation prevention

Scheduling objectives

Question

Page 57: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

57

We generate traffic following pFabricRealistic workloads web-search workload

Methodology

We use a leaf-spine topology with 144 servers,Topology

links of 1Gbps and 4Gbps

Packet-level simulator

We integrated SP-PIFO in Netbench

[SIGCOMM 2017]

Page 58: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

50

58

SP-PIFO closely approximates pFabric,

minimizing FCTs for both small and big flows

Load

Small flows <100KB Big flows ≥1MB

0

100

200

300

400

500

0.2 0.3 0.4 0.5 0.6 0.7 0.8

Flow

Com

plet

ion

Tim

e (m

s)

Load

PIFOSP-PIFODCTCP

TCP

0

10

20

30

40

50

0.2 0.3 0.4 0.5 0.6 0.7 0.8

Flow

Com

plet

ion

Tim

e (m

s)

Load

PIFOSP-PIFODCTCP

TCP

0.2 0.3 0.4 0.5 0.6 0.7 0.80

10

20

30

40

Load

0.2 0.3 0.4 0.5 0.6 0.7 0.8

500

0

100

200

300

400

99th percentile FCT (ms) Average FCT (ms)

0

10

20

30

40

50

0.2 0.3 0.4 0.5 0.6 0.7 0.8

Flow

Com

plet

ion

Tim

e (m

s)

Load

PIFOSP-PIFODCTCP

TCP

Page 59: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

59

SP-PIFO closely approximates state-of-the-art

fair-queuing algorithms

101

103

105

107

�2M 0.2M-1M 80K 50K 30K 20K 10K

Flow

Com

plet

ion

Tim

e (m

s)

Flow Size

PIFOAFQ

SP-PIFODCTCP

TCP

0

2

4

6

8

10

0.2 0.3 0.4 0.5 0.6 0.7 0.8

Flow

Com

plet

ion

Tim

e (m

s)

Load

PIFOAFQ

SP-PIFODCTCP

TCP

Flow size

All flows @ Load 0.7

Average FCT (ms)

2

4

6

8

10

0.2 0.3 0.4 0.5 0.6 0.7 0.8

Load

≥2M

10

105

107

103

0≤1M 80K 50K 30K 20K 10K

Small flows <100KB

Average FCT (ms)

0

Page 60: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

60

SP-PIFO characterization, comparison with gradient

Check our website!

Limitations and future improvements

sp-pifo.ethz.ch

All the code is availableAll our experiments are reproducible

Hardware evaluation on Barefoot Tofino

Page 61: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

61

SP-PIFO approximates the behavior of PIFO queues

Making scheduling programmable, today!SP-PIFO:

at line rate, at scale and on existing devices

It adapts the mapping between packet ranks and

strict-priority queues to minimize the scheduling errors

It reacts per-packet to traffic variations,

without traffic knowledge required

Page 62: SP-PIFO: Approximating Push-In First-Out Behaviors Using ... Talks/2020... · and a dynamic mapping strategy. Adaptation Strategy Strict-Priority Queues 1 2 5 4 4 3 Rank Computation

sp-pifo.ethz.ch

Albert Gran Alcoz Alexander Dietmüller Laurent Vanbever

62

Approximating Push-In First-Out Behaviors SP-PIFO:

Using Strict-Priority Queues