make scheduling evenly distribute slots across all hosts

Changed the way even schedule distribute slots into also considering the number of used slots across all hosts. Make sure the new assignment use slots evenly across all hosts.