Programmable packet scheduling with a single queue
Programmable packet scheduling with a single queue
复制标题
DOI:
10.1145/3452296.3472887
复制
发表时间:
2021-08
期刊:
影响因子:
--
通讯作者:
Zhuolong Yu;Chuheng Hu;Jingfeng Wu;Xiao Sun;V. Braverman;Mosharaf Chowdhury;Zhenhua Liu;Xin Jin
中科院分区:
文献类型:
--
作者:
Zhuolong Yu;Chuheng Hu;Jingfeng Wu;Xiao Sun;V. Braverman;Mosharaf Chowdhury;Zhenhua Liu;Xin Jin
Programmable packet scheduling enables scheduling algorithms to be programmed into the data plane without changing the hardware. Existing proposals either have no hardware implementations for switch ASICs or require multiple strict-priority queues. We present Admission-In First-Out (AIFO) queues, a new solution for programmable packet scheduling that uses only a \emph{single} first-in first-out queue. AIFO is motivated by the confluence of two recent trends: \emph{shallow} buffers in switches and \emph{fast-converging} congestion control in end hosts, that together leads to a simple observation: the decisive factor in a flow's completion time (FCT) in modern datacenter networks is often \emph{which} packets are enqueued or dropped, not the \emph{ordering} they leave the switch. The core idea of AIFO is to maintain a sliding window to track the ranks of recent packets and compute the relative rank of an arriving packet in the window for admission control. Theoretically, we prove that AIFO provides bounded performance to Push-In First-Out (PIFO). Empirically, we fully implement AIFO and evaluate AIFO with a range of real workloads, demonstrating AIFO closely approximates PIFO. Importantly, unlike PIFO, AIFO can run at line rate on existing hardware and use minimal switch resources---as few as a single queue.