Middleboxes are prevalent in today’s network, providing functions such as VPN, WAN optimization, and firewall. Different middleboxes require different hardware and software resources for their specialized functions. For example, IPSec encryption mostly consumes CPU resource, redundancy elimination bottlenecks the memory bandwidth, and basic forwarding mostly relies on link bandwidth. As people start to incorporate these middlebox network functions into routers, packet scheduling is no longer a problem of managing a single resource, but multiple. “Multi-Resource Fair queuing for Packet Processing” by Ali Ghodsi, Vyas Sekar, Matei Zaharia, and Ion Stoica focuses on providing a solution for fair queuing in multi-resource management scenarios.
Following the paper, we write python simulators to compare the behavior of DRFQ with other algorithms and implement DRFQ on NS2 to examine its performance in simulated network traffic. Our work matches the results in the original paper pretty well. We further prove the effectiveness of DRFQ.