Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Keep the existing learner tasks running. We don't want to see half way bounce.
  2. If the load is not balanced between hosts, assign learner tasks from hosts with heavy loads to hosts with lightweight tasks.
  3. As long as the group members/ number of tasks are not changing, there should be a defined balanced stage instead of forever rebalancing.
  4. Instances with standby tasks have higher priority to be chosen as learner task assignor. The standby task will convert to learner task immediately.

Assign standby tasks:

The assignment of standby tasks will remain the same, which we will just pick resource abundant hosts to allocate standby tasks. For tasks that get transferred

after learner tasks finish, we could assign standby tasks right to the degraded hosts which hold previous round of active tasks.



For each instance, the total number of tasks it owns should be within the range of 0.5 ~ 2 times of the expected number of tasks, which buffers some capacity in order to avoid imbalance.

...