OctoSketch is a software monitoring framework that can scale a wide spectrum of sketches to many cores with high online accuracy and performance. In contrast to previous systems that adopt straightforward sketch merges from individual cores to obtain the aggregated result, we devise a continuous, change-based mechanism that can generally be applied to sketches to perform the aggregation. This design ensures high online accuracy of the aggregated result at any query time and reduces computation costs to achieve high throughput. We apply OctoSketch to nine representative sketches on three software platforms (CPU, DPDK, and eBPF XDP). Our results demonstrate that OctoSketch achieves about 15.6× lower errors and up to 4.5× higher throughput than the state-of-the-art.
Our paper will appear in NSDI 2024.
CPU
: OctoSketch implemented on CPUDPDK
: OctoSketch implemented on DPDKXDP
: OctoSketch implemented on eBPF XDPcommon
: Common functions used by OctoSketchqueue
: Concurrent queues used by OctoSketchsketch
: Sketches applied in OctoSketch- more details can be found in folders.