1. A method for migrating a group of virtual machines (VMs) from at least one source platform to at least one destination platform, comprising: pre-copying contents of memory associated with each source VM to memory associated with a corresponding respective one of the destination VMs such that copying the memories of all source VMs to be migrated is completed within a pre-copy convergence time window; stunning each source VM after completion of the pre-copying contents of the memory associated with it; checkpointing the stunned source VM and transferring its checkpoint to the destination platform; transmitting from the destination platform to the source platform a handshake message indicating readiness to begin execution of at least one of the destination VMs on the destination platform; receiving from the source platform an acknowledgement message indicating readiness to transfer execution from at least one source VM to the corresponding destination VM; starting execution of each destination VM for which the acknowledgement message has been received; and switching execution from the VMs running on the source platform to the corresponding VMs on the destination platform by: selecting a source leader VM and a destination leader VM; when the destination leader VM has received destination VM resumption messages from all the other destination VMs, transmitting to the source leader VM a destination group resumption message, which the source leader VM forwards to the source VMs; when the source leader VM has received source VM acknowledgement messages from all source VMs, which each power off after sending the respective acknowledgement message, sending a source group acknowledgement message to the destination leader VM; and forwarding the source group acknowledgement message to each destination VM, whereupon the destination VMs resume execution.