1. A method for provisioning a plurality of virtual machines (VMs) on a plurality of hosts, the method comprising: selecting a source virtual machine (VM) from a pool of VMs available to be cloned, wherein the selected source VM is on a source host; determining, for each of a plurality of hosts including the source host, a time to create a predetermined target number of VMs for the respective host on the respective host; selecting a target host from the plurality of hosts having a longest respective time to create the predetermined target number of VMs for the respective host; cloning the source VM to create a second VM on the selected target host; and adding the second VM to the pool of VMs available to be cloned.