SQUID: Faster Analytics via Sampled Quantiles Data-structure

by   Ran Ben Basat, et al.

Measurement is a fundamental enabler of network applications such as load balancing, attack detection and mitigation, and traffic engineering. A key building block in many critical measurement tasks is q-MAX, where we wish to find the largest q values in a number stream. A standard approach of maintaining a heap of the largest q values ordered results in logarithmic runtime, which is too slow for large measurements. Modern approaches attain a constant runtime by removing small items in bulk and retaining the largest q items at all times. Yet, these approaches are bottlenecked by an expensive quantile calculation method. We propose SQUID, a method that redesigns q-MAX to allow the use of approximate quantiles, which we can compute efficiently, thereby accelerating the solution and, subsequently, many measurement tasks. We demonstrate the benefit of our approach by designing a novel weighted heavy hitters data structure that is faster and more accurate than the existing alternatives. Here, we combine our previous techniques with a lazy deletion of small entries, which expiates the maintenance process and increases the accuracy. We also demonstrate the applicability of our algorithmic approach in a general algorithmic scope by implementing the LRFU cache policy with a constant update time. Furthermore, we also show the practicality of SQUID for improving real-world networked systems, by implementing a P4 prototype of SQUID for in-network caching and demonstrating how SQUID enables a wide spectrum of score-based caching policies directly on a P4 switch.


page 15

page 17

page 19


Efficient Measurement on Programmable SwitchesUsing Probabilistic Recirculation

Programmable network switches promise flexibility and high throughput, e...

Efficient Measurement on Programmable Switches Using Probabilistic Recirculation

Programmable network switches promise flexibility and high throughput, e...

Faster and More Accurate Measurement through Additive-Error Counters

Counters are a fundamental building block for networking applications su...

DistCache: Provable Load Balancing for Large-Scale Storage Systems with Distributed Caching

Load balancing is critical for distributed storage to meet strict servic...

New Parallel Order Maintenance Data Structure

The Order-Maintenance (OM) data structure maintains a total order list o...

ChameleMon: Shifting Measurement Attention as Network State Changes

Flow-level network measurement is critical to many network applications....

An O(1) algorithm for implementing the LFU cache eviction scheme

Cache eviction algorithms are used widely in operating systems, database...

Please sign up or login with your details

Forgot password? Click here to reset