Source-linked AI summary
Modeling and Simulation of Scalable Cloud Computing Environments and the CloudSim Toolkit: Challenges and Opportunities
Rajkumar Buyya, Rajiv Ranjan, Rodrigo N. Calheiros
TL;DR
Cloud computing needs detailed evaluation of resource allocation and scheduling across heterogeneous applications, workloads, QoS requirements, and infrastructure scales. The paper introduces CloudSim, an extensible and customizable simulation toolkit for modeling virtual machines, tasks, data centers, and Cloud policies. CloudSim supports repeatable experimentation, including federation studies; one reported experiment found that federated infrastructure reduced average turn-around time by more than 50% and improved makespan by 20%.
Problem
Evaluating Cloud resource allocation and application scheduling under varying workloads, infrastructure sizes, energy conditions, and QoS requirements is difficult in real environments.
Method
The paper develops CloudSim, an extensible simulation toolkit with configurable models for data centers, virtual machines, tasks, brokers, scheduling, allocation, and federation.
Results
Federated infrastructure reduced average turn-around time by more than 50% and improved makespan by 20% in the reported experiment.
Takeaways & Limitations
CloudSim provides a customizable research tool for repeatable evaluation of Cloud provisioning, service delivery, scheduling, allocation, and federation policies before real-world deployment.
Abstract
from arXiv · showhide
Cloud computing aims to power the next generation data centers and enables application service providers to lease data center capabilities for deploying applications depending on user QoS (Quality of Service) requirements. Cloud applications have different composition, configuration, and deployment requirements. Quantifying the performance of resource allocation policies and application scheduling algorithms at finer details in Cloud computing environments for different application and service models under varying load, energy performance (power consumption, heat dissipation), and system size is a challenging problem to tackle. To simplify this process, in this paper we propose CloudSim: an extensible simulation toolkit that enables modelling and simulation of Cloud computing environments. The CloudSim toolkit supports modelling and creation of one or more virtual machines (VMs) on a simulated node of a Data Center, jobs, and their mapping to suitable VMs. It also allows simulation of multiple Data Centers to enable a study on federation and associated policies for migration of VMs for reliability and automatic scaling of applications.
1. Introduction
Cloud applications vary in composition, deployment, demand, and QoS requirements, making real-world evaluation of scheduling and allocation policies difficult. CloudSim addresses this challenge with a generalized, extensible simulation framework for repeatable experimentation and configurable infrastructure modeling.
- Cloud applications have differing composition, configuration, deployment, demand, and QoS requirements, complicating performance evaluation of scheduling and allocation policies.Cloud environments also exhibit varying demand, supply patterns, and system sizes.
- Simulation enables repeatable, controllable, and cost-free testing before deployment, including tuning performance bottlenecks.Providers can also evaluate resource-leasing scenarios under varying loads and pricing distributions.
- CloudSim is proposed as a generalized, extensible framework for modeling, simulating, and experimenting with Cloud infrastructures and application services.It lets researchers focus on system-design issues without handling low-level infrastructure details.
- CloudSim models large-scale infrastructures and provides self-contained data-center, broker, scheduling, and allocation components.Its virtualization engine supports multiple independent co-hosted services and switching between space-shared and time-shared core allocation.
2. Key Concepts and Terminologies
Cloud computing combines virtualized infrastructure with layered service delivery, while applications face changing workloads and QoS demands. Federation coordinates geographically distributed Clouds through brokers, coordinators, and exchanges, motivating simulation support beyond traditional Grid tools.
- Cloud Computing: Cloud computing presents interconnected, virtualized computers as unified resources dynamically provisioned through service-level agreements.Examples include Microsoft Azure, Amazon EC2, Google App Engine, and Aneka.
- Cloud Applications and Resources: Cloud applications have time-varying usage patterns and differing QoS requirements, while data centers contain large pools of virtualized physical resources.Virtual machines share capacity while remaining isolated for fault tolerance and security.
- Layered Design: The layered architecture delivers IaaS from physical resources, PaaS through user-level middleware, and SaaS through application services.PaaS and SaaS may be provided by third parties distinct from IaaS providers.
- Layered Design: User-level middleware supplies interfaces, programming environments, and composition tools for creating, deploying, and executing Cloud applications.These tools support browser-based applications and application composition.
- Federation: Cloud federation coordinates load and service placement across geographically distributed data centers as demand changes.The architecture includes Cloud coordinators, brokers, and a Cloud Exchange that matches infrastructure demand with published supply.
- Federation: Federated Clouds support applications such as social networks and CDNs whose components may span providers and require dynamic scaling.Social networking applications can comprise hundreds of services hosted across dozens of Cloud data centers.
- Related Work: Existing Grid simulators model distributed execution, scheduling, allocation, and monitoring but generally lack Cloud-specific infrastructure and application support.Cloud simulation requires modeling economic entities such as brokers and Cloud exchanges; among discussed tools, GridSim supports economic-driven management and scheduling.
- Research Challenges: Cloud research requires investigation of provisioning economics, application scheduling, resource discovery, inter-Cloud negotiation, and federation.These topics span the Cloud software stack.
3. CloudSim Architecture
CloudSim extends GridSim and SimJava with a layered framework for modeling large-scale virtualized Cloud infrastructures, configurable applications, and resource-allocation policies. Its two-level scheduling model represents how hosts divide processing capacity among VMs and how VMs schedule tasks.
- Architecture: CloudSim extends GridSim and SimJava to model virtualized data centers, including VM, host, data center, and application entities.The CloudSim layer manages provisioning, execution, and monitoring while supporting thousands of system components.
- Architecture: User code configures hosts, applications, VMs, users, request distributions, availability scenarios, and broker scheduling policies for controlled experiments.Researchers can extend CloudSim functionality to test specific scenarios and configurations.
- VM allocation: Cloud hosts can share processing cores among multiple VMs using space-shared, time-shared, on-demand, or custom allocation policies.Space-shared policies assign specific cores, whereas time-shared policies distribute core capacity among VMs.
- VM allocation: CloudSim schedules at both host and VM levels because multiple VMs may share a host’s constrained processing capacity while maintaining isolated execution contexts.Host-level scheduling allocates core capacity to VMs, while VM-level scheduling allocates that capacity among task units.
- VM allocation: Time-sharing choices determine queueing and completion behavior: sharing at both VM and task levels eliminates queues, while mixed policies can delay queued tasks.Figure 4 compares space- and time-shared allocation across VMs and tasks.
- Cloud market: CloudSim models market costs for processing, memory, storage, and bandwidth, with memory and storage charged at VM creation and bandwidth during transfers.Processing cost is associated with executed task units and can be changed by users.
4. Design and Implementation of CloudSim
CloudSim implements core Cloud infrastructure and experiment behavior through extensible components for provisioning, scheduling, storage, application execution, and communication. Its discrete-event design limits simulated entities to improve scalability while brokers and information services coordinate deployment.
- Core components: DataCenter models provider infrastructure, while Hosts manage VM lifecycles and expose configurable resource provisioning for heterogeneous or homogeneous resources.Host capabilities include processing capacity, memory, storage, and single- or multi-core support.
- Core components: DatacenterBroker mediates between users and providers, consulting the Cloud Information Service to match application requirements with suitable Clouds.After a match, the broker deploys the application with the suggested Cloud.
- Storage: SANStorage simulates data storage and retrieval subject to network bandwidth, with runtime file access adding transfer delays to task execution.The model represents storage-area-network effects within data center execution.
- Application execution: VirtualMachine represents a managed VM with memory, processor, storage, and internal scheduling characteristics, while Cloudlet represents application services and their computational and transfer requirements.Sensors can trigger load migration through the CloudCoordinator.
- Provisioning and scheduling: CloudSim includes components for memory, VM, processing, and bandwidth provisioning, whose policies can be extended for application-specific requirements.The default VM provisioner uses first-available host allocation, while processing policies include space-shared and time-shared alternatives.
- Entities and communication: CloudSim reduces scalability overhead by making only Users and Datacenters SimJava entities, while task completion times are queued and returned after event processing.This design minimizes threads and context switching in large simulations.
- Entities and communication: Simulation communication begins with data-center registration in the CIS, followed by broker consultation, resource matching, and application deployment, with policy-dependent confirmations or VM limits.The basic flow can vary according to broker and data-center policies.
5. Experiments and Evaluation
The experiments evaluate CloudSim’s simulation overhead, task scheduling behavior, and federated-cloud performance. Results show scalable instantiation, policy-dependent execution times, and substantial application-performance gains from federation.
- Simulation overhead: Instantiating 100000 machines took below 5 minutes, although instantiation time increased exponentially with the number of hosts.The experiments varied the data-center size from 100 to 100000 hosts.
- Task scheduling: Time-shared scheduling caused task execution times to vary with submitted-task count because processing cores were concurrently context switched among scheduled tasks.The first group of 50 tasks completed earlier because hosts were initially not overloaded; response time improved as hosts became available.
- Federated clouds: Federated infrastructure reduced average Cloudlet turn-around time by more than 50% and improved application makespan by 20%.The result was observed even with a very simple load-migration policy in a simulation of three data centers and one user.
6. Conclusion and Future Work
CloudSim is presented as a customizable toolkit for repeatable, controllable evaluation of Cloud policies before real deployment. Its extensibility supports experiments across the software stack, while future work targets additional pricing and provisioning policies.
- Conclusion: CloudSim enables repeatable, controllable, and cost-free testing of provisioning and service-delivery policies before deployment on commercial Clouds.The toolkit also supports tuning performance bottlenecks before real-world deployment.
- Conclusion: CloudSim’s customizable architecture allows researchers to extend and define policies across all components of the software stack.This makes the toolkit suitable for research involving complexities arising from simulated environments.
- Future work: Future work will incorporate new pricing and provisioning policies to provide built-in support for simulating currently available Clouds.The paper also identifies multi-service providers and routing boundaries as continuing modeling challenges.