2005 · 234 citations · 16 references
ComputingComputer EngineeringComputer ScienceDistributed SystemsParallel AlgorithmsParallel ComputingDistributed ComputingDistributed Data ProcessingLatency OptimizationLoad BalancingStream ProcessingData Stream ProcessingDynamic Load DistributionEnd-to-end DelayEnd-to-end LatencyGreedy HeuristicsLoad DistributionPolynomial-time AlgorithmsStreaming Data Processing
Distributed and parallel computing environments are becoming cheap and commonplace. The availability of large numbers of CPU's makes it possible to process more data at higher speeds. Stream-processing systems are also becoming more important, as broad classes of applications require results in real-time. Since load can vary in unpredictable ways, exploiting the abundant processor cycles requires effective dynamic load distribution techniques. Although load distribution has been extensively studied for the traditional pull-based systems, it has not yet been fully studied in the context of push-based continuous query processing. In this paper, we present a correlation based load distribution algorithm that aims at avoiding overload and minimizing end-to-end latency by minimizing load variance and maximizing load correlation. While finding the optimal solution for such a problem is NP-hard, our greedy algorithm can find reasonable solutions in polynomial time. We present both a global algorithm for initial load distribution and a pair-wise algorithm for dynamic load migration.
16
Aurora: a new model and architecture for data stream management
Daniel J. Abadi, Don Carney, Ugur �etintemel et al. · The VLDB Journal · 2003 · 1.5K citations
The Design of the Borealis Stream Processing Engine
Daniel J. Abadi, Yanif Ahmad, Magdalena Bałazińska et al. · 2005 · 1.2K citations
Scalable Distributed Stream Processing
Mitch Cherniack, Hari Balakrishnan, Magdalena Bałazińska et al. · 2003 · 483 citations