A Comparison of Performance and Accuracy of Measurement Algorithms in Software

Omid Alipourfard,Masoud Moshref,Yang Zhou,Tong Yang,Minlan Yu
DOI: https://doi.org/10.1145/3185467.3185475
2018-01-01
Abstract:Many network functions are moving from hardware to software to get better programmability and lower cost. Measurement is critical to most network functions because getting detailed information about traffic is often the first step to make control decisions and diagnose problems. The key challenge for measurement is how to keep a large number of counters while processing packets at line rate. Previous work on measurement algorithms mostly focuses on reducing memory usage while achieving high accuracy. However, software servers have plenty of memory but incur new challenges of achieving both high performance and high accuracy. In this paper, we revisit the measurement algorithms and data structures under the new metrics of performance and accuracy. We show that saving memory through extra computation is not worthwhile. As a result, a linear hash table and count array outperform more complex data structures such as Cuckoo hashing, Count-Min sketches, and heaps in a variety of scenarios.
What problem does this paper attempt to address?