Simulation of Cloud Computing Environments with CloudSim

Similar documents
ENERGY EFFICIENT VIRTUAL MACHINE INTEGRATION IN CLOUD COMPUTING

Association of Cloud Computing in IOT

GSJ: VOLUME 6, ISSUE 6, August ISSN

A Survey on CloudSim Toolkit for Implementing Cloud Infrastructure

A formal framework for the management of any digital resource in the cloud - Simulation

STUDY THE EFFECT OF PARAMETERS TO LOAD BALANCING IN CLOUD COMPUTING

LOAD BALANCING ALGORITHM TO IMPROVE RESPONSE TIME ON CLOUD COMPUTING

Global Journal of Engineering Science and Research Management

Efficient Technique for Allocation of Processing Elements to Virtual Machines in Cloud Environment

Chapter 3 Virtualization Model for Cloud Computing Environment

Cloud Computing and the Cloud Simulation

An EMUSIM Technique and its Components in Cloud Computing- A Review

RIAL: Resource Intensity Aware Load Balancing in Clouds

Load Balancing in Cloud Computing System

Traffic-aware Virtual Machine Placement without Power Consumption Increment in Cloud Data Center

Experimental Model for Load Balancing in Cloud Computing Using Throttled Algorithm

Efficient Task Scheduling Algorithms for Cloud Computing Environment

Chapter 5. Minimization of Average Completion Time and Waiting Time in Cloud Computing Environment

A Review on Cloud Service Broker Policies

A Dynamic Resource Allocation Framework Based On Workload Prediction Algorithm For Cloud Computing

CloudSim: A Toolkit for Modeling and Simulation of Cloud Computing Environments

ALI-ABA Topical Courses ESI Retention vs. Preservation, Privacy and the Cloud May 2, 2012 Video Webcast

Dynamic Task Scheduling in Cloud Computing Based on the Availability Level of Resources

Introduction to Cloud Computing. [thoughtsoncloud.com] 1

Lecture 7: Data Center Networks

A new efficient Virtual Machine load balancing Algorithm for a cloud computing environment

Experimental Model for Load Balancing in Cloud Computing Using Equally Spread Current Execution Load Algorithm

Elastic Resource Provisioning for Cloud Data Center

High Performance Computing Cloud - a PaaS Perspective

Introduction to data centers

A Load Balancing Approach to Minimize the Resource Wastage in Cloud Computing

Figure 1: Virtualization

Introduction To Cloud Computing

Optimization of Multi-server Configuration for Profit Maximization using M/M/m Queuing Model

Module Day Topic. 1 Definition of Cloud Computing and its Basics

CLOUD COMPUTING. Lecture 4: Introductory lecture for cloud computing. By: Latifa ALrashed. Networks and Communication Department

Multitiered Architectures & Cloud Services. Benoît Garbinato

Functional Requirements for Grid Oriented Optical Networks

Online Optimization of VM Deployment in IaaS Cloud

A Comparative Performance Analysis of Load Balancing Policies in Cloud Computing Using Cloud Analyst

CES: A FRAMEWORK FOR EFFICIENT INFRASTRUCTURE UTILIZATION THROUGH CLOUD ELASTICITY AS A SERVICE (CES)

Global trends in Management, IT and Governance in an e-world

In this unit we are going to look at cloud computing. Cloud computing, also known as 'on-demand computing', is a kind of Internet-based computing,

Computing Environments

Double Threshold Based Load Balancing Approach by Using VM Migration for the Cloud Computing Environment

Distributed Systems. 31. The Cloud: Infrastructure as a Service Paul Krzyzanowski. Rutgers University. Fall 2013

Energy - Efficient Scheduling for Cloud Computing Architectures

Computer Life (CPL) ISSN: Simulation and Implementation of Cloud Computing Based on CloudSim

Priority-Aware Virtual Machine Selection Algorithm in Dynamic Consolidation

Introduction to Cloud Computing and Virtual Resource Management. Jian Tang Syracuse University

