Sequential Zeroing: Online Heavy-Hitter Detection on Programmable Hardware

F1ows that have exceeded a given percentage of the last sliding window of N packets, denoted as heavy-hitter flows, require special handling, since they may disrupt the service of other flows or may be indicative of malicious traffic. However, even when equipped with a programmable switch, it is unclear how to detect heavy hitters on a per-packet basis, while obeying the stringent switch memory access rates. For instance, existing solutions, such as HashPipe, cannot detect heavy hitters without halving the line rate and do not support sliding windows. To the best of our knowledge, this paper is the first to present heavy-hitter detection solutions that provide per-packet granularity at line-rate performance. We realize this by introducing (1) Modulo sketching, a novel counting algorithm that reuses counters and limits the impact of smaller flows beyond early processing stages; and (2) Sequential Zeroing, a new approach to extending interval-based schemes to sliding window measurements. Our solutions are extensively evaluated, both via simulations and experiments on a Netronome SmartNIC, and demonstrate significant performance gains over the state-of-theart.

[1]  Xenofontas A. Dimitropoulos,et al.  Probabilistic lossy counting: an efficient algorithm for finding heavy hitters , 2008, CCRV.

[2]  Roy Friedman,et al.  Poster abstract: A sliding counting bloom filter , 2017, 2017 IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS).

[3]  Roy Friedman,et al.  Pay for a Sliding Bloom Filter and Get Counting, Distinct Elements, and Entropy for Free , 2017, IEEE INFOCOM 2018 - IEEE Conference on Computer Communications.

[4]  Gaogang Xie,et al.  Mnemonic Lossy Counting: An efficient and accurate heavy-hitters identification algorithm , 2010, International Performance Computing and Communications Conference.

[5]  Minlan Yu,et al.  Cold Filter: A Meta-Framework for Faster and More Accurate Stream Processing , 2018, SIGMOD Conference.

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

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

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

[9]  Roy Friedman,et al.  Counting with TinyTable: Every bit counts! , 2015, 2015 IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS).

[10]  Peter Phaal,et al.  InMon Corporation's sFlow: A Method for Monitoring Traffic in Switched and Routed Networks , 2001, RFC.

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

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

[13]  Ariel Orda,et al.  Memento: Making Sliding Windows Efficient for Heavy Hitters , 2018, IEEE/ACM Transactions on Networking.

[14]  Benoit Claise,et al.  Cisco Systems NetFlow Services Export Version 9 , 2004, RFC.

[15]  Roberto Bifulco,et al.  A Survey on the Programmable Data Plane: Abstractions, Architectures, and Open Problems , 2018, 2018 IEEE 19th International Conference on High Performance Switching and Routing (HPSR).

[16]  Liusheng Huang,et al.  CountMax: A Lightweight and Cooperative Sketch Measurement for Software-Defined Networks , 2018, IEEE/ACM Transactions on Networking.

[17]  George Varghese,et al.  Programming Protocol-Independent Packet Processors , 2013, ArXiv.

[18]  George Varghese,et al.  Forwarding metamorphosis: fast programmable match-action processing in hardware for SDN , 2013, SIGCOMM.

[19]  Graham Cormode,et al.  An improved data stream summary: the count-min sketch and its applications , 2004, J. Algorithms.

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

[21]  George Varghese,et al.  New directions in traffic measurement and accounting , 2002, CCRV.

[22]  Ori Rottenstreich,et al.  Efficient Measurement on Programmable Switches Using Probabilistic Recirculation , 2018, 2018 IEEE 26th International Conference on Network Protocols (ICNP).

[23]  Roy Friedman,et al.  Heavy hitters in streams and sliding windows , 2016, IEEE INFOCOM 2016 - The 35th Annual IEEE International Conference on Computer Communications.

[24]  George Varghese,et al.  New directions in traffic measurement and accounting , 2002, SIGCOMM '02.

[25]  Fernando A. Kuipers,et al.  Fast network congestion detection and avoidance using P4 , 2018, NEAT@SIGCOMM.

[26]  S. Muthukrishnan,et al.  Data streams: algorithms and applications , 2005, SODA '03.

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