Why start_of_simulation_phase is in bottup manner..?

You should only rely on the build_phase being top-down. You should assume no predefined ordering of the time-consuming task phases. Assume they get started in parallel

See some of the discussion here: