English

The Power of Both Choices: Practical Load Balancing for Distributed Stream Processing Engines

Distributed, Parallel, and Cluster Computing 2016-11-17 v1

Abstract

We study the problem of load balancing in distributed stream processing engines, which is exacerbated in the presence of skew. We introduce Partial Key Grouping (PKG), a new stream partitioning scheme that adapts the classical "power of two choices" to a distributed streaming setting by leveraging two novel techniques: key splitting and local load estimation. In so doing, it achieves better load balancing than key grouping while being more scalable than shuffle grouping. We test PKG on several large datasets, both real-world and synthetic. Compared to standard hashing, PKG reduces the load imbalance by up to several orders of magnitude, and often achieves nearly-perfect load balance. This result translates into an improvement of up to 60% in throughput and up to 45% in latency when deployed on a real Storm cluster.

Keywords

Cite

@article{arxiv.1504.00788,
  title  = {The Power of Both Choices: Practical Load Balancing for Distributed Stream Processing Engines},
  author = {Muhammad Anis Uddin Nasir and Gianmarco De Francisci Morales and David García-Soriano and Nicolas Kourtellis and Marco Serafini},
  journal= {arXiv preprint arXiv:1504.00788},
  year   = {2016}
}

Comments

31st IEEE International Conference on Data Engineering (ICDE), 2015

R2 v1 2026-06-22T09:09:27.548Z