Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3341302.3342090acmconferencesArticle/Chapter ViewAbstractPublication PagescommConference Proceedingsconference-collections
research-article

Fast, scalable, and programmable packet scheduler in hardware

Published: 19 August 2019 Publication History

Abstract

With increasing link speeds and slowdown in the scaling of CPU speeds, packet scheduling in software is resulting in lower precision and higher CPU utilization. By offloading packet scheduling to the hardware such as a NIC, one can potentially overcome these drawbacks. However, to retain the flexibility of software packet schedulers, packet scheduler in hardware must be programmable, while also being fast and scalable. State-of-the-art packet schedulers in hardware either compromise on scalability (Push-In-First-Out (PIFO)) or the ability to express a wide range of packet scheduling algorithms (First-In-First-Out (FIFO)). Further, even a general scheduling primitive like PIFO is not expressive enough to express certain key classes of packet scheduling algorithms. Hence in this paper, we propose a generalization of the PIFO primitive, called Push-In-Extract-Out (PIEO), which like PIFO, maintains an ordered list of elements, but unlike PIFO which only allows dequeue from the head of the list, PIEO allows dequeue from arbitrary positions in the list by supporting a programmable predicate-based filtering at dequeue. Next, we present a fast and scalable hardware design of PIEO scheduler and prototype it on a FPGA. Overall, PIEO scheduler is both more expressive and over 30× more scalable than PIFO.

Supplementary Material

MP4 File (p367-shrivastav.mp4)

References

