Load Balancing Scheduling Using Multi-delivery Model of Data Packets
摘要
The transmission and processing of data packets in network are handled by the data plane of network devices. The open-source Vector Packet Processor (VPP), as a next-generation data plane framework, runs on general-purpose CPU architectures, offering flexibility, scalability, and high-speed packet processing and forwarding performance. However, VPP’s scheduling model only supports the Runtime Circle (RTC) scheduling execution mode, where a single dispatch executing full-graph processing cannot achieve load balancing of data packets across multi-core CPUs. To address this issue, this paper introduces a pipeline scheduling execution mode and a multi-dispatch model for packet distribution, mapping VPP’s data packet processing graph nodes to multiple different CPU sets. Moreover, during the execution of the data packet processing graph, it allows for multiple redistributions of packets to different CPU cores, thereby avoiding the unevenness of single-time distribution and achieving load balancing scheduling. Experimental results demonstrate that the improved VPP can perform multiple dispatches of packets during the execution of the data packet processing graph, achieving load balancing across multiple CPU cores.