SQA Advanced Unit specification: general information for centres

Star: Sla-Aware Autonomic Management of Cloud Resources

SURVEY PAPER ON CLOUD COMPUTING

Multi-Criteria Strategy for Job Scheduling and Resource Load Balancing in Cloud Computing Environment

Parameter Sweeping Programming Model in Aneka on Data Mining Applications

An Integration of Round Robin with Shortest Job First Algorithm for Cloud Computing Environment

A Grouping based Scheduling Algorithm on Load Balancing in Cloud Computing

Modeling and Optimization of Resource Allocation in Cloud

ABSTRACT I. INTRODUCTION

Cloud forensics definitions and critical criteria for cloud forensic capability: An overview of survey results

Load Balancing Algorithms in Cloud Computing: A Comparative Study

Cloud Computing: The Next Wave. Matt Jonson Connected Architectures Lead Cisco Systems US and Canada Partner Organization

A QoS Load Balancing Scheduling Algorithm in Cloud Environment

Dynamic Virtual Cluster reconfiguration for efficient IaaS provisioning

Co-operative Scheduled Energy Aware Load-Balancing technique for an Efficient Computational Cloud

A LOAD BALANCING ALGORITHM FOR SELECTION OF COMPETENT SERVER IN CLOUD ENVIRONMENT BASED ON CAPACITY, LOAD AND ENERGY

CloudSim. Cloud Simulation Toolkit

A Performance Analysis of a Typical Server running on a Cloud

Survey on Round Robin and Shortest Job First for Cloud Load Balancing

Distributed System Framework for Mobile Cloud Computing

Storage CloudSim A Simulation Environment for Cloud Object Storage Infrastructures

Topics of Discussion

CHAPTER 6 ENERGY AWARE SCHEDULING ALGORITHMS IN CLOUD ENVIRONMENT

Automated Control for Elastic Storage Harold Lim, Shivnath Babu, Jeff Chase Duke University

CLIENT DATA NODE NAME NODE

RACKSPACE ONMETAL I/O V2 OUTPERFORMS AMAZON EC2 BY UP TO 2X IN BENCHMARK TESTING

Cloud Computing Briefing Presentation. DANU

Multi Packed Security Addressing Challenges in Cloud Computing

ECE Enterprise Storage Architecture. Fall ~* CLOUD *~. Tyler Bletsch Duke University

CompTIA CV CompTIA Cloud+ Certification. Download Full Version :

The Software Driven Datacenter

Programowanie w chmurze na platformie Java EE Wykład 1 - dr inż. Piotr Zając

Chapter 4. Fundamental Concepts and Models

Technical Specifications and Hardware Requirements

Computing as a Service

Cisco Unified Data Center Strategy

Analysis of Cloud Computing Delivery Architecture Models

EFFICIENT VM ALLOCATION ALGORITHM IN CLOUD COMPUTING

Energy Efficient Live Virtual Machine Provisioning at Cloud Data Centers - A Comparative Study

Configuring and Operating a Hybrid Cloud with Microsoft Azure Stack

CS 6393 Lecture 10. Cloud Computing. Prof. Ravi Sandhu Executive Director and Endowed Chair. April 12,

Why the cloud matters?

A Study on Load Balancing in Cloud Computing * Parveen Kumar,* Er.Mandeep Kaur Guru kashi University, Talwandi Sabo

Department of Information Technology Sri Venkateshwara College of Engineering, Chennai, India. 1 2

CLOUD COMPUTING ABSTRACT

Click to edit Master title style

Two-Level Dynamic Load Balancing Algorithm Using Load Thresholds and Pairwise Immigration

RED HAT CLOUDFORMS. Chris Saunders Cloud Solutions

LOAD BALANCING IN CLOUD COMPUTING USING A NOVEL MINIMUM MAKESPAN ALGORITHM

Data Center Fundamentals: The Datacenter as a Computer

Transcription:

