Enabling Fine-Grained Flow Scheduling for Hardware-Offloaded Networks
摘要
Datacenter networks are increasingly relying on fine-grained flow scheduling algorithms to meet a variety of service-level objectives, such as low latency, fairness and bandwidth guarantees. These algorithms often require fine-grained, per-packet priority assignment. However, this capability is difficult to implement in today’s offloaded transport stacks, which typically have rigid, fixed-function pipelines. This restricts the synergy between transport offloading and flow scheduling, posing challenges to simultaneously attaining high performance and fine-grained control. This paper presents TagFree: a hardware priority tagging module placed within the NIC datapath. TagFree performs real-time flow tracking and per-packet priority assignment, providing support for fine-grained flow scheduling without interfering with the offloaded network stack. TagFree addresses two key challenges: sustaining line-rate throughput in the face of the complexity of parallel pipelining, and maintaining flow tracking accuracy under high concurrency traffic. We integrate TagFree into an open-source FPGA NIC running at 100 Gbps. Our evaluation shows that TagFree can sustain line-rate throughput while incurring minimal latency and using modest resources.