  In this project we explore ways to dynamically load balance actors in a
streaming framework. This is used to address input data skew that might lead to
stragglers. We continuously monitor actors' input queue lengths for load, and
redistribute inputs among reducers using consistent hashing if we detect
stragglers. To ensure consistent processing post-redistribution, we adopt an
approach that uses input forwarding combined with a state merge step at the end
of the processing. We show that this approach can greatly alleviate stragglers
for skewed data.
