Supporting Multi-dimensional and Arbitrary Numbers of Ranks for Software Packet Scheduling.

Jiaqi Zheng,Yanan Jiang,Bingchuan Tian,Huaping Zhou,Chen Tian,Guihai Chen,Wanchun Dou
DOI: https://doi.org/10.1109/iwqos49365.2020.9212844
2020-01-01
Abstract:Compared with hardware implementation, the software packet scheduler uses the packet queuing data structure and a ranking function according to different dimensions to flexibly determine the packet dequeue order, which can significantly shorten the renewal cycles and increase the function deployment flexibility. The key data structure in prior work either bounds the number of rank or suffers from high computation overhead. In addition, they only support a single dimension and do not scale well. In this paper, we present Proteus, a software packet scheduling system that supports multi-dimensional and arbitrary numbers of ranks. We design a k-dimension heap data structure and develop "push" and "pop" algorithms to perform "enqueue" and "dequeue" operations. Furthermore, we implement a prototype of Proteus in software switch. Extensive experiments on BESS and numerical simulations show that Proteus can decrease the computation overhead, save the storage space and run much faster than state of the art.
What problem does this paper attempt to address?