Thesis (M. Eng.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2011.Cataloged from PDF version of thesis.Includes bibliographical references (p. 107-108).Server virtualization enables data centers to run many VMs on individual hosts - this reduces costs, simplifies administration and facilitates management. Improvement in hardware and virtualization technology, coupled with the use of virtualization for desktop machines with modest steady-state resource utilization, is expected to allow individual hosts to run thousands of VMs at the same time. Such high VM densities per host would allow data centers to reap unprecedented cost-savings in the future. Unfortunately, unusually high CPU and memory pressure generated when many VMs boot up concurrently can cripple hosts that can otherwise run many VMs. Over provisioning hardware to avoid prohibitively high boot latencies that result from these - often daily - boot storms is clearly expensive. The aim of this thesis is to investigate whether a hypervisor could theoretically exploit the overlap in the instruction streams of concurrently booting VMs to reduce CPU pressure in boot storms. This idea, which we name silhouette execution, would allow hypervisors to use the CPU in a scalable way, much like transparent page sharing allows a hypervisor to use its limited memory in a scalable fashion. To evaluate silhouette execution, we studied user-space instruction streams from a few Linux services using dynamic instrumentation. We statistically profiled the extent of nondeterminism in program execution, and compiled the reasons behind any execution differences. Though there is significant overlap in the user-mode instruction streams of Linux services, our simple simulations show that silhouette execution would increase CPU pressure by 13% for 100 VMs and 6% for 1000 VMs. To remedy this, we present a few strategies for reducing synthetic differences in execution in user-space programs. Our simulations show that silhouette execution can reduce CPU pressure on a host by a factor of 8x for 100 VMs and a factor of 19x for 1000 VMs once these strategies are used. We believe that the insights provided in this thesis on controlling execution differences in concurrently booting VMs via dynamic instrumentation are a prelude to a successful future implementation of silhouette execution.by Syed Aunn Hasan Raza.M.Eng