Source-linked AI summary
CloudSim: A Novel Framework for Modeling and Simulation of Cloud Computing Infrastructures and Services
Rodrigo N. Calheiros, Rajiv Ranjan, Cesar A. F. De Rose, Rajkumar Buyya
TL;DR
Cloud infrastructure and service policies are difficult to evaluate across varied applications, loads, energy conditions, and system sizes, while real testbeds limit scale and reproducibility. The paper introduces CloudSim, a generalized and extensible framework for modeling Cloud infrastructures, services, virtualization, and allocation policies. Its supported abstractions include large-scale data centers, market entities, co-hosted virtual services, and switchable space-shared or time-shared core allocation.
Problem
Evaluating Cloud scheduling and allocation policies across varied applications, loads, energy performance, and system sizes is difficult, and real testbeds limit scale and reproducibility.
Method
The paper proposes CloudSim, a generalized and extensible framework for modeling, simulating, and experimenting with Cloud infrastructures and application services.
Results
CloudSim supports large-scale infrastructure modeling, self-contained policy modeling, virtualized co-hosted services, Cloud-market entities, and switchable space-shared or time-shared allocation.
Takeaways & Limitations
CloudSim provides a repeatable and controllable environment for testing policies before deployment and studying resource leasing under varying load and pricing distributions.
Abstract
from arXiv · showhide
Cloud computing focuses on delivery of reliable, secure, fault-tolerant, sustainable, and scalable infrastructures for hosting Internet-based application services. These applications have different composition, configuration, and deployment requirements. Quantifying the performance of scheduling and allocation policy on a Cloud infrastructure (hardware, software, services) for different application and service models under varying load, energy performance (power consumption, heat dissipation), and system size is an extremely challenging problem to tackle. To simplify this process, in this paper we propose CloudSim: a new generalized and extensible simulation framework that enables seamless modelling, simulation, and experimentation of emerging Cloud computing infrastructures and management services. The simulation framework has the following novel features: (i) support for modelling and instantiation of large scale Cloud computing infrastructure, including data centers on a single physical computing node and java virtual machine; (ii) a self-contained platform for modelling data centers, service brokers, scheduling, and allocations policies; (iii) availability of virtualization engine, which aids in creation and management of multiple, independent, and co-hosted virtualized services on a data center node; and (iv) flexibility to switch between space-shared and time-shared allocation of processing cores to virtualized services.
1. Introduction
Cloud applications vary in composition, configuration, deployment requirements, and load, making infrastructure-policy evaluation difficult to quantify. CloudSim is proposed as a generalized, extensible framework for repeatable modeling, simulation, and experimentation of Cloud infrastructures and services.
- Motivation: Cloud applications differ in composition, configuration, and deployment requirements, while policy evaluation must account for load, energy performance, and system size.Real testbeds constrain scale and make reproducing Internet-based conditions difficult.
- Motivation: Simulation lets Cloud customers test services repeatably and controllably before deployment, while providers evaluate resource leasing under varying loads and pricing distributions.These experiments can support performance tuning and resource-access cost optimization.
- Contribution: CloudSim provides a generalized and extensible framework for modeling, simulating, and experimenting with emerging Cloud infrastructures and application services.It enables researchers and developers to focus on system-design issues without handling low-level infrastructure details.
- Features: CloudSim models large-scale infrastructures and provides self-contained representations of data centers, service brokers, scheduling, and allocation policies.The framework can model data centers on a single physical computing node.
- Features: Its virtualization engine manages multiple independent, co-hosted virtualized services and supports switching between space-shared and time-shared processing-core allocation.These features are intended to speed development of Cloud computing algorithms, methods, and protocols.
2. Related Works Cloud computing
Cloud computing applications operate at the highest layer of a data-center architecture and exhibit varied, often unpredictable usage patterns. The architecture combines large physical resource pools with virtualization services that share capacity among isolated virtual server instances.
- Data-center architecture: Cloud computing power is supplied by data centers typically containing hundreds to thousands of servers.These data centers provide the physical resource base for Cloud services.
- Data-center architecture: A typical Cloud data center places massive physical storage and application resources beneath higher-level virtualization services and toolkits.Virtualization allows capacity sharing among virtual server instances.
- Data-center architecture: Virtual server instances are isolated from one another, supporting fault-tolerant behavior and separate security contexts.The passage presents isolation as a property of the virtualized data-center architecture.
- Cloud applications: Cloud applications include social networking, gaming portals, business applications, content delivery, and scientific workflows.They have different QoS requirements based on time criticality and user interaction patterns.
Simulation
Existing Grid simulators model distributed Grid behavior but provide limited support for Cloud-specific virtualization, economic management, and application requirements. Cloud simulation therefore requires modeling on-demand virtualized resources and market entities such as brokers and exchanges.
- Existing simulators: SimGrid, GangSim, and GridSim model distributed applications, virtual organizations, heterogeneous resources, networks, scheduling, allocation, and monitoring.These capabilities target distributed Grid environments with multiple organizations.
- Cloud-specific gap: Existing Grid simulation toolkits provide little or no support for Cloud infrastructure and application requirements, especially on-demand virtualization-enabled management.The passage identifies this as a gap between Grid simulation capabilities and the Cloud paradigm.
- Cloud-specific gap: Cloud simulators must represent subscription-based, pay-as-you-go services and economic entities such as Cloud brokers and exchanges.These entities enable service trading, while cost and pricing policies support Cloud-market modeling.
- Open research topics: Cloud research also requires investigating provisioning strategies, application scheduling, resource discovery, inter-cloud negotiation, and federation.The passage characterizes Cloud systems, applications, and services as being in an early research stage.
3. CloudSim Architecture
CloudSim uses layered simulation architecture to model virtualized cloud infrastructures, resource allocation, scheduling, and market-related policies. Its extensible components support multiple allocation strategies and configurable infrastructure experiments.
- Layered architecture: CloudSim extends SimJava and GridSim with a layer for modeling virtualized cloud data centers and managing VMs, hosts, data centers, and applications.The architecture reuses lower-level event simulation and Grid infrastructure capabilities while adding cloud-specific management interfaces.
- Layered architecture: The user-code layer configures hosts, applications, VMs, users, application types, and broker scheduling policies for scenario-specific experiments.Researchers can extend CloudSim functionality to test specific configurations and develop cloud-computing practices.
- Resource allocation: Hosts support single-core and multi-core nodes, while VM schedulers can allocate processing cores using space-shared or time-shared policies.These policies can be extended to represent custom processor-sharing strategies.
- Resource allocation: CloudSim models VM provisioning through customizable policies, with a default First-Come-First-Serve mapping based on requested cores, memory, and storage.Researchers can implement alternative provisioning strategies according to infrastructure and application demands.
- Scheduling: CloudSim supports two-level VM scheduling because multiple isolated VMs can share a host’s constrained processing capacity and task execution time slices.Scheduling occurs at both the host level and the VM level to represent different performance-isolation policies.
- Cloud market: The framework models cloud-market costs for processing, memory, storage, and bandwidth, with charges tied to VM creation, data transfer, and task execution.Memory and storage costs occur during VM creation, bandwidth costs during transfer, and processing costs during task execution.
4. Design and Implementation of CloudSim
CloudSim implements cloud infrastructure and application entities as extensible components built on discrete-event simulation. Its design covers provisioning, storage, VM execution, bandwidth, brokering, and communication among simulation entities.
- Core components: CloudSim’s class design provides building blocks for datacenters, brokers, virtual machines, application services, provisioning policies, and storage.These classes model both infrastructure-level services and application execution within virtualized data centers.
- Core components: A Datacenter encapsulates homogeneous or heterogeneous hosts and resource-provisioning policies for infrastructure services offered by cloud providers.Hosts may differ in memory, cores, capacity, and storage configurations.
- Core components: DatacenterBroker mediates between users and providers, identifies suitable clouds through CIS, negotiates resource allocation, and deploys tasks according to QoS requirements.Researchers extend the broker to experiment with custom application-placement policies.
- Resource modeling: CloudSim models SAN storage delays caused by transferring required data files through the data center’s internal network during task execution.The SANStorage interface supports simulating storage and retrieval subject to network-bandwidth availability.
- Resource modeling: VirtualMachine represents a VM whose lifecycle is managed by a Host, including simultaneous instantiation, resource characteristics, and internal scheduling policy.VMs can receive cores under predefined space-shared or time-shared processor-sharing policies.
- Resource modeling: Cloudlets represent cloud application services through computational instruction lengths and pre- and post-execution data-transfer requirements.This represents application complexity in terms of computational and data-movement demands.
- Provisioning policies: Provisioner classes model customizable allocation of memory, bandwidth, and VMs to hosts, while VMMAllocationPolicy supports space-shared and time-shared processor allocation.Default implementations provide basic mappings, and researchers can override policies for application-specific experiments.
- Communication and execution: Simulation entities inherit SimJava’s Runnable-based threading model and communicate by sending and receiving messages through a shared event queue.After event processing, completed tasks are returned to users.
5. Tests and Evaluation
The evaluation measures CloudSim’s instantiation overhead and task execution under space-shared and time-shared scheduling. Instantiation scales to 100000 hosts in under five minutes, while scheduling policies produce distinct execution-time behavior.
- Simulation instantiation: The experiments evaluated CloudSim’s efficiency for simulating environments with 100 to 100000 hosts on a 1.86GHz Celeron machine with 1GB of RAM.The tests focused on infrastructure instantiation overhead rather than user workload for the host-scaling experiments.
- Resource usage: The memory test profiled total physical memory used while fully instantiating and loading the CloudSim environment.Instantiation delay was defined from loading the CloudSim program in the Java virtual machine to completion of environment loading.
- Simulation instantiation: Instantiation time grew exponentially with the number of hosts, but 100000 machines were instantiated in below 5 minutes.The authors were investigating the cause of this growth for future optimization.
- Task scheduling: The workload experiment used 10000 single-core hosts, 50 VMs, and 500 task units submitted in groups of 50 every 10 minutes.Each task required 1200000 million instructions and 300kB of data transfer; VMs used both scheduling policies.
- Task scheduling: Under space-shared scheduling, each task had dedicated access to a processing core and took 20 minutes to complete.Incoming task or queue size did not affect individual task execution time under this policy.
- Task scheduling: Under time-shared scheduling, task execution time varied as processing cores were context-switched among scheduled tasks.The first group of 50 tasks completed earlier because hosts were not initially overloaded; later completions made more hosts available and improved response time.
6. Conclusion and Future Work
CloudSim is presented as a customizable framework for testing Cloud management methods and policies in repeatable, controllable simulations. Future work includes new pricing and provisioning policies and support for federated Cloud networks and elastic applications.
- Conclusion: CloudSim supports extension and definition of policies across the software stack, making it suitable for research on simulated Cloud environments.The framework is intended to let developers test provisioning and service delivery policies before deployment on real Clouds.
- Future work: Future work includes simulating federated networks of Clouds to support designing and testing elastic Cloud applications.