paper

Variability in data streams

arXiv:1502.07027

Abstract

We consider the problem of tracking with small relative error an integer function defined by a distributed update stream . Existing streaming algorithms with worst-case guarantees for this problem assume to be monotone; there are very large lower bounds on the space requirements for summarizing a distributed non-monotonic stream, often linear in the size of the stream. Input streams that give rise to large space requirements are highly variable, making relatively large jumps from one timestep to the next. However, streams often vary slowly in practice. What has heretofore been lacking is a framework for non-monotonic streams that admits algorithms whose worst-case performance is as good as existing algorithms for monotone streams and degrades gracefully for non-monotonic streams as those streams vary more quickly. In this paper we propose such a framework. We introduce a new stream parameter, the "variability" , deriving its definition in a way that shows it to be a natural parameter to consider for non-monotonic streams. It is also a useful parameter. From a theoretical perspective, we can adapt existing algorithms for monotone streams to work for non-monotonic streams, with only minor modifications, in such a way that they reduce to the monotone case when the stream happens to be monotone, and in such a way that we can refine the worst-case communication bounds from to . From a practical perspective, we demonstrate that can be small in practice by proving that is for monotone streams and for streams that are "nearly" monotone or that are generated by random walks. We expect to be for many other interesting input classes as well.

submitted to ICALP 2015 (here, fullpage formatting)

Variability in data streams · wovepaper