/
Programmable Packet Scheduling at Line Rate Programmable Packet Scheduling at Line Rate

Programmable Packet Scheduling at Line Rate - PowerPoint Presentation

thesoysi
thesoysi . @thesoysi
Follow
347 views
Uploaded On 2020-10-22

Programmable Packet Scheduling at Line Rate - PPT Presentation

Anirudh Sivaraman Suvinay Subramanian Anurag Agrawal Sharad Chole Shang Tse Chuang Tom Edsall Mohammad Alizadeh Sachin Katti Nick McKeown Hari ID: 814919

action pifo scheduling match pifo action match scheduling scheduler packet programmable queue pipeline rate order push ingress 1000 line

Share:

Link:

Embed:

Download Presentation from below link

Download The PPT/PDF document "Programmable Packet Scheduling at Line R..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

Programmable Packet Scheduling at Line Rate

Anirudh Sivaraman, Suvinay Subramanian, Anurag Agrawal, Sharad Chole, Shang-Tse Chuang, Tom Edsall, Mohammad Alizadeh, Sachin Katti, Nick McKeown, Hari Balakrishnan

Slide2

Network switches over timeInitially, fixed-function devices

Changing operator requirementsTunnelsAccess ControlPolicy routingNew headers

Slide3

Alternatives to fixed-function

Programmable switchesFPGAs: Arista 7124 FX, NetFPGANPUs: Intel IXPCPUs: Click, RouteBricks10—100x loss in performanceLimited adoption relative to line-rate switches

Slide4

Programmable scheduling at line rate

Programmable: Can we express a new scheduling algorithm?Line-rate: Highest capacity supported by a communication standard

Slide5

Programmability at line-rate

OpenFlow: Match-Action interface, fixed fields, fixed actionsP4, RMT, FlexPipe, Xpliant: Protocol-independent match-action pipeline.

Parser

Ingress Pipeline

Stage 1

Match

Scheduler

Deparser

Egress Pipeline

Action

Match

Action

Match

Action

Stage N

Match

Action

Match

Action

Match

Action

Stage 1

Match

Action

Match

Action

Match

Action

Stage N

Match

Action

Match

Action

Match

Action

Eth

IP

TCP

Slide6

Why is scheduling hard?

Scheduler touches every packetAlgorithms must meet 1 ns timing budget

Classification

Packet Scheduler

?

DWRR

Strict priority scheduling

2-level hierarchical scheduling

Shaping

Slide7

Why is programmable scheduling hard?

Plenty of scheduling algorithmsYet, no consensus on the right abstractions for schedulingIn contrast toParse graphs for parsingMatch-Action tables for forwarding

Slide8

The Push-In First-Out Queue

Many algorithms determine transmission order at packet arrivalRelative order of packet transmissions of packets in the queue doesn’t change with future arrivalsExamples:SJF: Order determined by flow sizeFCFS: Order determined by arrival timePush-in first-out queues (PIFO): packets are pushed into an arbitrary location based on a priority, and dequeued from the headFirst used as a proof construct by Chuang et. al

Slide9

A programmable scheduler

Classification & Transmission Order Computation

Push-In-First-Out (PIFO) Queue

Scheduler

Ingress Pipeline

Classification & Transmission Order Computation

Slide10

pFabric using PIFO

Push-In-First-Out (PIFO) Queue

Scheduler

f = flow(p)

p.prio

=

f.rem_size

Slide11

Weighted Fair Queuing

f = flow(p)p.start = T[f].finish

T[f].finish =

p.start +

p.len /

p.w

p.prio

=

p.start

Push-In-First-Out (PIFO) Queue

Scheduler

Ingress Pipeline

Slide12

Traffic Shaping

1. update tokens2.

p.send = now +

(

p.len

-

tokens) /

r

ate;

3.

p.prio

=

p.send

Push-In-First-Out (PIFO) Queue

Scheduler

Ingress Pipeline

Slide13

Composing PIFOs

Hierarchical packet-fairqueueing (HPFQ)

A (0.5)

B (0.5)

1

(0.1)

2

(0.9)

3

(0.3)

4

(0.7)

PIFO-root

(WFQ on A and B)

PIFO-A

(WFQ on 1 and 2)

PIFO-B

(WFQ on 3 and 4)

1

3

2

4

2

A

B

A

B

A

Composing PIFOs

Slide14

The PIFO abstraction

PIFO: A sorted array that let us insert an entry (packet or PIFO pointer) into a PIFO based on a programmable priorityEntries are always dequeued from the headIf an entry is a packet, dequeue and transmit itIf an entry is a PIFO, dequeue it, and continue recursively

Slide15

PIFO in hardware

Meets timing at 1 GHz on a 16 nm node5 % area overhead for 3-level hierarchyChallenges wisdom that sorting is hard

Min

Max

Range search CAM

MiniPIFO

Mini-PIFO bank

1

10

10

100

100

3

00

3

00

500

500

1000

1000

2

000

1

10

10

100

100

3

00

3

00

500

1000

500

1000

2

000

128 elements

1000 mini-PIFOs

Slide16

Closing thoughtsLine-rate

programmable scheduling is within reachTwo concrete benefitsProgram new scheduling algorithmsDesign and verify a PIFO, not many scheduling algorithms

Slide17

LSTF

Add transmission delay to slack

Push-In-First-Out (PIFO) Queue

Scheduler

Ingress Pipeline

Decrement

wait time in queue from slack

Initialize slack

values

Slide18

Are PIFOs feasible?Could use scalable hardware heaps

Too complex for shallow-buffered chipsBut, can exploit shallow buffers

Slide19

Packet

Range search using packet priority (150)

Insert into sorted array