and traffic entropy. Previous approaches (sketches) offer a way to summarize traffic statistics of all packets within a fixed-size structure, at the cost of small errors. However, when implemented in practice they consume thousands of CPU cycles.
Huang proposes to separate the control plane and data plane. The idea is to keep user-defined sketches which achieve high accuracy but are relatively slow, and add a fast path. The fast path is high speed, is general for multiple sketches, but is relatively less accurate. The control plane is used to recover the information lost on the fast path. This recovery is transparent to users, who simply deploy the desired sketches. Since an ideal Fast Path algorithm is infeasible with limited resources, SketchVisor offers a practical algorithm that achieves near-perfect accuracy.
The authors compare SketchVisor to the Misra Gries top-k algorithm. SketchVisor has much fewer kick-outs (most expensive operation), resulting in much faster throughput. While error rates increase for Misra Gries as the number of flows increases, it stays the same with SketchVisor. A prototype was implemented based on Open vSwitch, and reached speeds of ~10Gbps in testbed, and ~20Gbps in simulation.
Q: The solution is proposed for switches with limited memory. If we are not concerned about memory, what's the motivation for SketchVisor?
A: SketchVisor also achieves high accuracy and high throughput (due to less CPU usage).
Q: Fast path is able to detect heavy hitters. Why not get rid of sketches altogether?
A: Fast path is less accurate than sketches and is used only to compliment sketches.
Q: The authors make some assumptions about matrix sparsity in the paper. How does the recovery algorithm work without this assumption?
A: We evaluated many matrices and showed that most of them fall into our assumption.