We present results of DABS implemented of Apache Storm. DABS is composed of a custom scheduler named AUTOSCALE+ and a custom grouping solution denoted OSG. We tested DABS against alternative schedulers and grouping solutions.
The incremental scheduler (incr) adapts the parallelism degree of operators according to the ratio input/processing rate. This rate is computed from averages values on recent history for each operator.
If this ratio is strictly greater than an upper relative bound (e.g., 80%), it increases the parallelism by one. At the opposite, if this ratio is strictly lower than a lower bound it decreases the parallelism degree by one (if possible).
The reinforcement learning scheduler (rlearn) adapts also the parallelism degree of operators according to the ratio input/processing rate averaged on recent operator's history. Nevertheless, the new parallelism is selected accordingto a knowledge
specific for each operator. A knowledge base is a set of rules updated and extended at runtime each time a new rule is generated. A rule is a quadruplet following the schema operator->state->degree->reward where a state is an interval of input rates and the reward
corresponds to the ratio input/processing rate mentioned above. Considering same operator and state, a rule r1 is better than r2 if the reward of r1 is closer to 1 by inferior value than the reward associated to r2.
It means that applying r1 instead of r2 fits the processing rate to the input rate with more accuracy and prevents congestion. Each time a rule with a new state is generated, it is added to the knowledge base.
In addition, each time a rule associated to a known state but with a better reward than the existing one is generated, the old rule is replaced by the new one.
The shuffle grouping (shuffle) distributes tuples among replicas of an operator in a Round-Robin fashion without consideration for the value.
Experimental parameters are summarized in the following table:
Main parameters
window size | 90s |
monitoring frequency | 10s |
Α | 0.3 |
Β | 0.7 |
combine strategy | max |
Θ | 0.05 |
Ε | 0.05 |
processing timeout | 30s |
max nb of executors per bolt | 14 |
|