Optimal Operator State Migration for Elastic Data Stream Processing

A typical massively parallel data stream management system answers continuous queries over fast data through interconnected operators, each of which runs on multiple nodes in the cluster. Because key properties of the data stream, e.g., arrival rates and data distributions, can fluctuate unpredictably, it is important to execute each operator in an elastic fashion, meaning that nodes can be dynamically added to or removed from the operator to match the latter's workload. For stateful operators such as aggregations and joins, the addition or removal of nodes necessitates the migration of operator states between nodes. Finding the optimal migration strategy is challenging, since such a strategy must minimize the migration costs, balance the workload of all nodes, and facilitate efficient migrations that occur during subsequent node additions or removals. Motivated by this, we present the first comprehensive study on optimal operator states migration, and propose effective and efficient algorithms based on dynamic programming and the Markov decision process. Further, we describe novel system designs that enable efficient implementations of the migration process as well as the computation of the optimal migration strategy. Extensive experiments using real data confirm the effectiveness and efficiency of the proposed techniques.
View on arXiv