FairDrop: Controlling software router resource sharing by fair packet dropping
In this work, we target resource sharing in a software router where both bandwidth and CPU may be bottlenecks. We propose a novel fair dropping algorithm to realize perflow max-min fair sharing of these resources. The algorithm is compatible with features like batch I/O and batch processing that tend to make classical scheduling impractical. We describe an implementation using Vector Packet Processing, part of the Linux Foundation FD.io project. Our experimental results, carried out at 10Gbps speed in a single core prove the efficiency of the algorithm in controlling bandwidth and CPU sharing at high speed. Performance in dynamic traffic is evaluated using analysis and simulation, demonstrating that the proposed approach is both effective and scalable.
For further information, please refer to the [Networking18] paper. We will be releasing the code shortly — in the meanwhile have a look at our demonstration videos!
Fair Drop: CPU sharing use-case
Fair Drop: Bandwidth sharing use-case
[Networking18] Vamsi Addanki, Leonardo Linguaglossa, James Roberts and Dario Rossi “Controlling software router resource sharing by fair packet dropping” In IFIP Networking 2018