Litcius/Paper detail

Designing Heavy-Hitter Detection Algorithms for Programmable Switches

Ran Ben Basat, Xiaoqi Chen, Gil Einziger, Ori Rottenstreich

2020IEEE/ACM Transactions on Networking77 citationsDOI

Abstract

Programmable network switches promise flexibility and high throughput, enabling applications such as load balancing and traffic engineering. Network measurement is a fundamental building block for such applications, including tasks such as the identification of heavy hitters (largest flows) or the detection of traffic changes. However, high-throughput packet processing architectures place certain limitations on the programming model, such as restricted branching, limited capability for memory access, and a limited number of processing stages. These limitations restrict the types of measurement algorithms that can run on programmable switches. In this paper, we focus on the Reconfigurable Match Tables (RMT) programmable high-throughput switch architecture, and carefully examine its constraints on designing measurement algorithms. We demonstrate our findings while solving the heavy hitter problem. We introduce PRECISION, an algorithm that uses Partial Recirculation to find top flows on a programmable switch. By recirculating a small fraction of packets, PRECISION simplifies the access to stateful memory to conform with RMT limitations and achieves higher accuracy than previous heavy hitter detection algorithms that avoid recirculation. We also evaluate each of the adaptations made by PRECISION and analyze its effect on the measurement accuracy. Finally, we suggest two algorithms for the hierarchical heavy hitters detection problem in which the goal is identifying the subnets that send excessive traffic and are potentially malicious. To the best of our knowledge, our work is the first to do so on RMT switches.

Topics & Concepts

Computer scienceStateful firewallThroughputNetwork packetBlock (permutation group theory)Network switchDeep packet inspectionNetwork processorField-programmable gate arrayFlexibility (engineering)AlgorithmLoad balancing (electrical power)Embedded systemDistributed computingComputer networkOperating systemWirelessGeometryGridMathematicsStatisticsSoftware-Defined Networks and 5GNetwork Packet Processing and OptimizationNetwork Security and Intrusion Detection