  Traditionally, HPC workloads have been deployed in bare-metal clusters; but
the advances in virtualization have led the pathway for these workloads to be
deployed in virtualized clusters. However, HPC cluster administrators/providers
still face challenges in terms of resource elasticity and virtual machine (VM)
provisioning at large-scale, due to the lack of coordination between a
traditional HPC scheduler and the VM hypervisor (resource management layer).
This lack of interaction leads to low cluster utilization and job completion
throughput. Furthermore, the VM provisioning delays directly impact the overall
performance of jobs in the cluster. Hence, there is a need for effectively
provisioning virtualized HPC clusters, which can best-utilize the physical
hardware with minimal provisioning overheads.
  Towards this, we propose Multiverse, a VM provisioning framework, which can
dynamically spawn VMs for incoming jobs in a virtualized HPC cluster, by
integrating the HPC scheduler along with VM resource manager. We have
implemented this framework on the Slurm} scheduler along with the vSphere VM
resource manager. In order to reduce the VM provisioning overheads, we use
instant cloning which shares both the disk and memory with the parent VM, when
compared to full VM cloning which has to boot-up a new VM from scratch.
Measurements with real-world HPC workloads demonstrate that, instant cloning is
2.5x faster than full cloning in terms of VM provisioning time. Further, it
improves resource utilization by up to 40%, and cluster throughput by up to
1.5x, when compared to full clone for bursty job arrival scenarios.