[1]
IEEE Standard 802.11Q-2005. 2005. Standard for local and metropolitan area networks, Virtual Bridged Local Area Networks. (2005).
[2]
Mohammad Alizadeh, Abdul Kabbani, Tom Edsall, Balaji Prabhakar, Amin Vahdat, and Masato Yasuda. 2012. Less Is More: Trading a Little Bandwidth for Ultra-Low Latency in the Data Center. In NSDI.
[3]
Mina Tahmasbi Arashloo, Monia Ghobadi, Jennifer Rexford, and David Walker. 2017. HotCocoa: Hardware Congestion Control Abstractions. In HotNets.
[4]
Wei Bai, Li Chen, Kai Chen, Dongsu Han, Chen Tian, and Hao Wang. 2015. Information-Agnostic Flow Scheduling for Commodity Data Centers. In NSDI.
[5]
Jon C. R. Bennett and Hui Zhang. 1996. Hierarchical Packet Fair Queueing Algorithms. In SIGCOMM.
[6]
Jon C. R. Bennett and Hui Zhang. 1996. WF<sup>2</sup>Q: Worst-case Fair Weighted Fair Queueing. In INFOCOMM.
[7]
R. Bhagwan and B. Lin. 2000. Fast and Scalable Priority Queue Architecture for High-Speed Network Switches. In INFOCOMM.
[8]
Bluespec. 2019. BSV High-Level HDL. (2019). https://bluespec.com/54621-2/
[9]
Pat Bosshart, Glen Gibb, Hun-Seok Kim, George Varghese, Nick McKeown, Martin Izzard, Fernando Mujica, and Mark Horowitz. 2013. Forwarding Metamorphosis: Fast Programmable Match-Action Processing in Hardware for SDN. In SIGCOMM.
[10]
Randy Brown. 1988. Calendar queues: A fast O(1) priority queue implementation for the simulation event set problem. In Communications of the ACM.
[11]
R. Colwell. 2013. The chip design game at the end of Moore's law. In HotChips.
[12]
IEEE DCB. 2011. 802.1Qbb - Priority-based Flow Control. (2011). http://www.ieee802.org/1/pages/802.1bb.html
[13]
Alan Demers, Srinivasan Keshav, and Scott Shenker. 1989. Analysis and Simulation of a Fair Queueing Algorithm. In SIGCOMM.
[14]
Hadi Esmaeilzadeh, Emily Blem, Renee St. Amant, Karthikeyan Sankaralingam, and Doug Burger. 2011. Dark Silicon and the End of Multicore Scaling. In ISCA.
[15]
Daniel Firestone, Andrew Putnam, Sambhrama Mundkur, Derek Chiou, Alireza Dabagh, Mike Andrewartha, Hari Angepat, Vivek Bhanu, Adrian Caulfield, Eric Chung, Harish Kumar Chandrappa, Somesh Chaturmohta, Matt Humphrey, Jack Lavier, Norman Lam, Fengfen Liu, Kalin Ovtcharov, Jitu Padhye, Gautham Popuri, Shachar Raindel, Tejas Sapre, Mark Shaw, Gabriel Silva, Madhan Sivakumar, Nisheeth Srivastava, Anshuman Verma, Qasim Zuhair, Deepak Bansal, Doug Burger, Kushagra Vaid, David A. Maltz, and Albert Greenberg. 2018. Azure Accelerated Networking: SmartNICs in the Public Cloud. In NSDI.
[16]
Matthew P. Grosvenor, Malte Schwarzkopf, Ionel Gog, Robert N. M. Watson, Andrew W. Moore, Steven Hand, and Jon Crowcroft. 2015. Queues Don't Matter When You Can JUMP Them!. In NSDI.
[17]
Intel. 2015. Stratix V FPGA. (2015). https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/stratix-v/stx5_51001.pdf
[18]
Intel. 2018. Stratix 10 FPGA. (2018). https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/stratix-10/s10-overview.pdf
[19]
Keon Jang, Justine Sherry, Hitesh Ballani, and Toby Moncaster. 2015. Silo: Predictable Message Latency in the Cloud. In SIGCOMM.
[20]
Ian Kuon and Jonathan Rose. 2007. Measuring the Gap Between FPGAs and ASICs. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 26, 2 (Feb. 2007).
[21]
He Liu, Matthew K. Mukerjee, Conglong Li, Nicolas Feltman, George Papen, Stefan Savage, Srinivasan Seshan, Geoffrey M. Voelker, David G. Andersen, Michael Kaminsky, George Porter, and Alex C. Snoeren. 2015. Scheduling techniques for hybrid circuit/packet networks. In CoNEXT.
[22]
Rob McGuinness and George Porter. 2018. Evaluating the Performance of Software NICs for 100-Gb/s Datacenter Traffic Control. In ANCS.
[23]
P McKenney. 1990. Stochastic Fairness Queuing. In INFOCOMM.
[24]
Mellanox. 2019. ConnectX-4. (2019). http://www.mellanox.com/page/products_dyn?product_family=204&mtag=connectx_4_en_card
[25]
William M. Mellette, Rob McGuinness, Arjun Roy, Alex Forencich, George Papen, Alex C. Snoeren, and George Porter. 2017. RotorNet: A scalable, low-complexity, optical datacenter network. In SIGCOMM.
[26]
MIT. 2019. PIFO implementation. (2019). https://github.com/programmable-scheduling/pifo-hardware/blob/master/src/rtl/design/pifo.v
[27]
Radhika Mittal, Rachit Agarwal, Sylvia Ratnasamy, and Scott Shenker. 2016. Universal Packet Scheduling. In NSDI.
[28]
Radhika Mittal, Terry Lam, Nandita Dukkipati, Emily Blem, Hassan Wassel, Monia Ghobadi, Amin Vahdat, Yaogong Wang, David Wetherall, and David Zats. 2015. TIMELY: RTT-based Congestion Control for the Datacenter. In Sigcomm.
[29]
Sung-Whan Moon, J. Rexford, and K.G. Shin. 2000. Scalable hardware priority queue architectures for high-speed packet switches. IEEE Trans. Comput. 49, 11 (2000), 1215--1227.
[30]
Jonathan Perry, Amy Ousterhout, Hari Balakrishnan, Devavrat Shah, and Hans Fugal. 2014. Fastpass: A Centralized "Zero-queue" Datacenter Network. In SIGCOMM.
[31]
Sivasankar Radhakrishnan, Yilong Geng, Vimalkumar Jeyakumar, Abdul Kabbani, George Porter, and Amin Vahdat. 2014. SENIC: Scalable NIC for End-Host Rate Limiting. In NSDI.
[32]
Ahmed Saeed, Nandita Dukkipati, Vytautas Valancius, Vinh The Lam, Carlo Contavalli, and Amin Vahdat. 2017. Carousel: Scalable Traffic Shaping at End Hosts. In SIGCOMM.
[33]
Naveen Kr. Sharma, Ming Liu, Kishore Atreya, and Arvind Krishnamurthy. 2018. Approximating Fair Queueing on Reconfigurable Switches. In NSDI.
[34]
M Shreedhar and G Varghese. 1996. Efficient Fair Queuing using Deficit Round Robin. IEEE/ACM Transactions on Networking (ToN) 4, 3 (1996), 375--385.
[35]
Vishal Shrivastav, Asaf Valadarsky, Hitesh Ballani, Paolo Costa, Ki Suh Lee, Han Wang, Rachit Agarwal, and Hakim Weatherspoon. 2019. Shoal: A Network Architecture for Disaggregated Racks. In NSDI.
[36]
A Sivaraman, A Cheung, M Budiu, C Kim, M Alizadeh, H Balakrishnan, G Varghese, N McKeown, and S Licking. 2016. Packet Transactions: High-Level Programming for Line-Rate Switches. In SIGCOMM.
[37]
Anirudh Sivaraman, Suvinay Subramanian, Mohammad Alizadeh, Sharad Chole, Shang-Tse Chuang, Anurag Agrawal, Hari Balakrishnan, Tom Edsall, Sachin Katti, and Nick McKeown. 2016. Programmable Packet Scheduling at Line Rate. In SIGCOMM.
[38]
Brent Stephens, Aditya Akella, and Michael Swift. 2019. Loom: Flexible and Efficient NIC Packet Scheduling. In NSDI.
[39]
Brent Stephens, Arjun Singhvi, Aditya Akella, and Michael Swift. 2017. Titan: Fair Packet Scheduling for Commodity Multiqueue NICs. In ATC.
[40]
George Varghese and Anthony Lauck. 1987. Hashed and Hierarchical Timing Wheels: Efficient Data Structures for Implementing a Timer Facility. In SOSP.
[41]
Bhanu Chandra Vattikonda, George Porter, Amin Vahdat, and Alex C. Snoeren. 2012. Practical TDMA for datacenter ethernet. In EuroSys.
[42]
Shaileshh Bojja Venkatakrishnan, Mohammad Alizadeh, and Pramod Viswanath. 2016. Costly circuits, submodular schedules and approximate caratheodory theorems. In SIGMETRICS.
[43]
Wikipedia. 2019. Abstract Dictionary Data Type. (2019). https://en.wikipedia.org/wiki/Associative_array
[44]
Wikipedia. 2019. Earliest Deadline First. (2019). https://en.wikipedia.org/wiki/Earliest_deadline_first_scheduling
[45]
Wikipedia. 2019. Least Slack Time First. (2019). https://en.wikipedia.org/wiki/Least_slack_time_scheduling
[46]
Wikipedia. 2019. openCL. (2019). https://en.wikipedia.org/wiki/OpenCL
[47]
Wikipedia. 2019. Shortest Job First. (2019). https://en.wikipedia.org/wiki/Shortest_job_next
[48]
Wikipedia. 2019. Shortest Remaining Time First. (2019). https://en.wikipedia.org/wiki/Shortest_remaining_time
[49]
Wikipedia. 2019. System Verilog. (2019). https://en.wikipedia.org/wiki/SystemVerilog
[50]
Wikipedia. 2019. Token Bucket. (2019). https://en.wikipedia.org/wiki/Token_bucket
[51]
Christo Wilson, Hitesh Ballani, Thomas Karagiannis, and Ant Rowtron. 2011. Better Never Than Late: Meeting Deadlines in Datacenter Networks. In SIGCOMM.
[52]
Jun Xu and Richard J. Lipton. 2002. On fundamental tradeoffs between delay bounds and computational complexity in packet scheduling algorithms. In SIGCOMM.
[53]
H Zhang and D Ferrari. 1994. Rate-Controlled Service Disciplines. Journal of High Speed Networks 3, 4 (1994), 389--412.

