CORAL: A multi-core lock-free rate limiting framework

Rate limiting is a fundamental function for managing quality of network service. Unfortunately, the poor scalability of today's rate limiting approaches restricts the performance on multi-core platform. In this work, we present CORAL, a lock-free framework that effectively implements high performance rate limiting on multi-core platform. The key idea is that CORAL uses virtual class queues to isolate simultaneous access to the same queue by different CPU cores and two additional parameters to synchronize the QoS constraints among multi cores. Experimental results show that this lock-free design obtains around 50% higher limiting rate compared to existing locking method, and shows great scalability and stable performance over different number of cores and packet sizes.

[1]  Rong Pan,et al.  Data center transport mechanisms: Congestion control theory and IEEE standardization , 2008, 2008 46th Annual Allerton Conference on Communication, Control, and Computing.

[2]  Kang G. Shin,et al.  Scalable hardware priority queue architectures for high-speed packet switches , 1997, Proceedings Third IEEE Real-Time Technology and Applications Symposium.

[3]  Albert G. Greenberg,et al.  EyeQ: Practical Network Performance Isolation at the Edge , 2013, NSDI.

[4]  Albert G. Greenberg,et al.  Data center TCP (DCTCP) , 2010, SIGCOMM '10.

[5]  George Varghese,et al.  Network algorithmics , 2004 .

[6]  Amin Vahdat,et al.  NicPic: Scalable and Accurate End-Host Rate Limiting , 2013, HotCloud.

[7]  Zhi Liu,et al.  Towards efficient load distribution in big data cloud , 2015, 2015 International Conference on Computing, Networking and Communications (ICNC).

[8]  Dorgival O. Guedes,et al.  Gatekeeper: Supporting Bandwidth Guarantees for Multi-tenant Datacenter Networks , 2011, WIOV.

[9]  Amin Vahdat,et al.  SENIC: Scalable NIC for End-Host Rate Limiting , 2014, NSDI.

[10]  Haitao Wu,et al.  ServerSwitch: A Programmable and High Performance Platform for Data Center Networks , 2011, NSDI.

[11]  Patrick Crowley,et al.  Network Processor Design: Issues and Practices , 2002 .