Variability in data streams
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.
Keywords
Cite
@article{arxiv.1502.07027,
title = {Variability in data streams},
author = {David Felber and Rafail Ostrovsky},
journal= {arXiv preprint arXiv:1502.07027},
year = {2015}
}
Comments
submitted to ICALP 2015 (here, fullpage formatting)