regression test is running, but these is a epoch mismatch fatal

@hongchao, can you check the why there is epoch mismatch error? the regression test seems to be working with each iteration comes back right value.
> . But the point is, the old way of specifying the number of tasks go through a -1 and +1 operation, that is extra weight that we should not expose to user.

I can't understand the point..

It looks like you are changing two things here -- the regression test and tree topo. I also use tree topo. If you simply change it on your side, it will also break my part. So my suggestion is to keep the old tree topo (which was your impl.) and get regression test done at this moment.

We can always reimplement tree topo later.