TY - GEN
T1 - Towards programmable packet scheduling
AU - Sivaraman, Anirudh
AU - Subramanian, Suvinay
AU - Agrawal, Anurag
AU - Chole, Sharad
AU - Chuang, Shang Tse
AU - Edsall, Tom
AU - Alizadeh, Mohammad
AU - Katti, Sachin
AU - McKeown, Nick
AU - Balakrishnan, Hari
PY - 2015/11/16
Y1 - 2015/11/16
N2 - Packet scheduling in switches is not programmable; operators only choose among a handful of scheduling algorithms implemented by the manufacturer. In contrast, other switch functions such as packet parsing and header processing are becoming programmable [10, 3, 6]. This paper presents a programmable packet scheduler that allows operators to program a variety of scheduling algorithms. Our design exploits the insight that any scheduling algorithm can be deconstructed into two decisions: in what order packets depart and when they depart. The algorithms only differ in how the order and departure times are computed. We show how these decisions map to two well-understood abstractions: priority and calendar queues [11]. Priority and calendar queues can then be composed together to realize a broad range of sophisticated scheduling algorithms. Further, both abstractions can be realized using the same mechanism: a programmable push-in first-out queue (PIFO) that allows a packet to push itself into an arbitrary location in a queue by programming a packet field. A PIFO is feasible in hardware. Preliminary synthesis indicates that an unoptimized hardware design meets timing at 1 GHz on a 16 nm technology node and occupies only 5% additional die area relative to existing merchant-silicon switching chips.
AB - Packet scheduling in switches is not programmable; operators only choose among a handful of scheduling algorithms implemented by the manufacturer. In contrast, other switch functions such as packet parsing and header processing are becoming programmable [10, 3, 6]. This paper presents a programmable packet scheduler that allows operators to program a variety of scheduling algorithms. Our design exploits the insight that any scheduling algorithm can be deconstructed into two decisions: in what order packets depart and when they depart. The algorithms only differ in how the order and departure times are computed. We show how these decisions map to two well-understood abstractions: priority and calendar queues [11]. Priority and calendar queues can then be composed together to realize a broad range of sophisticated scheduling algorithms. Further, both abstractions can be realized using the same mechanism: a programmable push-in first-out queue (PIFO) that allows a packet to push itself into an arbitrary location in a queue by programming a packet field. A PIFO is feasible in hardware. Preliminary synthesis indicates that an unoptimized hardware design meets timing at 1 GHz on a 16 nm technology node and occupies only 5% additional die area relative to existing merchant-silicon switching chips.
KW - Programmable scheduling
KW - Switch hardware
UR - http://www.scopus.com/inward/record.url?scp=84962652811&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84962652811&partnerID=8YFLogxK
U2 - 10.1145/2834050.2834106
DO - 10.1145/2834050.2834106
M3 - Conference contribution
AN - SCOPUS:84962652811
T3 - Proceedings of the 14th ACM Workshop on Hot Topics in Networks, HotNets-XIV 2015
BT - Proceedings of the 14th ACM Workshop on Hot Topics in Networks, HotNets-XIV 2015
PB - Association for Computing Machinery, Inc
T2 - 14th ACM Workshop on Hot Topics in Networks, HotNets-XIV 2015
Y2 - 16 November 2015 through 17 November 2015
ER -