Enable researchers to model and simulate different cloud scenarios, by implementing them using Java
The CloudSim Plus
CloudSim Plus is a new, full-featured, re-designed, highly extensible and modern Java 8 framework for modeling and simulation of cloud computing infrastructure, services, underlying mechanisms and algorithms. CloudSim Plus is founded on several software design and engineering metrics, principles and practices such as Coupling, Cohesion, Design Patterns, SOLID principles and other ones like Don’t Repeat Yourself (DRY) and KISS.
- Instituto Federal de Educação do Tocantins (Brazil)
- Instituto de Telecomunicações (Portugal)
- Universidade da Beira Interior (Portugal)
characteristics & features
- Dynamic Creation of Vms and Applications (Cloudlets): on-demand creation of Vms and Cloudlets, without requiring creation of DatacenterBrokers at runtime.
- Vm Scaling: two different kinds of Vm scaling (vertical and horizontal Vm scaling mechanisms), additionally with Vm migration algorithms, can be used selectively by an Hypervisor to provide a very efficient Vm allocation policy mechanism to achieve intended goals. This mechanism can decide the time to perform Vm migration, vertical or horizontal Vm scale.
- Paralel Execution of Simulations: enables running multiple experiments in parallel, in a multi-core machine, to reduce simulation time. The real time reduction that can be achieved by running simulations in parallel is tightly dependent of the simulation scenario and its scale.
- Event Listeners: mechanism to monitor simulation in runtime, allowing collection of metrics, resource allocation decision making (such as Vm scaling) and granular simulation execution feedback. Since the final goal of a simulation is the collection of data to be processed, assessed and validated, Listeners enable researchers to collect such data at any time interval they need.
- Strongly Object-oriented Framework: CloudSim Plus was comprehensively re-engineered to create relationships among classes, enabling chained calls such as cloudlet . getVm () . getHost () .getDatacenter (). This way, it stores references to actual objects, instead of just integer IDs to represent these relationships, which does not conform to an object-oriented design.
- Classes and Interfaces Allowing Implementation of Heuristics: set of classes and interfaces to enable a researcher to build such heuristics for solving problems like Vm placement and migration.
- Other characteristics and additional information can be seen at CloudSim Plus webpage and in this White Paper.
A highly extensible and easier-to-use Framework for Modeling and Simulation of Cloud Computing Infrastructures and Services