Dynamic Sketch: Efficient and Adjustable Heavy Hitter Detection for Software Packet Processing

Heavy hitter detection is a key task for networking traffic profiling, which can be used for various purposes such as Denial of Service (DoS) attack detection, Quality of Service (QoS) scheduling, load balancing, and flow size based routing, etc. Over the years, many efforts have been made on designing data structures and algorithms to achieve fast and memory-efficient inline profiling in cloud networks. Traditional heavy hitter detection methods, however, yield an innate and nonadjustable profiling accuracy (i.e., false positive or false negative) once the data structure is initialized. Users have no runtime feedback information nor control on the profiling accuracy, which could be an important factor for their usages. In this paper, we propose and evaluate a novel dynamic and memory-efficient heavy hitter detection algorithm, called Dynamic sketch. Dynamic sketch performs runtime accuracy monitoring and provides feedback to users via a sampling based method. It also self-adjusts the accuracy at runtime to satisfy the target given by the user. We implemented Dynamic sketch and our evaluations show that Dynamic sketch is able to report profiling accuracy with only a minimal 2% performance overhead. In addition, Dynamic sketch is 2.35 × faster than the state-of-the-art hash table based heavy hitter detector and achieves more than 2× memory efficiency than the state-of-the-art sketch based implementation.

[1]  Amin Vahdat,et al.  Hedera: Dynamic Flow Scheduling for Data Center Networks , 2010, NSDI.

[2]  Divyakant Agrawal,et al.  Efficient Computation of Frequent and Top-k Elements in Data Streams , 2005, ICDT.

[3]  Peng Liu,et al.  Elastic sketch: adaptive and fast network-wide measurements , 2018, SIGCOMM.

[4]  S. Muthukrishnan,et al.  Heavy-Hitter Detection Entirely in the Data Plane , 2016 .

[5]  Minlan Yu,et al.  Re-evaluating Measurement Algorithms in Software , 2015, HotNets.

[6]  Erik D. Demaine,et al.  Frequency Estimation of Internet Packet Streams with Limited Space , 2002, ESA.

[7]  Steve Uhlig,et al.  HeavyKeeper: An Accurate Algorithm for Finding Top- $k$ Elephant Flows , 2019, IEEE/ACM Transactions on Networking.

[8]  Arpit Gupta,et al.  Network-Wide Heavy Hitter Detection with Commodity Switches , 2018, SOSR.

[9]  Minlan Yu,et al.  Software Defined Traffic Measurement with OpenSketch , 2013, NSDI.

[10]  George Varghese,et al.  CONGA: distributed congestion-aware load balancing for datacenters , 2015, SIGCOMM.

[11]  Junda Liu,et al.  Multi-enterprise networking , 2000 .

[12]  Vladimir Braverman,et al.  One Sketch to Rule Them All: Rethinking Network Flow Monitoring with UnivMon , 2016, SIGCOMM.

[13]  Moses Charikar,et al.  Finding frequent items in data streams , 2002, Theor. Comput. Sci..

[14]  Noga Alon,et al.  The space complexity of approximating the frequency moments , 1996, STOC '96.

[15]  Minlan Yu,et al.  A Comparison of Performance and Accuracy of Measurement Algorithms in Software , 2018, SOSR.