Cited By

View all
  • (2024)vPIFO: Virtualized Packet Scheduler for Programmable Hierarchical Scheduling in High-Speed NetworksProceedings of the ACM SIGCOMM 2024 Conference10.1145/3651890.3672270(983-999)Online publication date: 4-Aug-2024
  • (2024)Shale: A Practical, Scalable Oblivious Reconfigurable NetworkProceedings of the ACM SIGCOMM 2024 Conference10.1145/3651890.3672248(449-464)Online publication date: 4-Aug-2024
  • (2024)Fast, Scalable, and Accurate Rate Limiter for RDMA NICsProceedings of the ACM SIGCOMM 2024 Conference10.1145/3651890.3672215(568-580)Online publication date: 4-Aug-2024
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
SIGCOMM '19: Proceedings of the ACM Special Interest Group on Data Communication
August 2019
526 pages
ISBN:9781450359566
DOI:10.1145/3341302
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 19 August 2019

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. networking hardware
  2. programmable packet scheduling

Qualifiers

  • Research-article

Conference

SIGCOMM '19
Sponsor:
SIGCOMM '19: ACM SIGCOMM 2019 Conference
August 19 - 23, 2019
Beijing, China

Acceptance Rates

Overall Acceptance Rate 462 of 3,389 submissions, 14%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)205
  • Downloads (Last 6 weeks)21
