Anirudh Sivaraman Suvinay Subramanian Anurag Agrawal Sharad Chole Shang Tse Chuang Tom Edsall Mohammad Alizadeh Sachin Katti Nick McKeown Hari ID: 814919
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.
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
Slide2Network switches over timeInitially, fixed-function devices
Changing operator requirementsTunnelsAccess ControlPolicy routingNew headers
Slide3Alternatives to fixed-function
Programmable switchesFPGAs: Arista 7124 FX, NetFPGANPUs: Intel IXPCPUs: Click, RouteBricks10—100x loss in performanceLimited adoption relative to line-rate switches
Slide4Programmable scheduling at line rate
Programmable: Can we express a new scheduling algorithm?Line-rate: Highest capacity supported by a communication standard
Slide5Programmability 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
Slide6Why 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
Slide7Why 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
Slide8The 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
Slide9A programmable scheduler
Classification & Transmission Order Computation
Push-In-First-Out (PIFO) Queue
Scheduler
Ingress Pipeline
Classification & Transmission Order Computation
Slide10pFabric using PIFO
Push-In-First-Out (PIFO) Queue
Scheduler
f = flow(p)
p.prio
=
f.rem_size
Slide11Weighted 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
Slide12Traffic 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
Slide13Composing 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
Slide14The 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
Slide15PIFO 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
Slide16Closing thoughtsLine-rate
programmable scheduling is within reachTwo concrete benefitsProgram new scheduling algorithmsDesign and verify a PIFO, not many scheduling algorithms
Slide17LSTF
Add transmission delay to slack
Push-In-First-Out (PIFO) Queue
Scheduler
Ingress Pipeline
Decrement
wait time in queue from slack
Initialize slack
values
Slide18Are PIFOs feasible?Could use scalable hardware heaps
Too complex for shallow-buffered chipsBut, can exploit shallow buffers
Slide19Packet
Range search using packet priority (150)
Insert into sorted array