Towards programmable packet scheduling

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

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

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.

Original languageEnglish (US)
Title of host publicationProceedings of the 14th ACM Workshop on Hot Topics in Networks, HotNets-XIV 2015
PublisherAssociation for Computing Machinery, Inc
ISBN (Electronic)9781450340472
DOIs
StatePublished - Nov 16 2015
Event14th ACM Workshop on Hot Topics in Networks, HotNets-XIV 2015 - Philadelphia, United States
Duration: Nov 16 2015Nov 17 2015

Other

Other14th ACM Workshop on Hot Topics in Networks, HotNets-XIV 2015
CountryUnited States
CityPhiladelphia
Period11/16/1511/17/15

Fingerprint

Scheduling algorithms
Scheduling
Mathematical operators
Switches
Hardware
Silicon
Processing

Keywords

  • Programmable scheduling
  • Switch hardware

ASJC Scopus subject areas

  • Computer Networks and Communications

Cite this

Sivaraman, A., Subramanian, S., Agrawal, A., Chole, S., Chuang, S. T., Edsall, T., ... Balakrishnan, H. (2015). Towards programmable packet scheduling. In Proceedings of the 14th ACM Workshop on Hot Topics in Networks, HotNets-XIV 2015 [2834106] Association for Computing Machinery, Inc. https://doi.org/10.1145/2834050.2834106

Towards programmable packet scheduling. / Sivaraman, Anirudh; Subramanian, Suvinay; Agrawal, Anurag; Chole, Sharad; Chuang, Shang Tse; Edsall, Tom; Alizadeh, Mohammad; Katti, Sachin; McKeown, Nick; Balakrishnan, Hari.

Proceedings of the 14th ACM Workshop on Hot Topics in Networks, HotNets-XIV 2015. Association for Computing Machinery, Inc, 2015. 2834106.

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Sivaraman, A, Subramanian, S, Agrawal, A, Chole, S, Chuang, ST, Edsall, T, Alizadeh, M, Katti, S, McKeown, N & Balakrishnan, H 2015, Towards programmable packet scheduling. in Proceedings of the 14th ACM Workshop on Hot Topics in Networks, HotNets-XIV 2015., 2834106, Association for Computing Machinery, Inc, 14th ACM Workshop on Hot Topics in Networks, HotNets-XIV 2015, Philadelphia, United States, 11/16/15. https://doi.org/10.1145/2834050.2834106
Sivaraman A, Subramanian S, Agrawal A, Chole S, Chuang ST, Edsall T et al. Towards programmable packet scheduling. In Proceedings of the 14th ACM Workshop on Hot Topics in Networks, HotNets-XIV 2015. Association for Computing Machinery, Inc. 2015. 2834106 https://doi.org/10.1145/2834050.2834106
Sivaraman, Anirudh ; Subramanian, Suvinay ; Agrawal, Anurag ; Chole, Sharad ; Chuang, Shang Tse ; Edsall, Tom ; Alizadeh, Mohammad ; Katti, Sachin ; McKeown, Nick ; Balakrishnan, Hari. / Towards programmable packet scheduling. Proceedings of the 14th ACM Workshop on Hot Topics in Networks, HotNets-XIV 2015. Association for Computing Machinery, Inc, 2015.
@inproceedings{4397cfdd7c5741c2977d98dc03743fde,
title = "Towards programmable packet scheduling",
abstract = "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.",
keywords = "Programmable scheduling, Switch hardware",
author = "Anirudh Sivaraman and Suvinay Subramanian and Anurag Agrawal and Sharad Chole and Chuang, {Shang Tse} and Tom Edsall and Mohammad Alizadeh and Sachin Katti and Nick McKeown and Hari Balakrishnan",
year = "2015",
month = "11",
day = "16",
doi = "10.1145/2834050.2834106",
language = "English (US)",
booktitle = "Proceedings of the 14th ACM Workshop on Hot Topics in Networks, HotNets-XIV 2015",
publisher = "Association for Computing Machinery, Inc",

}

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

BT - Proceedings of the 14th ACM Workshop on Hot Topics in Networks, HotNets-XIV 2015

PB - Association for Computing Machinery, Inc

ER -