Simulation of Cloud Computing Environments with CloudSim Print ISSN: 1312-2622; Online ISSN: 2367-5357 DOI: 10.1515/itc-2016-0001 Key Words: Cloud computing; datacenter; simulation; resource management. Abstract. Cloud computing is a recent advancement wherein IT infrastructure and applications are provided as services to endusers under a usage-based payment model. The aim of this paper is to describe and evaluate CloudSim: a new generalized and extensible simulation framework that enables seamless simulation, and experimentation of emerging cloud computing infrastructures and management services. 1. Introduction For the past few years there is a significant development in the distributed processing of information, based on the existence of wide variety of computing environments and platforms. This rapid development provided the foundation for the development of new more flexible architectural models and concepts such as grid computing and cloud computing. Cloud computing is based on the virtualization technology and provides its customers with on-demand, reliable, secure and easy access to resources and services [4]. Cloud computing is a dynamic model in which cloud service providers could sell or resell services to their customers. The dynamics of the model is determined by the fact that the customer uses the service only when needed, and pay only for the period of its use. Hence is the need to maintain high quality and availability of the provided services. The main purpose of the presented paper is to describe and evaluate CloudSim: a new generalized and extensible simulation framework that enables seamless simulation, and experimentation of emerging cloud computing infrastructures and management services. Our evaluation is based on a simulation experiment which simulates a virtual cloud environment based on a real distributed infrastructure. 2. Cloud-based Models and Services D. Atanasov, T. Ruskov Cloud computing providers offer their services according to several fundamental models [4]: Software as a Service (SaaS) the capability provided to the consumer is to use the provider s applications running on a cloud infrastructure. The applications are accessible from various client devices through web browser or a program interface. The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user specific application configuration settings. Some examples of SaaS services are e-mail, web hosting, social networks, real time data processing and more [4]. Platform as a Service (PaaS) the capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created or acquired applications created using programming languages, libraries, services and tools supported by the provider. The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, or storage, but has control over the deployed applications and possibly configuration settings for the application-hosting environment [4]. Infrastructure as a Service (IaaS) the capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, and deployed applications [4]. The quality of the provided cloud-based services is influenced mainly by the performance implementation of services and by the allocation policies used to provide the necessary resources. The evaluation of the performance and the resource allocation policies in a real cloud environment (such as Amazon EC2 [5], Microsoft Azure [3], Google App Engine [6]) is extremely difficult to achieve because of the following reasons: Most cloud infrastructures, have different requirements regarding delivery models, system size and resources, therefore they cannot be unified and parameterized. Cloud customers have heterogeneous and demanding requirements regarding various aspects of quality of received services (QoS). Implementation and delivery of the services strongly depends on the performance of the cloud infrastructure, her current workload and the possibility of scaling. It is not appropriate to use real-world cloud infrastructures or platforms such as Amazon EC2 [2] or Microsoft Azure [3] for evaluation and assessment of the performance of an application or service. The costs for renting such large-scale cloud environment would be enormous. Moreover, it takes considerable amount of time to reconfigure the parameters which are evaluated in the environment. Thus, it is not possible to make a comparative analysis and experiments on productivity and performance in repeatable, reliable and scalable environments. 2 information technologies

