Do we need to use LoadBalancer here? I suppose we could use something like the SplitWALManager, where we could configure the max concurrency number for a region server, and if there are more tasks then the number_of_region_servers * max_concurrency, we just do not schedule all the tasks, once there are tasks finished, we will schedule new tasks. This could make the tasks more evenly distributed.