Adding Virtual Machine Abstractions Into SimGrid, A First Step Toward the Simulation of Infrastructure-as-a-Service Concerns
Résumé
As real systems become larger and more complex, the use of simulator frameworks grows in our research community. By leveraging them, users can focus on the major aspects of their algorithm, run in-siclo experiments (i.e., simulations), and thoroughly analyze results, even for a large-scale environment without facing the complexity of conducting in-vivo studies (i.e., on real testbeds). Since nowadays the virtual machine (VM) technology has become a fundamental building block of distributed computing environments, in particular in cloud infrastructures, our community needs a full-fledged simulation framework that enables us to investigate large-scale virtualized environments through accurate simulations. To be adopted, such a framework should provides easy-to-use APIs, close to the real ones and preferably fully compatible with those of an existing popular simulation framework. In this paper, we present the current implementation status of a highly-scalable and versatile simulation framework supporting VM environments, extending a widely-used, open-source frame- work, SimGrid. Our simulation framework allows users to launch hundreds of thousands of VMs on their simulation programs and control VMs in the same manner as in the real world (e.g., suspend/resume and migrate). Users can execute computation and communication tasks on physical machines (PMs) and VMs through the same SimGrid API, which will provide a seamless migration path to IaaS simulations for thousands of SimGrid users. Preliminary validations showed that the resource sharing mechanism of the VM support worked correctly.