The default queueing discipline implemented in many linux distributions and routers today is FQ-CoDel, which provides effective Active Queue Management (AQM) based on CoDel with a scheduling algorithm that enforces byte-based fairness between flows. Meanwhile, the benefits of size-based scheduling algorithms in improving the expected flow completion time of heavily-tailed TCP flows have been demonstrated through both theoretical and experimental studies. In this work, we evaluate the effectiveness of combining these two approaches: the AQM of CoDel with size-based scheduling algorithms. To achieve this, we developed custom queueing solutions using standard Linux utilities and benchmarked them against each other. With tc-prio we were able to assemble multi-band queues based on tc-codel and tc-fq_codel, complementing tc-cake and tc-pfifo_fast which already support multiple priorities. Using nftables we then configured the kernel to enqueue packets in the appropriate priority band based on the number of bytes already sent by a flow, effectively implementing 2-level processor sharing queues (2LPS). Finally, we extended the Antler network testing tool to generate traffic with arbitrary distributions, including Pareto-distributed traffic, enabling us to evaluate the performance of these queueing configurations under realistic workload conditions.
Integrating CoDel and Age-Based Scheduling: a hybrid queueing approach
MOSCHINI, GIOVANNI
2024/2025
Abstract
The default queueing discipline implemented in many linux distributions and routers today is FQ-CoDel, which provides effective Active Queue Management (AQM) based on CoDel with a scheduling algorithm that enforces byte-based fairness between flows. Meanwhile, the benefits of size-based scheduling algorithms in improving the expected flow completion time of heavily-tailed TCP flows have been demonstrated through both theoretical and experimental studies. In this work, we evaluate the effectiveness of combining these two approaches: the AQM of CoDel with size-based scheduling algorithms. To achieve this, we developed custom queueing solutions using standard Linux utilities and benchmarked them against each other. With tc-prio we were able to assemble multi-band queues based on tc-codel and tc-fq_codel, complementing tc-cake and tc-pfifo_fast which already support multiple priorities. Using nftables we then configured the kernel to enqueue packets in the appropriate priority band based on the number of bytes already sent by a flow, effectively implementing 2-level processor sharing queues (2LPS). Finally, we extended the Antler network testing tool to generate traffic with arbitrary distributions, including Pareto-distributed traffic, enabling us to evaluate the performance of these queueing configurations under realistic workload conditions.File | Dimensione | Formato | |
---|---|---|---|
879808.pdf
accesso aperto
Dimensione
624.06 kB
Formato
Adobe PDF
|
624.06 kB | Adobe PDF | Visualizza/Apri |
I documenti in UNITESI sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.
https://hdl.handle.net/20.500.14247/25191