Cloud Data centers aim to provide reliable, sustainable and scalable services for all kinds of applications. Resource scheduling is one of keys to cloud services. To model and evaluate different scheduling policies and algorithms, we propose FlexCloud, a flexible and scalable simulator that enables users to simulate the process of initializing cloud data centers, allocating virtual machine requests and providing performance evaluation for various scheduling algorithms. FlexCloud can be run on a single computer with JVM to simulate large scale cloud environments with focus on infrastructure as a service, adopts agile design patterns to assure the flexibility and extensibility, models virtual machine migrations which is lack in the existing tools, provides user-friendly interfaces for customized configurations and replaying. Comparing to existing simulators, FlexCloud has combined features for supporting public cloud providers, load-balance and energy-efficiency scheduling. FlexCloud has advantage in computing time and memory consumption to support large-scale simulations. The detailed design of FlexCloud is introduced and performance evaluation is provided.
['Minxian Xu', 'Guozhong Li', 'Wutong Yang', 'Wenhong Tian']
FlexCloud: A Flexible and Extendible Simulator for Performance Evaluation of Virtual Machine Allocation