Sketch Disaggregation Across Time and Space
Jonatan Langlet, Peiqing Chen, Michael Mitzenmacher, Ran Ben Basat, Zaoxing Liu, Gianni Antichi
TL;DR
The paper addresses the challenge of performing accurate streaming analytics in networks with limited, heterogeneous, and dynamic switch memory. It introduces DiSketch, a spatiotemporal sketch disaggregation framework that partitions sketches into time- and space-distributed fragments, with subepoching, error equalization, and centralized querying to produce network-wide estimates. The approach is demonstrated on Count Sketch, Count-Min Sketch, and UnivMon, achieving substantial memory savings (around 75%) for the same accuracy or near-order-of-magnitude accuracy improvements under the same memory, and showing strong performance in heterogeneous settings. The work offers a practical pathway to scalable, in-network telemetry that adapts to varying resource availability, outperforming prior per-node and DISCO-style disaggregations.
Abstract
Streaming analytics are essential in a large range of applications, including databases, networking, and machine learning. To optimize performance, practitioners are increasingly offloading such analytics to network nodes such as switches. However, resources such as fast SRAM memory available at switches are limited, not uniform, and may serve other functionalities as well (e.g., firewall). Moreover, resource availability can also change over time due to the dynamic demands of in-network applications. In this paper, we propose a new approach to disaggregating data structures over time and space, leveraging any residual resource available at network nodes. We focus on sketches, which are fundamental for summarizing data for streaming analytics while providing beneficial space-accuracy tradeoffs. Our idea is to break sketches into multiple `fragments' that are placed at different network nodes. The fragments cover different time periods and are of varying sizes, and are combined to form a network-wide view of the underlying traffic. We apply our solution to three popular sketches (namely, Count Sketch, Count-Min Sketch, and UnivMon) and demonstrate we can achieve approximately a 75% memory size reduction for the same error for many queries, or a near order-of-magnitude error reduction if memory is kept unchanged.