Reflects downloads up to 01 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2024)vPIFO: Virtualized Packet Scheduler for Programmable Hierarchical Scheduling in High-Speed NetworksProceedings of the ACM SIGCOMM 2024 Conference10.1145/3651890.3672270(983-999)Online publication date: 4-Aug-2024
  • (2024)Shale: A Practical, Scalable Oblivious Reconfigurable NetworkProceedings of the ACM SIGCOMM 2024 Conference10.1145/3651890.3672248(449-464)Online publication date: 4-Aug-2024
  • (2024)Fast, Scalable, and Accurate Rate Limiter for RDMA NICsProceedings of the ACM SIGCOMM 2024 Conference10.1145/3651890.3672215(568-580)Online publication date: 4-Aug-2024
  • (2024)DR-PIFO: A Dynamic Ranking Packet Scheduler Using a Push-In-First-Out QueueIEEE Transactions on Network and Service Management10.1109/TNSM.2023.330489421:1(355-371)Online publication date: Feb-2024
  • (2024)Anole: Scheduling Flows for Fast Datacenter Networks With Packet Re-PrioritizationIEEE Transactions on Cloud Computing10.1109/TCC.2024.337671612:2(550-562)Online publication date: Apr-2024
  • (2024)A Programmable Packet Scheduling Method Based on Traffic Rate2024 IEEE 2nd International Conference on Control, Electronics and Computer Technology (ICCECT)10.1109/ICCECT60629.2024.10545661(211-215)Online publication date: 26-Apr-2024
  • (2024)D-PIFO: A Dynamic Priority Scheduling Algorithm for Performance-Critical Packets Based on the Programmable Data Plane2024 27th International Conference on Computer Supported Cooperative Work in Design (CSCWD)10.1109/CSCWD61410.2024.10580504(3092-3097)Online publication date: 8-May-2024
  • (2024)CIPO: Efficient, lightweight and programmable packet schedulingComputer Networks10.1016/j.comnet.2024.110355245(110355)Online publication date: May-2024
  • (2024)FIPO: Software-Defined Packet Scheduling Primitive for Time-Sensitive NetworkingService Science10.1007/978-981-97-5760-2_1(3-13)Online publication date: 19-Aug-2024
  • (2024)Background and State-of-the-ArtAccelerating Network Functions Using Reconfigurable Hardware10.1007/978-3-031-52872-9_2(9-35)Online publication date: 19-Apr-2024
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media