FairDrop: Controlling software router resource sharing by fair packet dropping
In this work, that will appear soon at [Networking18], 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.
We will be releasing the code shortly, in the meanwhile you can access the paper or have a look at our cool demo!
[Networking18] Vamsi Addanki, Leonardo Linguaglossa, James Roberts and Dario Rossi “Controlling software router resource sharing by fair packet dropping” In IFIP Networking 2018