The alternative is the use of simulation tools. These instruments allow you to evaluate hypothetical tests in a controlled environment, where the results can be easily reproduced. 3. CloudSim a Toolkit for Simulating Cloud Computing Environments To overcome this challenge [2] propose CloudSim: an extensible simulation toolkit that enables modeling and simulation of cloud computing systems and application provisioning environments. It is generalized and expandable system for simulation of various cloud infrastructures and evaluation of algorithms for resource allocation. With CloudSim, researchers and developers can conduct performance and evaluation tests on the services which they developed in a controlled and easy to set up environment. Main CloudSim advantages are time efficiency, which is expressed in superior performance in the execution of simulation models, flexibility and applicability to different cloud concepts. The developed models can in turn be implemented in real-world cloud environments. CloudSim offers specific to cloud environments functionalities, the most important of which are: Simulation of large cloud environments, including data centers on a single physical compute node. Simulation of different bandwidth network connections, based on a conceptual networking abstraction. In this model, there are no actual entities available for simulating network entities, such as routers or switches. Instead, network latency that a message can experience on its path from one CloudSim entity to another is simulated. Simulation of federation of clouds (inter-networked multiple clouds) [1]. Virtualization management, which supports the creation and management of multiple independent virtualized services running on separate data centers. 4. CloudSim Architecture CloudSim simulator has a multi-layered structure (figure 1), consisting of three layers [2]: CloudSim core, responsible for handling events and for the creation of CloudSim objects such as hosts, virtual machines, data centers, brokers and others. CloudSim simulation layer, responsible for modeling and simulation of cloud-based data center. This layer includes dedicated interfaces for resource allocation such as CPU, RAM memory, storage and network bandwidth. The simulation layer manages the implementation of applications and monitor system status. It consists of five hierarchical layers: Figure 1. CloudSim layered structure [2] information technologies 3

ο Network responsible for network topology and determines the networks delays. ο Cloud resources responsible for modeling infrastructure level services (Datacenter), monitoring the internal state of the resources in the datacenter, performing load balancing (CloudCoordinator). ο Cloud services providing hosts with virtual machines; allocation of resources such as CPU, memory, bandwidth. This layer enables the developers to implement their own techniques and different algorithms for resource allocation. ο VM services includes components for managing virtual machines and cloudlets. ο User interface structures provides an interface to configured virtual machines and tasks (cloudlets). User code layer, allows developers to change the parameters of the main CloudSim objects: hosts (number of servers and their characteristics), virtual machines, users, resource planning policies. Provides users with the ability to: generate new configurations of applications; perform tests on cloud-based environment based on custom configurations; comparison and evaluation of techniques for allocating resources for clouds and federation of clouds. IaaS services can be simulated by the Datacenter object from CloudSim simulation layer. This object manages other objects called hosts. Hosts are assigned to one or more virtual machines (VM) based on resource allocation policies. In CloudSim, objects are instances of components. A CloudSim component may be a class or a set of classes representing CloudSim model (data center, host). Host is CloudSim component that represents a physical server (computing node) in a cloud. The host component implements interfaces, which allow simulation of distributed systems. Resource allocation (VM allocation) is the process of creating virtual machine instances on hosts that meet the characteristics and configuration requirements of the cloud service providers in order to achieve certain levels of quality of service (QoS). The component responsible for resource allocation is VmAllocationPolicy. The default allocation method used by VmAllocationPolicy is First-Come, First- Served (FCFS). 5. Simulation Scenario and Results CloudSim simulator is used to analyze the services in a distributed system, built by the Computer Science and Engineering CSE department at the Technical University of Varna. This distributed system is used to support the department learning process and provide various other educational services. The system consists of two blade servers and each of them has the following parameters: 2 x CPU Intel XEON E5-2600v2 6 core 2 GHz; 32GB RAM; 2 x HDD 146GB 15K rpm; 10GbE network adapter. These characteristics of the real distributed infrastructure are used as parameters in the simulation environment. Thus we obtained the opportunity to analyze and compare the simulation results with the real distributed system. For this purpose, the simulation model is based on the configuration of two datacenters, each of them containing two servers (hosts) with the parameters of the actual blade servers. Datacenters are used by clients (simulating the work of students from certain laboratory within the CSE department), who are sending tasks (cloudlets) for execution to the virtual machines running on the datacenters. These tasks represent a model of using cloud-based applications and services. They have predetermined parameters such as size, amount of data to transfer and length of instructions in millions of instructions per second. In CloudSim, cloudlets can use the computing resources of the deployed virtual machines via one of the three existing scheduling policies. They are space-shared, time shared and dynamic workload: Space-shared scheduling policy the virtual machine executes the tasks one by one. When a cloudlet is being executed, all the other cloudlets are waiting in standby mode. Time-shared scheduling policy the virtual machine executes several tasks simultaneously. In time-shared policy, each task is using the virtual machine for a certain period of time after which the access to VM resources is given to the next task. While a cloudlet is using the VM, all the rest tasks are on standby. Dynamic workload dynamic usage of the virtual machines resources. Under this policy, each cloudlet is given a VM with available resources. A total of 20 virtual machines, configured with singlecore processors, performance 1000 MIPS and 512MB of RAM are running within the two data centers. The simulation test was 60 min long. For the purposes of the simulation we used all the scheduling policies. The dynamic workload scheduling policy gave the best results in terms of balanced use of resources and virtual machines load. The results of the used resources in both datacenters are shown in figure 2 and figure 3. The obtained results indicate the following: for 60 minutes, VMs with the specified characteristics were able to process more than 5000 tasks (Cloudlets), using the dynamic resource scheduling policy; the dynamic workload scheduling policy gives the best results in terms of uniform (balanced) load of servers and VMs; the distribution of processed tasks shows an average performance of 250 tasks per VM, which is a evidence for an efficient allocation by the data center (figure 4); the resources used by both datacenters, are distributed evenly; the simulated infrastructure has enough free resources and can process applications and tasks of a much larger number of customers, both local and remote. 4 information technologies

