FIPO: A Lightweight and Customized Software-Defined Programmable Packet Scheduling Primitive
Shang Liu, Shuai Gao, Jia Chen, Jing Chen, Wentao Cui, Shangbing Qiao, Hongke Zhang · IEEE Systems Journal · 2025
The current Internet struggles to meet the deterministic transmission requirements in terms of end-to-end delay. Time-sensitive networking (TSN) provides a solution by offering deterministic forwarding services for critical flows, ensuring strict latency requirements. However, the costs and complexity of hardware associated with TSN increases the barriers for researchers to build prototype for validating newly proposed queue scheduling algorithms. To address this dilemma, software-based simulation platforms are widely used for reduction of simulation expenses. However, these platforms cannot flexibly simulate various queue scheduling algorithms. Although existing programmable packet scheduling methods can adapt to TSN queue scheduling algorithms for common hardware base, they cannot be directly applied to software-based TSN simulation platforms. In response, we propose a novel lightweight software-defined packet scheduling primitive—first-in-pick-out (FIPO), based on the programmable switch behavior-model-version-2 (BMV2). FIPO is capable of expressing customized queue scheduling algorithms to support current TSN algorithms and can be flexibly extended to future algorithms. Particularly, FIPO consists only of multipriority queues and eligible time comparator to implement TSN queue scheduling with minimal computational and management overhead. We also propose a fine-grained logical queue-based flow queue mechanism to enhance FIPO. Finally, a lightweight prototype system for the FIPO is established, incorporating four customized deterministic scheduling algorithms. Extensive experimental results show that FIPO can quickly implement customized queue scheduling algorithms and simulate network conditions that closely resemble real environments. It also demonstrates increased implementation flexibility, achieving millisecond-level configuration times with only a moderate increase in CPU utilization (less than 10%).