SENIC: Scalable NIC for End-Host Rate Limiting

Rate limiting is an important primitive for managing server network resources. Unfortunately, software-based rate limiting suffers from limited accuracy and high CPU overhead, and modern NICs only support a handful of rate limiters. We present SENIC, a NIC design that can natively support 10s of thousands of rate limiters--100x to 1000x the number available in NICs today. The key idea is that the host CPU only classifies packets, enqueues them in per-class queues in host memory, and specifies rate limits for each traffic class. On the NIC, SENIC maintains class metadata, computes the transmit schedule, and only pulls packets from host memory when they are ready to be transmitted (on a real time basis). We implemented SENIC on NetFPGA, with 1000 rate limiters requiring just 30KB SRAM, and it was able to accurately pace packets. Further, in a memcached benchmark against software rate limiters, SENIC is able to sustain up to 250% higher load, while simultaneously keeping tail latency under 4ms at 90% network utilization.

[1]  Jonathan Lemon Kqueue - A Generic and Scalable Event Notification Facility , 2001, USENIX Annual Technical Conference, FREENIX Track.

[2]  Hitesh Ballani,et al.  Towards predictable datacenter networks , 2011, SIGCOMM 2011.

[3]  Hui Zhang,et al.  WF/sup 2/Q: worst-case fair weighted fair queueing , 1996, Proceedings of IEEE INFOCOM '96. Conference on Computer Communications.

[4]  David A. Maltz,et al.  Data center TCP (DCTCP) , 2010, SIGCOMM 2010.

[5]  Srinivasan Seshan,et al.  Measurement and Analysis of TCP Throughput Collapse in Cluster-based Storage Systems , 2008, FAST.

[6]  Glen Gibb,et al.  NetFPGA--An Open Platform for Gigabit-Rate Network Switching and Routing , 2007, 2007 IEEE International Conference on Microelectronic Systems Education (MSE'07).

[7]  Mendel Rosenblum,et al.  It's Time for Low Latency , 2011, HotOS.

[8]  Jeffrey C. Mogul,et al.  TCP Offload Is a Dumb Idea Whose Time Has Come , 2003, HotOS.

[9]  Scott Shenker,et al.  Analysis and simulation of a fair queueing algorithm , 1989, SIGCOMM 1989.

[10]  Mendel Rosenblum,et al.  Fast crash recovery in RAMCloud , 2011, SOSP.

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

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

[13]  David A. Maltz,et al.  Network traffic characteristics of data centers in the wild , 2010, IMC '10.

[14]  Hui Zhang,et al.  Hierarchical packet fair queueing algorithms , 1996, SIGCOMM 1996.

[15]  QueueingJon,et al.  WF 2 Q : Worst-case Fair Weighted Fair , 1996 .

[16]  Amin Vahdat,et al.  FasTrak: enabling express lanes in multi-tenant data centers , 2013, CoNEXT.

[17]  Kang G. Shin,et al.  Scalable Hardware Priority Queue Architectures for High-Speed Packet Switches , 2000, IEEE Trans. Computers.

[18]  George Varghese,et al.  Efficient fair queueing using deficit round-robin , 1996, TNET.

[19]  Amin Vahdat,et al.  Less Is More: Trading a Little Bandwidth for Ultra-Low Latency in the Data Center , 2012, NSDI.

[20]  Ramesh Govindan,et al.  Scalable Rule Management for Data Centers , 2013, NSDI.

[21]  Albert G. Greenberg,et al.  Seawall: Performance Isolation for Cloud Datacenter Networks , 2010, HotCloud.

[22]  Srikanth Kandula,et al.  Virtualizing Traffic Shapers for Practical Resource Allocation , 2013, HotCloud.

[23]  Christo Wilson,et al.  Better never than late , 2011, SIGCOMM 2011.

[24]  Jeffrey C. Mogul,et al.  The NIC Is the Hypervisor: Bare-Metal Guests in IaaS Clouds , 2013, HotOS.

[25]  Mendel Rosenblum,et al.  Network Interface Design for Low Latency Request-Response Protocols , 2013, USENIX ATC.

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

[27]  Albert G. Greenberg,et al.  A scalable architecture for fair leaky-bucket shaping , 1997, Proceedings of INFOCOM '97.

[28]  Amin Vahdat,et al.  Chronos: predictable low latency for data center applications , 2012, SoCC '12.

[29]  Scott Shenker,et al.  Approximate fairness through differential dropping , 2003, CCRV.

[30]  Luigi Rizzo,et al.  netmap: A Novel Framework for Fast Packet I/O , 2012, USENIX Annual Technical Conference.

[31]  Muli Ben-Yehuda,et al.  IsoStack - Highly Efficient Network Processing on Dedicated Cores , 2010, USENIX Annual Technical Conference.

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

[33]  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.

[34]  Fabio Checconi,et al.  QFQ: Efficient Packet Scheduling With Tight Guarantees , 2013, IEEE/ACM Transactions on Networking.