Figure 2. Used resources in Datacenter1 Figure 3. Used resources in Datacenter2 information technologies 5

Figure 4. Tasks distribution by VM Conclusions With the increasing popularity and importance of cloud computing, researchers from different universities and IT giants like Intel, use and develop CloudSim by creating their own mechanisms for resource allocation and delivery of services. They use it for: Evaluation of algorithms for resource allocation. Analysis of energy efficiency of data centers. Optimization of cloud environments. The conducted in this work experiments show the applicability of CloudSim for simulation related to the efficiency of processing applications and tasks from local clients. As a guideline for future work on the simulator may be pointed, possible enhancement of the functionality associated with the effects of real network connections and their parameters. References 1. Buyya, R., R. Ranjan et al. InterCloud: Utility-oriented Federation of Cloud Computing Environments for Scaling of Application Services. Proceedings of the 10th International Conference on Algorithms and Architectures for Parallel Processing, Busan, South Korea, 2010, 328-336. 2. Calheiros, R., R. Ranjan, A. Beloglazov, C. A. F. De Rose, and R. Buyya. CloudSim: A Toolkit for Modeling and Simulation of Cloud Computing Environments and Evaluation of Resource Provisioning Algorithms. Software: Practice and Experience (SPE), 41, January 2011, Number 1, 23-50, ISSN: 0038-0644, New York, USA, Wiley Press. 3. Chappell, D. Introducing the Azure Services Platform.White Paper, October 2008. 4. Mell, P., and T. Grance. The NIST Definition of Cloud Computing. NIST Special Publication 800-145, 2011. 5. Amazon Elastic Compute Cloud (EC2). Available at: http:// aws.amazon.com/ec2/. 6. Google App Engine. Available at: http://appengine.google.com. Manuscript received on 10.11.2015 Deyan Atanasov is born in 1986. He received his M.Sc. degree in Computer Science and Technologies at Technical Univetsity of Varna in 2011. Since 2012 he is a Ph.D. student at the Computer Science and Engineering Department. His current research interests are distributed systems, cloud environments and cloud computing. Contacts: Technical University of Varna Computer Science and Engineering Department Phone: +359 89 5527769 e-mail: dido.paraskevov@tu-varna.bg Trifon Ruskov is an Associated Professor in Computer Science and Engineering Department at the Technical University of Varna. He got his education at St. Petersburg LETI Electrotechnical University in 1976. In 1983 he received his doctorate degree at Kyiv Politechnic Institute. He has research interests in the field of parallel and distributed programming, computer networks and network operating systems. Contacts: Technical University of Varna Computer Science and Engineering Department 1 Studentska Street, 9000 Varna e-mail: ruskov@tu-varna.bg 6 information technologies