115
The candidate confirms that the work submitted is their own and the appropriate credit has been given where reference has been made to the work of others. I understand that failure to attribute material which is obtained from another source may be considered as plagiarism. (Signature of student) _______________________________ Simulation of Cloud Computing Eco-Efficient Data Centre Ibrahim Alzamil MSc Computing and Management Session (2011/2012) Ibrahim Alzamil

Cloudsim Notes

Embed Size (px)

Citation preview

Page 1: Cloudsim Notes

The candidate confirms that the work submitted is their own and the appropriate credit has

been given where reference has been made to the work of others.

I understand that failure to attribute material which is obtained from another source may be

considered as plagiarism.

(Signature of student) _______________________________

Simulation of Cloud Computing

Eco-Efficient Data Centre

Ibrahim Alzamil

MSc Computing and Management

Session (2011/2012)

Ibrahim Alzamil

Page 2: Cloudsim Notes

I

Abstract

Cloud Computing has created a new era in the IT industry, offering businesses and individuals

technical and economical benefits, such as utilising computing resources through virtualisation;

reducing operational costs by moving the cost of ownership to the Cloud providers, and paying only

for what they use.

However, the data centres that underpin the Clouds consist of huge computing resources that

consume large amounts of power. A data centre can even consume the same amount of electricity

that is consumed by a city. Thus, maintaining data centres can incur huge operational costs for the

providers. Moreover, this would increase the impact on the environment in terms of CO2 emissions.

Therefore, this project will evaluate some techniques, namely DVFS and VM migration, which

can be deployed to enhance the eco-efficiency of data centres. Through using the CloudSim

simulator, a number of experiments will be conducted to investigate the efficiency of these

techniques in terms of reducing energy consumption.

Page 3: Cloudsim Notes

II

Acknowledgement

First and foremost, I thank Allah for granting me knowledge, health, and the patience to

successfully complete this project.

I would also like to show my gratitude and appreciation to the following people:

Dr. Karim Djemame, my supervisor, for his generous and constructive feedback and continuous

encouragement throughout the project.

Dr. Raymond Kwan, my assessor, for his critical and constructive feedback for the interim report

and valuable comments in the progress meetings.

I also wish to take this opportunity to thank Dr. Mariam Kiran for her advice about where to

start with learning to use CloudSim.

Special thanks and gratitude go to all my colleagues and friends, especially Abdulaziz Albalti and

Khalid Alhammad, who have been there cheering me on and supporting me.

Finally, I would like to express my indebtedness to my parents, my brothers, and my sisters who

have always been supportive and encouraged me morally.

Page 4: Cloudsim Notes

III

List of Acronyms

DVFS: Dynamic Voltage and Frequency Scaling

WBS: Work Breakdown Structure

NS2: Network Simulator

IT: Information Technology

SOA: Service-Oriented Architecture

SIP: Strategic Inflection Point

PC: Personal Computer

SLAs: Service Level Agreements

SaaS: Software as a Service

PaaS: Platform as a Service

IaaS: Infrastructure as a Service

OS: Operating System

DDoS: Distributed Denial of Service

TCO: Total Cost of Ownership

CO2: Carbon Dioxide

ICT: Information and Communication Technology

QoS: Quality of Service

PUE: Power Usage Effectiveness

CCTV: Closed Circuit Television

ERE: Energy Reusable Efficiency

Page 5: Cloudsim Notes

IV

CPU: Central Processing Unit

VM: Virtual Machine

PTM: Power and Thermal Management

WM: Workload Monitor

DPM: Dynamic Power Management

IDEs: Integrated Development Environments

MIPS: Millions of Instructions per Second

RAM: Random Access Memory

Page 6: Cloudsim Notes

V

List of Figures

Figure 1. Four-Layer Cloud Architecture .................................................................... 7

Figure 2. Layered Cloud Computing Architecture ....................................................... 8

Figure 3. Initial Layered CloudSim Architecture ....................................................... 17

Figure 4. Current Layered CloudSim Architecture ....................................................... 18

Figure 5. An iterative approach for experiments development .......................................... 23

Figure 6. Comparison between energy consumption mean values for each experiments - Scenario 1

..................................................................................................................................... 27

Figure 7. A screenshot sample of using Excel to calculate mean values, standard deviation, and

confidence interval ........................................................................................................... 71

Figure 8. Comparison between energy consumption mean values for each experiments - Scenario 2

..................................................................................................................................... 28

Figure 9. Comparison between energy consumption mean values for each experiments - Scenario 3

..................................................................................................................................... 30

Figure 10. Comparison between energy consumption mean values for each experiments - Scenario 4

..................................................................................................................................... 31

Figure 11. Comparison between energy consumption mean values for each experiments - Scenario 5

..................................................................................................................................... 32

Figure 12. Comparison between energy consumption mean values for each experiments - Scenario 6

..................................................................................................................................... 34

Figure 13. Comparison between energy consumption mean values for each experiments - Scenario 7

..................................................................................................................................... 36

Figure 14. Comparison between energy consumption mean values for each experiments - Scenario 8

..................................................................................................................................... 37

Page 7: Cloudsim Notes

VI

List of Tables

Table 1. Typical Characteristics of Host, VMs, and Cloudlets ........................................... 25

Table 2. Results of Scenario 1 experiments with the deployment of DVFS mechanism ... 67

Table 3. Results of Scenario 1 experiments without the deployment of power aware mechanism

...................................................................................................................................... 69

Table 4. Results of Scenario 2 Experiments with the deployment of DVFS mechanism ... 83

Table 5. Results of Scenario 2 experiments without the deployment of power aware mechanism

...................................................................................................................................... 85

Table 6. Results of Scenario 3 Experiments with the deployment of DVFS mechanism ... 87

Table 7. Results of Scenario 3 experiments without the deployment of power aware mechanism

...................................................................................................................................... 89

Table 8. Results of Scenario 4 Experiments with the deployment of DVFS mechanism ... 91

Table 9. Results of Scenario 4 experiments without the deployment of power aware mechanism

...................................................................................................................................... 93

Table 10. Results of Scenario 5 Experiments with the deployment of DVFS mechanism ... 95

Table 11. Results of Scenario 5 experiments without the deployment of power aware mechanism

...................................................................................................................................... 96

Table 12. Results of Scenario 6 Experiments with the deployment of DVFS mechanism ... 98

Table 13. Results of Scenario 6 experiments without the deployment of power aware mechanism

...................................................................................................................................... 100

Table 14. Results of Scenario 7 Experiments with the deployment of VM migration mechanism with

DVFS enabled ......................................................................................................................... 102

Table 15. Comparison for energy consumption mean values between scenario 7 and 1 ... 35

Table 16. Results of Scenario 7 Experiments with the deployment of VM migration mechanism with

DVFS enabled ......................................................................................................................... 103

Table 17. Benchmarking of energy consumption between the deployment of DVFS mechanism and

non power aware (NPA) mechanism in a data centre ........................................................ 38

Page 8: Cloudsim Notes

VII

Table of Contents

Abstract ............................................................................................................... I

Acknowledgement ...................................................................................... II

List of Acronyms ................................................................................................... III

List of Figures ................................................................................................... V

List of Tables ................................................................................................... VI

Table of Contents ................................................................................................... VII

1. Introduction ................................................................................................... 1

1.1. Overview .......................................................................................................... 1

1.2. Aim and Objectives ............................................................................................. 1

1.3. Minimum Requirements and Further Enhancements ......................................... 2

1.4. Deliverables .......................................................................................................... 2

1.5. Motives and Relevance to the Degree Programme ......................................... 2

1.6. Methodology .......................................................................................................... 3

1.7. Initial Project Plan ............................................................................................. 4

1.7.1. Key Activities ............................................................................................. 4

1.7.2. Milestones ............................................................................................. 5

2. Review of Literature and Technologies .............................................................. 6

2.1. Introduction to Cloud Computing ................................................................... 6

2.1.1. What is Cloud Computing? ................................................................... 6

2.1.2. Architecture of Clouds ................................................................................ 7

2.1.3. Types of Clouds Services ................................................................................ 9

2.1.4. Types of Clouds Deployment ................................................................... 9

2.1.5. Virtualisation ............................................................................................. 10

2.2. Issues Associated with Clouds ................................................................................ 11

2.2.1. Cost of Clouds Maintenance ................................................................... 12

2.2.2. Eco-efficient Data Centre Management ...................................................... 12

2.2.2.1. A Scientific Model of Eco-efficient Data Centre ............................ 13

2.2.2.2. Management of Power Consumption ......................................... 14

2.2.2.2.1. VM Allocation ................................................................... 15

2.2.2.2.2. Power and Thermal Management ............................ 15

2.2.2.2.3. Dynamic Voltage and Frequency Scaling ............... 15

2.3. CloudSim Toolkit ............................................................................................. 16

2.3.1. Architecture of CloudSim ................................................................................ 16

2.3.2. Usability .......................................................................................................... 18

2.3.3. Capabilities ............................................................................................. 18

2.3.4. Limitations ............................................................................................. 19

3. Methodology ................................................................................................... 21

3.1. Project Management ............................................................................................. 21

3.1.1. Revised Project Plan ................................................................................ 21

3.1.1.1. Key Activities ................................................................................ 21

3.1.1.2. Milestones ................................................................................ 21

Page 9: Cloudsim Notes

VIII

3.1.2. Progress Meetings ................................................................................ 22

3.2. Problem Summary ............................................................................................. 22

3.3. Project Methodology ............................................................................................. 23

3.4. Analysis and Design of Simulated Experiments ...................................................... 24

4. Implementation of Experiments .......................................................................... 26

4.1. DVFS Mechanism ............................................................................................. 26

4.1.1. Scenario 1: Increasing the No. Of Hosts, VMs and Cloudlets ............... 26

4.1.1.1. Objectives and Design ................................................................... 26

4.1.1.2. Discussion of the Results ...................................................... 26

4.1.2. Scenario 2 : Increasing the No. Of Hosts ...................................................... 28

4.1.2.1. Objectives and Design ................................................................... 28

4.1.2.2. Discussion of the Results ...................................................... 28

4.1.3. Scenario 3: Increasing the No. Of VMs ...................................................... 29

4.1.3.1. Objectives and Design ................................................................... 29

4.1.3.2. Discussion of the Results ...................................................... 29

4.1.4. Scenario 4: Increasing the No. Of Cloudlets ......................................... 30

4.1.4.1. Objectives and Design ................................................................... 30

4.1.4.2. Discussion of the Results ...................................................... 31

4.1.5. Scenario 5: Increasing the No. Of Hosts and VMs ......................................... 32

4.1.5.1. Objectives and Design ................................................................... 32

4.1.5.2. Discussion of the Results ...................................................... 32

4.1.6. Scenario 6: Increasing the No. Of Hosts and Cloudlets ............................ 33

4.1.6.1. Objectives and Design ................................................................... 33

4.1.6.2. Discussion of the Results ...................................................... 33

4.2. VM Migration .......................................................................................................... 34

4.2.1. Scenario 7: Increasing the No. Of Hosts, VMs and Cloudlets ............... 34

4.2.1.1. Objectives and Design ................................................................... 34

4.2.1.2. Discussion of the Results ...................................................... 35

4.2.2. Scenario 8: Increasing the No. Of Hosts ...................................................... 36

4.2.2.1. Objectives and Design ................................................................... 36

4.2.2.2. Discussion of the Results ...................................................... 37

4.3. Overall Discussion and Results Comparison ...................................................... 38

5. Evaluation ............................................................................................................... 40

5.1. Evaluation According to Minimum Requirements ......................................... 40

5.2. Evaluating the Methodology ................................................................... 41

5.3. Evaluating the Results ............................................................................................. 42

5.4. Limitations .......................................................................................................... 43

5.5. Future Work .......................................................................................................... 43

6. Conclusion ............................................................................................................... 45

6.1. Summary .......................................................................................................... 45

6.2. Problems Encountered ................................................................................ 45

7. Bibliography ................................................................................................... 46

8. Appendices ................................................................................................... 50

8.1. Appendix A: Project Reflection ................................................................... 50

8.2. Appendix B: Interim Report ................................................................... 52

Page 10: Cloudsim Notes

IX

8.3. Appendix C: Initial Project Plan ................................................................... 54

8.4. Appendix D: Revised Project Plan ................................................................... 56

8.5. Appendix E: Weekly Progress Report ................................................................... 58

8.6. Appendix F: Work in Progress Presentation ...................................................... 64

8.7. Appendix G: Collected Results of Scenario 1: Increasing the No. Of Hosts, VMs and Cloudlet

– DVFS Mechanism ............................................................................................. 67

8.8. Appendix H: A Source Code Sample of the CloudSim Java Classes ............... 72

8.9. Appendix I: Collected Results of Scenario 2: Increasing the No. Of Hosts – DVFS Mechanism

....................................................................................................................... 83

8.10. Appendix J: Collected Results of Scenario 3: Increasing the No. Of VMs – DVFS Mechanism

....................................................................................................................... 87

8.11. Appendix K: Collected Results of Scenario 4: Increasing the No. Of Cloudlets – DVFS

Mechanism .......................................................................................................... 91

8.12. Appendix L: Collected Results of Scenario 5: Increasing the No. Of Hosts and VMs – DVFS

Mechanism .......................................................................................................... 95

8.13. Appendix M: Collected Results of Scenario 6: Increasing the No. Of Hosts and Cloudlets –

DVFS Mechanism ............................................................................................. 98

8.14. Appendix N: Collected Results of Scenario 7: Increasing the No. Of Hosts, VMs and Cloudlets

– VM Migration ............................................................................................. 102

8.15. Appendix O: Collected Results of Scenario 8: Increasing the No. Of Hosts – VM Migration

....................................................................................................................... 103

Page 11: Cloudsim Notes

1

1. Introduction

1.1. Overview

Cloud Computing has become an extremely attractive topic of research and application these

days. NIST has defined Cloud Computing as “a model for enabling convenient, on-demand network

access to a shared pool of configurable Computing resources” [1, p. 1]. Cloud security and storage

have grasped lots of attention in this field [2]. In terms of storage, it acts as the lower layer of cloud

infrastructure that supports the other layers’ functionality. Also, since it is important to make data

storage redundant in different locations as contingency planning to ensure availability of cloud

services, it would incur huge operating costs for the providers [2]. Therefore, this raises an important

issue of how to improve the eco-efficiency of data centres to add value to the operational and

maintenance costs of the cloud storage.

1.2. Aim and Objectives

Cloud Computing has gained huge popularity for what it can offer for business and individuals in

terms of cost effectiveness. However, maintaining the Clouds data centres can cost lots of money

and energy. Therefore, the overall aim of this project is to identify and evaluate a technique, such as

DVFS, that can be used to improve the eco-efficiency and performance of Clouds data centres.

In order to achieve this aim, a number of objectives have been outlined:

- Understand the importance of cloud computing, architecture of clouds, types of clouds,

models of clouds, and virtualization.

- Understand some issues associated with Cloud Computing in terms of data centre

management.

- Understand Cloud simulation, in particular CloudSim toolkit in terms of its usability,

capability and limitations to offer a feasible evaluation of the eco-efficiency techniques used

in data centres.

Page 12: Cloudsim Notes

2

1.3. Minimum Requirements and Further Enhancements

The minimum requirements have been identified as follows:

- Design a simulated scenario of a cloud data centre using a DVFS mechanism

- Implement the scenario

- Collect and evaluate the simulation results

- Evaluate the mechanism used to improve the eco-efficiency of data centre management in

Cloud Computing

Further enhancements are:

- Design and implement additional scenarios of a Cloud data centre using a DVFS mechanism,

and others without using a DVFS mechanism

- Design and implement additional scenarios of a Cloud data centre using VM Allocation

mechanism

- Collect and evaluate the simulation results

1.4. Deliverables

The main deliverable of this project is to provide an evaluation and recommend the eco-

efficiency technique/s that can be used to improve the performance of cloud data centres. Also, in

order to do that, there will be the implementation of a set of CloudSim java classes to simulate the

experiments (see Appendix H for a source code example).

1.5. Motives and Relevance to the Degree Programme

The primary motive is to find a challenging project that will allow me to develop new skills and

enhance my knowledge in the field of Cloud Computing. Cloud Computing is currently a popular

topic and is believed to be the future of the IT industry. Consequently, identifying and evaluating the

eco-efficiency of cloud data centres is essential to its development.

This project builds upon the knowledge and skills gained from several modules taken during the

course of studying the MSc in Computing and Management. One of the modules, Advanced

Distributed Systems, has provided a fundamental understanding of Web Services and Cloud

Computing, from which this project will primarily be built. The knowledge and skills gained from

Problem Solving with Computers, in terms of programming with Java and understanding the logic of

Page 13: Cloudsim Notes

3

attempting to solve some IT problems, are very useful. These skills can be further enhanced to add

value to this project. Business Information Systems increased the awareness of some key topics,

such as choosing the appropriate methodology for this project. Techniques for Knowledge

Management introduced key knowledge management topics; these topics will be investigated to

evaluate the experimental results of this project. Additionally, knowledge learned from the business

modules, which are Understanding Organisation, Marketing for Management, and Strategic

Management, will be useful in enhancing the researching, critiquing, documenting, and

management skills needed to construct this project.

1.6. Methodology

To achieve the aim of this project, the chosen methodology should offer a way to design and

build an experimental scenario of cloud computing, implement the scenario, and evaluate its

performance, and more specifically, the eco-efficiency, of the data centres of the cloud.

There are some methodologies that can be adopted for this project, but it is important to

determine which one would be more applicable. Direct experiments, mathematical modelling, and

simulation methodologies are going to be investigated next.

Firstly, direct experiments can be used to implement the scenario of a Cloud data centre in

reality and obtain accurate results. However, it may be time consuming to build and implement the

Cloud. It also requires many resources. This project, however, is restricted with a limited time scale.

As such, this method is not feasible for this project.

Secondly, mathematical modelling, involving mathematical equations, can be used to evaluate

the energy and performance trade-off of cloud computing environments [3]. Therefore, this method

may be appropriate for this project as it can offer benchmarking of the results.

Nonetheless, thirdly, it would be better to use a simulation that not only offers mathematical

equations to measure the energy and performance, but also provides an entire environment to

simulate a scenario, starting from designing the desired experiments, running experiments, and

showing the results after the calculations. More justification of using a simulation as a methodology

for this project will be discussed in Section 2.3.

There are different simulation tools that can be used for the experimental development of

Cloud Computing (e.g. GreenCloud, CloudSim, and CloudAnalyst). GreenCloud, built on top of NS2,

can be used to determine the detail of the consumed energy in the components of a data centre and

Page 14: Cloudsim Notes

4

in the packet-level communications between these components [4]. However, because its simulation

takes a long time and requires high memory usage, its scalability is limited only to small data centres

[5]. CloudSim is an extensible toolkit used to model and simulate cloud infrastructures, including

data centres, users, user workloads, and application provision environments [6] [7]. CloudSim can be

scalable and should have low simulation overheads [5] [6]. CloudAnalyst is built on top of the

CloudSim toolkit; it provides visual modelling, easy to use graphical user interfaces, and large-scale

application simulations deployed on the cloud infrastructure. Application developers can use

CloudAnalyst to determine the best approaches for allocating resources among available data

centres to serve specific requests and determine the related costs for these operations [7].

After reviewing the options, it was determined that the CloudSim toolkit will be used for this

project, due to the support of the specifications that come with it, as well as the support of some of

the eco-efficiency techniques which will be addressed throughout the project. More details about

CloudSim will be presented in Section 2.3.

Briefly, the development approach of this project will start with analysing and designing a

scenario of the simulated experiment, running the scenario, verifying the results, and finally,

evaluating the results. More details about the development approach will be explained in Section

3.3.

1.7. Initial Project Plan

In order to control and manage the project, a Work Breakdown Structure (WBS) and a Gantt

chart have initially been created during the planning stage, as shown in Appendix C. Also, some

changes may take place during the implementation phase in the case of encountering any

challenges. This project plan will help to track the completion of each development stage within the

time-scale to ensure the delivery of a successfully completed project.

1.7.1. Key Activities

A. Initiating: this stage covers the initial meeting with the supervisor to discuss the project idea

and set up the aim and minimum requirements for the project.

B. Planning: in this stage, a feasible planned project structure has been set and initially agreed

on with the supervisor.

C. Executing: this stage includes the main activities of the project’s development; the literature

review and background research about Cloud Computing and eco-efficiency issues in data

Page 15: Cloudsim Notes

5

centres; analysing and gaining a deep understanding of the issues and how to provide an

evaluated solution; designing a simulated scenario of cloud computing to evaluate the eco-

efficiency technique as solution, and finally, implementing the scenario.

D. Evaluation: this stage involves evaluating the results of using the eco-efficiency technique.

E. Controlling: this stage covers the progression status of the project including weekly progress

reports and a work in progress presentation.

F. Closing: this stage is made up of the write-up of the dissertation, finalising, and the

submission of the dissertation.

1.7.2. Milestones

In order to measure the progress of the project and ensure meeting the aim and minimum

requirements, milestones, known as self-goals, have been included in the project plan to indicate the

starting point and deadline for each stage [8]. These milestones are:

1. Decide on Project (10/02/2012)

2. Decide on Planning (09/03/2012)

3. Analysis and Implementation (01/03/2012)

4. Monitoring (28/05/2012)

5. Evaluation (09/07/2012)

6. Preparing for the Final Project and Dissertation (16/07/2012)

7. End of Project (30/08/2012)

Page 16: Cloudsim Notes

6

2. Review of Literature and Technologies

2.1. Introduction to Cloud Computing

To begin with, as the way people live and work together has evolved over time, so Information

Technology (IT) has come to play a significant role in adapting to and meeting changing business

requirements. Software systems have been developed from being monolithic one-tier systems to

more complex and decoupled n-tier systems, which emphasises, along with the Internet evolution,

the importance and need to have suitable integration technologies to enable businesses to

communicate over networks [9]. Therefore, a significant evolution of integration technology has

been the development of Service-Oriented Architecture (SOA), which is a pattern used for

understanding and maintaining business activities that bridge large distributed systems [10].

Additionally, this development has introduced middleware technologies that enable communication

and the sharing of resources between heterogeneous systems.

Thus, having all these above mentioned technologies available, along with Grid Computing

which is already in place, has led to the development of a new era of IT, which is Cloud Computing.

Cloud Computing is considered to be a Strategic Inflection Point (SIP is a time of change in the life of

an economy, a company, a society, or a person) in IT, as it introduced software technology for

virtualisation, metalevels, and virtual integration in 2010. The SIP of Cloud Computing has arrived

after a 15 year gap since the last SIP, which was the wide adoption of the internet in 1994 [11]. Also,

Buyya et al [12] argue that based on the increasingly common perceived vision of computing, it will

become the fifth utility (after electricity, gas, water, and telephony), providing the general public

with the basic level of computing services used in their daily routines. The following subsections will

provide further background information about Cloud Computing.

2.1.1. What is Cloud Computing?

Instead of individuals and businesses using their own PCs and other IT resources to perform

their daily work, they can use the services offered by Cloud Computing at a reasonable cost, and

leave the maintenance and cost of ownership to the cloud providers. There are many definitions of

Cloud Computing suggested by different IT experts; each definition focuses on certain aspects of the

Cloud. Vaquero et al [13] argue that to offer a comprehensive definition of Cloud Computing is like

“a large pool of easily usable and accessible virtualised resources, such as hardware, development

Page 17: Cloudsim Notes

7

platforms, and/or services. These resources can be dynamically re-configured to adjust to a variable

load (scale), allowing also for an optimum resource utilisation. This pool of resources is typically

exploited by a pay-per-use model in which guarantees are offered by the Infrastructure Providers by

means of customised Service Level Agreements (SLAs)” (p. 51). Therefore, the main Cloud

Computing characteristics and features, which can be derived from the definition above, are

virtualisation, dynamic scalability, resource utilisation, and a business model of on-demand services

based on SLAs.

Therefore, Cloud Computing can be seen as providing useful opportunities for some businesses.

Basically, it can offer economical and technological benefits. In terms of economic benefits,

organisations can reduce the huge costs of large capital investments in IT resources by simply paying

only for offered on-demand services (during peak time) from a Cloud provider, as well as lowering

the cost of labour and IT resources maintenance [14] [17]. In terms of technological benefits, Cloud

Computing can offer easier group collaboration, such as sharing documents between users from

anywhere, regardless of their operating systems. Also, it can offer on-demand scaling of resources,

such as acquiring unlimited storage capacity [14].

However, Cloud Computing comes with some disadvantages as well. For example, it requires

constant connection to the Internet in order to access the services. Also, it mostly requires high

bandwidth for data transfer [14]. More issues with Cloud Computing will be discussed in Section 2.2.

2.1.2. Architecture of Clouds

Cloud Computing architecture consists of multiple different layers, as is the case with most

distributed systems. Foster et al [15] categorise Cloud Computing architecture, based on a

comparison with Grid architecture, into four layers, which are fabric, unified resource, platform and

application, as shown in Figure 1 below:

Application

Platform

Unified Resource

Fabric

Figure 1. Four-layer Cloud Architecture [15]

C

lou

d A

rch

itec

ture

Page 18: Cloudsim Notes

8

Firstly, the fabric layer is the lower level layer of the architecture and includes the raw hardware

resources, like storage resources. Secondly, the unified resource layer contains abstract resources,

through virtualisation, that form integrated resources exposed to the upper layer and end users.

Thirdly, the platform layer depends on the unified resources layer and includes an additional set of

dedicated tools, middleware, and services in order to provide an environment for the applications’

development and deployment. Fourthly, the applications that run in the clouds are contained in the

application layer [15].

Moreover, another study by Buyya et al [16] shows that Cloud architecture mainly consists of

user-level middleware, core-middleware, and system level, as shown in Figure 2 below:

Beginning from the top of the architecture, Cloud application layers contain applications which

can be accessed by end-users directly. Alternatively, users’ own applications can be deployed in this

layer [6]. In addition, the user-level middleware layer contains software frameworks that assist the

developer to create an environment for applications to be developed, deployed and executed in

Clouds. Moreover, the platform level services that set the run-time environment are performed in

the core-middleware layer to host and control services at user-level application. Finally, the system

level layer is where massive physical resources, like servers, exist, and these resources are managed

by the virtualisation services set above this layer [16].

Figure 2. Layered Cloud Computing Architecture [16]

Page 19: Cloudsim Notes

9

2.1.3. Types of Clouds Services

Organisations can access different levels of services from Clouds with a pay-per-use policy.

These types of Cloud services can be categorised based on the layers of Cloud architecture

mentioned earlier. So, there are mainly three Cloud services, namely SaaS (Software as a Service),

PaaS (Platform as a Service), and IaaS (Infrastructure as a Service). SaaS service is about offering

applications, like Google docs, to end users to use on the Cloud vendors’ servers. Cloud vendors

offer PaaS services, like Google App Engine, to allow users to host their applications instead of

buying new resources to house them. Furthermore, IaaS service is about using Cloud providers’

virtualised low level resources; and this service can be named ‘Everything as a Service’. For example,

if the user wants to use the storage of the vendors’ data centres, it can be named Storage as a

Service [17].

Based on the architecture of Cloud Computing, SaaS is supplied at the user level, and PaaS is

provided in the core middleware, and IaaS is supplied at the system level [6].

Data centres form the low level foundation of Cloud Computing, and these centres consist of

thousands of inter-connected servers, usually located in areas with low probability of natural

disasters and cheaper energy rates [18]. SaaS, PaaS, and IaaS services are sometimes provided by

different cloud vendors.

2.1.4. Types of Clouds Deployment

There are many different types of Cloud deployment, which are mainly public, private, hybrid,

community, and federated Clouds. Users can have open access, at fairly cheap cost, to use public

Clouds services through the Internet, while access to private Cloud services is restricted to only

those who own the Clouds and their subsidiaries [19]. Public Clouds offer IT resources and services

to individual and businesses to save the overheads of having in-house built resources. Private Clouds

allow organisations to utilise their IT resources efficiently (through virtualisation) as well as increase

security since it can be managed internally. Moreover, the concept of hybrid Clouds is about

connecting internal Clouds (private) to external Clouds (public) [11]. This combination usually

happens when businesses using private Clouds for their business-critical systems need to scale up

their resources at low cost by outsourcing more IT services from public Cloud providers to fulfil their

non-critical system needs. Furthermore, a specific community of organisations who have common

concerns can share their Clouds’ infrastructure to collaborate by forming a community Cloud [1].

Thus, a community Cloud can be formed through a combination of public, private, or hybrid Clouds.

Page 20: Cloudsim Notes

10

Additionally, federated Clouds usually occur when two private Clouds owned by different

organisations have a form of contract to share some of their Clouds’ resources, as forming an

alliance can better utilise their IT resources effectively and gain the advantage of using others’

capabilities.

2.1.5. Virtualisation

Virtualisation is a vital technology of Cloud Computing which offers two important features-

abstraction and encapsulation [15]. It is about creating an abstract layer between hardware and

software. Usually, the virtualisation layer is set above the physical layer of the Cloud’s architecture.

Virtualisation technology is used widely in Cloud Computing data centres owing to the benefits

offered, such as utilising resources, lowering costs, easier management of servers, server

consolidation, and live migration of virtual machines [20]. Virtualisation is mostly used in Cloud

Computing platforms as means to optimise resource usage [21]. Through virtualisation, the number

of hardware resources used in Clouds can be reduced to minimise the capital cost as well as the cost

of power consumption and cooling systems [22]. For instance, through server consolidation, multiple

(virtual) servers can be allowed to run simultaneously on a single physical server. Also, live migration

of the virtual machine to the not fully utilised physical servers would allow more and more physical

servers to be turned off, which would lead to better achievement of energy efficiency for data

centres [20] [15]. Furthermore, visualisation in Cloud Computing can offer dynamic configurations

for different applications’ resource requirements, and aggregate these resources for different needs.

Additionally, it can improve responsiveness by monitoring, maintaining and provisioning resources

automatically. Therefore, all these features offered by virtualisation are used in Clouds in order to

meet the criterion of the business requirements of SLAs [15].

Moreover, there are mainly two ways of virtualisation deployment, as stated by Hardy et al

[22]. Firstly, when the virtualisation layer is installed on an existing operating system as an

application, it is called hosted system virtualisation or application virtualisation. Secondly, when the

virtualisation layer is installed directly on clean x86-based hardware, instead of a conventional

operating system, it is called hypervisor systems, and is usually used for server consolidation [22].

Furthermore, there are several types of virtualisation, some of which are full virtualisation,

hardware assisted virtualisation, partial virtualisation, paravirtualisation, hybrid virtualisation and

operation system-level virtualisation [23]. Full virtualisation allows a guest operating system to be

run unmodified and in isolation by simulating, almost completely, actual hardware. Hardware

assisted virtualisation is about improving the efficiency of a guest environment by improving the

Page 21: Cloudsim Notes

11

computational performance of a virtual machine without interpreting and isolating the instructions

passed directly to the host processor. Partial virtualisation is about simulating most but not the

entire underlying host environment. Paravirtualisation, hybrid virtualisation, and operating system-

level virtualisation can be deployed as a way of utilising partial virtualisation. Paravirtualisation

provides a similar software interface or API’s of virtual machines to that of the underlying host

hardware. Hybrid virtualisation is about combining the advantages of both hardware assisted

virtualisation and paravirtualisation to obtain better performance than with software-only

paravirtualisation [24]. Finally, operating system-level virtualisation is about creating multiple

isolated virtual machines with the requirement that the OS of the virtual machine should be the

same as the host [23].

2.2. Issues Associated with Clouds

As mentioned earlier, Cloud Computing, as the latest technology in the IT industry, has

attracteds lots of businesses nowadays owing to its promising benefits, such as cost reduction for

capital investment, scalability, on-demand services, and energy saving. However, there are some

issues associated with clouds, such as security, availability of services, reliability of data,

unpredictable performance, and the risk of data lock-in [25].

Firstly, since the data of consumers is stored somewhere in the Cloud and not on their site

anymore, security issues have become one of the major concerns for consumers’ use of Cloud

Computing technology. Also, private data leakage would raise a concern, as consumers’ data has to

be moved from a single-tenant to a multi-tenant environment [26]. Moreover, businesses logically

would not be willing to be in the position of putting all their eggs in one basket by moving all their

business data to the Cloud where it could be vulnerable to hacking attacks. For example, Distributed

Denial of Service (DDoS) attacks can be set by a hacker by hosting a malicious application in a cloud

which his victim, another user, is subscribing to. Launching these attacks with a large number of

zombie machines from multiple resources can pass heavy flood of packets that may affect the

performance or availability of the service. However, Sabahi [26] argues that Clouds can be used as a

solution against these DDoS attacks because the Cloud can offer the flexibility of providing more

resources instantly, to tolerate such attacks and avoid site shutdown. Even so, more investigations

need to be carried out to discover to what extent Cloud technology can handle this type of attack in

order to ensure the availability and reliability of the services.

Page 22: Cloudsim Notes

12

Moreover, the key strategy of Cloud providers offering services at cheap cost is to attract more

customers till they gradually move their core business requirements to the Cloud, which would then

increase the risk of data lock-in. After relying on the Cloud, it would be very difficult for the

consumer to move back to their own system because it would require some additional costs.

Therefore, the Cloud providers can take advantage of consumers being bound to their services and

include more add-on services.

Furthermore, there are some cost issues associated with the Clouds in terms of maintenance

and management of the resources, especially the data centres, which will be discussed next.

2.2.1. Cost of Clouds Maintenance

To begin with, Total Cost of Ownership (TCO) is not only about the capital expenditure required

to own an IT infrastructure, but also about the ongoing cost of managing and operating the IT

infrastructure in a business [27]. Therefore, in addition to buying hardware and software assets to

build the infrastructure of the Cloud and provide services, there are more ongoing costs, like having

highly skilled IT experts employed to maintain and ensure its availability and performance all the

time. Also, as a Cloud provides more and more services to a large consumer base, enhancement of

resource utilisation is needed to meet the demand and gain maximum economies of scale by

producing more output with less expensive resource consumption.

Besides, since Cloud providers follow a strategy of offering Cloud services at cheap cost to

attract more consumers to use their businesses, the added-value activities for maintaining the

Clouds should be at the lowest cost possible in order enable the Cloud providers to achieve their

strategy as well as gain a competitive advantage. Thus, such techniques should be implemented to

reduce the cost of maintaining the data centres, which will be discussed more in the next Section.

2.2.2. Eco-efficient Data Centre Management

Eco-efficiency can be directly linked to being environmentally friendly. It is about how to

manage the data centres of the Clouds in ways that have less impact on the energy consumed, as

well as on carbon dioxide (CO2) emissions. Therefore, mechanisms and policies should be put in

place to help understand how green the data centre of a Cloud is.

The dramatic increase in greenhouse gas emissions is having a detrimental effect on the global

climate, like increasing temperatures, dryness, and floods. Also, the ICT industry has been

Page 23: Cloudsim Notes

13

contributing to this growth; as has been stated by Smarr, who explains that the carbon emission

from this sector is expected to triple from 2002 to 2020 [28].

Cloud infrastructure is likely embodied by enormous and power-consuming data centres that

generate large amounts of heat when processing. So, in order to effectively remove this heat, data

centres are equipped with great cooling systems that consume huge amounts of energy in order to

work [29]. Therefore, there is great pressure on Cloud providers to improve such mechanisms for the

energy efficiency of Cloud data centres to both reduce costs and support the prices offered to

customers, as well as to ensure meeting QoS to satisfy the customers’ expectations [29].

2.2.2.1. A Scientific Model of Eco-efficient Data Centre

There are some metrics that can be used in order to measure and understand how eco-efficient

a Cloud data centre is. For example, Power Usage Effectiveness (PUE) is a well known metric that can

be used to define how eco-efficient the infrastructure of a data centre is. PUE has been defined by

The Green Grid organisation as a measurement for identifying how a data centre uses its power

efficiently by actually calculating how much of the power is consumed by the servers in contrast to

other overheads, like cooling [30] [31]. To illustrate, PUE is calculated by dividing the Total Data

Centre Energy Usage by the IT Energy Usage (PUE = Total Energy/IT Energy). The total energy

includes IT energy plus the energy consumed for lighting, security, CCTV, heating and cooling, and all

other facilities in the data centre. As has been stated by Gillan [32], the average PUE efficiency in

typical data centres these days is about 2.0. So, as the PUE increases, the more inefficient the data

centre infrastructure is, and the closer the PUE is to 1.0, the more efficient the data centre

infrastructure is considered to be. Thus, PUE optimisation aims to lower the total energy consumed

by all facilities, to be almost equal to the energy consumed by IT equipment. In other words, it

means minimising the energy used by the facilities, other than IT equipment, to almost zero

consumption.

However, using PUE metrics alone is not enough to consider data centre infrastructure to be

very eco-efficient. Therefore, a new metric, Energy Reusable Efficiency (ERE), has been defined by

the Green Grid. This metric measures how efficiently the wasted energy that leaves the data centre

is reused in adjacent, non-data centre spaces [33]. For example, the heat generated from the data

centre can be converted beneficially to electricity by using reverse heat engines and technologies.

The energy reproduced should be for use somewhere else on the campus, but outside the control

volume boundary of the data centre, so that it will not affect PUE measurement [33]. So, both PUE

and ERE are useful in analysing the efficiency of energy usage in a data centre, but the former

Page 24: Cloudsim Notes

14

assesses the efficiency of the energy used by the data centre infrastructure, and the latter assesses

the efficiency of altering the wasted energy that leaves the data centre to be reused in other spaces

outside the boundary of the data centre [34].

Moreover, it has been argued that PUE may be a poor operational metric because it does not

consider IT efficiency or IT load distribution [35] [36]. In fact, more optimal energy savings would be

achieved theoretically when there is utilisation of the IT resources to reduce the running machines

and further reduce the energy consumed [36]. Virtualisation is a very important part of utilising the

resources, as discussed before in Section 2.1.5, but more utilisation for resources like CPU utilisation

can add more value to energy efficiency and cost reduction. Also, as the technology advances,

producing new servers that run faster and consume the same energy as legacy servers, it can be

beneficial to have a life cycle strategy for replacement. For instance, replacing the old servers with

new powerful servers would help to increase the energy efficiency of data centres by reducing the

number of servers required to deliver the same IT workload [36].

Thus, the definition of a scientific model of eco-efficient data centre depends on how efficiently

the energy is consumed in a data centre with minimum costs and less, or most favourably no, impact

on the environment in terms of CO2 emissions. There are a number of metrics that should be used

to measure the efficiency of energy usage in the data centre from different aspects. As new metrics

are being developed, it would help to drive the data centres towards being more eco-efficient.

2.2.2.2. Management of Power Consumption

The energy supplied in data centres is consumed for computational operation, cooling systems,

networks, and other overheads. In terms of computational operations, there are some energy-saving

techniques that can be deployed to monitor and control energy consumption. These eco-efficient

energy techniques have become one of the hot topics in the IT business these days because of the

benefits gained, not only from an economic perspective, but also from an environmental

perspective. Cloud service providers can save huge costs by efficiently utilising their data centre to

its maximum capacity. Also, governments pressure companies to conduct their businesses with less

impact on the environment, in terms of the emission of CO2. Hence, Clouds service providers can

also improve their SLAs by being friendly to the environment to attract more customers.

Furthermore, in terms of power efficiency, it can be said that data centre A is better than data

centre B if A can consume less power and process the same workload as B, or A can consume the

same power but with more workload compared with B [37]. Thus, lots of research has been

Page 25: Cloudsim Notes

15

conducted to suggest some techniques for reducing power consumption without degrading the

performance in the data centres, some of which will be discussed next.

2.2.2.2.1. VM Allocation

Firstly, a study by Corradi et al states that Virtual Machine (VM) consolidations can be used as a

means of reducing the power consumption of cloud data centres [37]. To illustrate, this technique

tries to allocate more VMs on less physical machines as far as possible to allow maximum utilisation

of the running of physical machines. For instance, when there are two VMs, instead of allocating

each one to a physical server that has not been fully utilised, this technique tries to allocate both

VMs on one physical server and switch the other server off to save energy. Therefore, using this

technique in a data centre can reduce the operational costs and increase the efficiency of energy

usage. However, it is important to note that the number of VMs in one physical machine should not

be too high to the extent that it may degrade the performance of VMs [37].

2.2.2.2.2. Power and Thermal Management

Furthermore, another study conducted by Pakbaznia et al emphasises the importance of

developing power and thermal management (PTM) to improve the energy efficiency of data centres

[38]. Basically, this approach supports making the decision for the number and placement of ON

servers, as well as maintaining the supplied cold air temperature, in order to reduce the power

consumption for both the servers and cooling units. However, in order for this approach to achieve

its goal, it requires a prediction of the incoming workload in terms of requests per second, which can

be achieved by using Workload Monitoring (WM). Thus, as stated in this study, this approach

endeavours to use a combination of chassis consolidation and efficient cooling to reduce the overall

power consumption [38].

2.2.2.2.3. Dynamic Voltage and Frequency Scaling

Dynamic Voltage and Frequency Scaling (DVFS) can be used as one of the eco-efficiency

techniques to reduce the energy consumed in computing servers. This technique observes the

workload offered and then alters the CPU power consumption accordingly, which would then

change the performance level as well [39]. Also, DVFS along with Dynamic Power Management

(DPM) have been widely deployed and extensively studied [4]. Usually, the idle servers consume

two-thirds of the peak load in order to keep the other components, like memory and disks, up and

running; and the remaining one-third of the consumption is based on the CPU utilisation, which can

be managed by DVFS. On the other hand, the DPM technique may be more efficient by powering

Page 26: Cloudsim Notes

16

down the servers, including all the components. Nonetheless, DPM would consume a greater

amount of energy compared to DVFS when there is a need to turn these servers back on to run [39].

It can be deduced from the simulated experiments conducted by Kim, Beloglazov, and Buyya

[40] that data centre providers can increase their profits by reducing power consumption through

the deployment of a DVFS technique. A DVFS technique is designed in a way that decreases the

energy consumption of the CPU by controlling and reducing the supply of voltage and frequency.

2.3. CloudSim Toolkit

IT companies who are willing to offer some services in the Cloud can use a simulation-based

approach to perform some benchmarking experiments with the services to be offered in

dependable, scalable, repeatable, and controllable environments before real deployment in the

Cloud [6]. Therefore, they can test their services in a controlled environment free of cost, and

through a number of iterations, with less effort and time. Also, by using simulation, they can carry

out different experiments and scenarios to identify the performance bottlenecks of resources and

develop provisioning techniques before real deployment in commercial Clouds [6] [41].

Therefore, CloudSim has been developed to fulfil these requirements by simulating and

modelling extensible Clouds; more details about CloudSim will be discussed next.

2.3.1 Architecture of CloudSim

CloudSim can be defined as “a new, generalised, and extensible simulation framework that

allows seamless modelling, simulation, and experimentation of emerging Cloud Computing

infrastructure and application services” (p.24) [6]. Initially, the framework of CloudSim consists of

multiple layers starting from the lowest layer of SimJava up to the top layer of User Code, as shown

in Figure 3.

Page 27: Cloudsim Notes

17

Figure 3. Initial Layered CloudSim Architecture [16]

At the lowest layer, SimJava provides the base engine of the simulation that supports the

implementation of core functionalities essential for the higher-level frameworks of the simulation,

like queuing and processing of events; formation of system components (services, hosts, brokers,

VMs); interaction between these components, and administration of the simulation clock [16].

On top of that layer is the GridSim layer which supports modelling high-level and fundamental

Grid components, such as networks, resources, data sets, and information services [16].

Then, the CloudSim layer forms the next level of the architecture that extends the core

functionalities of the GridSim layer. This layer supports modelling virtualised Cloud-based data

centre environments, including VMs, memory, storage and bandwidth. Also, this layer can manage

instantiating and simultaneously implementing a large scale Cloud infrastructure composed of

thousands of system components (VMs, hosts, data centres, and application) [16].

Finally, User Code is the top-most layer of the simulation toolkit, which reveals the

configuration of functionality for the system components, such as the number and specification of

hosts and the scheduling policies of the broker [16]. At this layer, a developer can model and

perform robust experiments and scenarios of Cloud environments based on custom policies and

Page 28: Cloudsim Notes

18

Figure 4. Current Layered CloudSim Architecture [6]

configurations already supported by the CloudSim, in order to evaluate and tackle some Cloud issues

like the complexities of Cloud infrastructure and application.

Moreover, the architecture of the CloudSim toolkit has been reviewed and changed with its

new release, as can be seen in Figure 4.

Therefore, based on Figure 4, the current layers of the simulation architecture are the CloudSim

core simulation engine, CloudSim, and User Code. The SimJava layer in the previous release has

some limitations, like not allowing the simulation to programmatically reset at run-time, not

supporting a new simulation entity to be created at run-time, and the SimJava nature of being multi-

threaded can cause performance overheads with the increasing size of the system. Thus, SimJava

has been removed and replaced with CloudSim core simulation engine in the new release of

CloudSim to overcome these limitations and enable more advanced operations that were not

backed up by SimJava [6].

2.3.2 Usability

In order to use the CloudSim toolkit, users need to have a basic background in Java

programming language because it is written in Java [6]. Also, it requires users to write some code to

use the components from its library in order to simulate the desired scenarios. Therefore, it is not

Page 29: Cloudsim Notes

19

just about setting the parameters, running the program, and collecting the results, but it also

requires a deep understanding of how the program works. In addition, a little knowledge about

Integrated Development Environments (IDEs), like NetBeans or Eclipse, will be useful to ease

installing the toolkit and the development of scenarios. Furthermore, CloudSim provides a library

that can be used to build a ready-to-use solution, such as CloudAnalyst which is built on top of

CloudSim, to offer an easy to use graphical user interface [7].

2.3.3 Capabilities

CloudSim has some compelling features and capabilities that can be extended to model a

custom Cloud Computing environment. According to Calheiros et al [6], CloudSim can offer flexibility

and applicability and with less time and effort to support initial performance testing. It can support

simulating, from small-scale up to large-scale cloud environments containing data centres, with little

or almost no overheads in terms of initialisation and consumption of memory. Also, it has a

virtualisation engine that allows the creation of multiple virtualised services that can be

independently managed on a single node of the data centre.

Moreover, it supports, in addition to other features, energy-awareness provisioning techniques

at resource, VM, and application level, such as VM allocation and DVFS [6]. For managing the energy-

conscious techniques in a data centre, CloudSim architecture contains the key components

CloudCoordinator, Sensor, and VMM. The Sensor component, which is attached to every host, is

used by the CloudCoordinator to monitor particular performance parameters, like energy

consumption and resource utilisation. Thus, through the attached Sensors, CloudCoordinator passes

real-time information, like load conditions and processing share, of the active VMs to the VMM.

Then, VMM uses this information to perform the appropriate application of DVFS and resizing of

VMs. Also, according to VMs’ policy and current utilisation of resources, CloudCoordinator

constantly issues VM migration commands and changes the power state of nodes to adapt the

allocation of VMs [6].

2.3.4 Limitations

CloudSim is a powerful tool for modelling and simulating Cloud computing, but it has some

limitations. Firstly, it is not a ready-to-use tool that that would just require setting parameters only.

Actually, it does require writing some Java code to use its library, as discussed earlier. Also, the

capabilities of CloudSim are sometimes limited and require some extensions. For instance,

CloudAnalyst has been developed as an extension of CloudSim capabilities to offer a separation of

Page 30: Cloudsim Notes

20

the simulation experimentation exercise from the technicalities of programming, using the library in

order to ease modelling by simply focusing on the complexity of the simulated scenario, without

spending much effort and time on the language in which the simulator is interpreted [7].

Page 31: Cloudsim Notes

21

3. Methodology

3.1. Project Management

Managing the project appropriately by using the right tools can be a key factor to its success

[42]. Project management should involve the activities of planning, follow-up and control, and

ensure the project is being completed according to the specification and within the permitted

budget and timescale.

3.1.1. Revised Project Plan

For the project undertaken, a project plan was initially created, as discussed earlier in Section

1.7. But, because of uncertainties about the hurdles encountered in the early stages, the project

plan was revised during the Implementation stage because it took longer than initially expected. The

reasons for revising the plan are the lack of a user manual for how to use the CloudSim toolkit and

time spent on running the experiments. There was no user guide or online tutorial for how to use

the toolkit; therefore, it took a while to perform reverse engineering to understand the simulation

source code and how it works and behaves. Also, running the experiments took a very long time.

More details of these issues and how they were solved will be explained in Section 6.2.

In addition, more time was allocated for the Implementation stage to add more novelty to the

project by implementing further scenarios instead of having only one.

Thus, the project plan has been revised without exceeding the limited timescale for the project

deadline (see the revised plan in Appendix D).

3.1.1.1. Key Activities

The key activities for the project are still the same as initially discussed in Section 1.7.1.

3.1.1.2. Milestones

The start dates for some of the milestones have been updated, as follows:

1. Decide on Project (10/02/2012)

2. Decide on Planning (09/03/2012)

3. Analysis and Implementation (01/03/2012)

Page 32: Cloudsim Notes

22

4. Monitoring (28/05/2012)

5. Evaluation (09/08/2012)

6. Preparing for the Final Project and Dissertation (30/07/2012)

7. End of Project (30/08/2012)

3.1.2. Progress Meetings

In order to track the progression status of the project, weekly progress meetings with the

supervisor have been conducted almost from the beginning of the project till the end. During these

meetings, it was very useful to discuss the progress of the project, reveal any issues encountered,

and set plans based on the discussion output. After the submission of the interim report, weekly

progress reports were documented and brought to the meetings for tracking and discussing the

tasks accomplished for that week, and setting the tasks to be completed for the following week (see

these weekly progress reports in Appendix E).

In addition, a work in progress presentation was conducted with both the supervisor and

assessor to show and discuss the overall progress of the project and obtain feedback to enhance the

project accordingly (see the presentation slides in Appendix F).

3.2. Problem Summary

Cloud infrastructure is equipped with large and power consuming data centres that bring

challenges to managing the power consumption eco-efficiently [29] [40]. As has been stated by

Scheihing [43], data centres consume about 10 to 100 times more energy per square foot than

typical office buildings. They can even consume the same amount of electricity that is used by a city

[44]. Also, high energy consumption in a data centre can lead to extreme heat dissipation which

would raise the cooling costs and make the servers vulnerable to risks and failures. All these issues

would also inflate the operational costs in order to maintain and keep the data centre functioning

[45]. Additionally, governmental policies across the world push data centre providers to reduce

energy waste and become greener with regard to the environment. Thus, using certain eco-efficient

mechanisms, like DVFS and VM allocation, to reduce the energy consumption can help to enhance

the sustainability and profitability of the data centres and make them greener.

Page 33: Cloudsim Notes

23

Figure 5. An iterative approach for experiments development

3.3. Project Methodology

As discussed previously, the methodology will be based on using a simulation to evaluate the

mechanisms that can be used to improve the eco-efficiency of data centres. Thus, the development

approach of this project will start with analysing and designing a scenario of the simulated

experiment, running the scenario, verifying the results, and finally, evaluating the results. The

designing, running and verifying of the stages will follow an iterative approach, as shown in Figure 5,

to ensure the appropriateness of the simulated scenario for this project.

The main reason for following an iterative approach is to give more flexibility to quickly altering

the settings of the design of the experiments in case of any mistake or error that would terminate

running and completing the experiments. Also, after completing each experiment successfully, the

iterative approach allows going back and changing the objectives of the experiment in order to

investigate more aspects of Cloud data centres.

The analysis stage is more about understanding the background to the CloudSim toolkit, how it

has been used by others to simulate some experiments, and setting the objectives for the

experiments to be simulated. The design stage is more about forming the settings for the

experiments according to the objectives. Running the experiments and collecting the results then

takes place. After that, verifying and interpreting the results and making sure that the experiment is

completed successfully is done. Finally, evaluating and contrasting the results with the other work

already carried out in the literature takes place.

Page 34: Cloudsim Notes

24

3.4. Analysis and Design of Simulated Experiments

As discussed previously, the methodology adopted for this project is based on simulating some

experiments by using the CloudSim toolkit to evaluate eco-efficiency mechanisms in Cloud data

centres. Therefore, as mentioned in Section 2.3, CloudSim has been analysed and reviewed in terms

of its usability and capabilities of offering an environment for experimenting with some scenarios of

Cloud data centres. The main objective of the experiments is to evaluate the energy consumption in

data centres.

In terms of the design, CloudSim version 2.1.1 has been used because it has more features than

the earlier release, as discussed in Section 2.3.1., and it provides examples of power provisioning

techniques that can be used for conducting the experiments in this project.

CloudSim consists of significant classes that form the building blocks of the simulator. For

example, Cloudlet is the class that forms Cloud-based applications services like business workflow,

content delivery and social networking [6]. For each life cycle of the Cloudlet execution, it has to

undertake the pre-assigned instruction length and data transfer overhead including its creation,

allocation to VM, scheduling in VM, and termination [46]. Also, Host class is responsible for

modelling the physical resources like storage or compute servers. This class encapsulates essential

details about the host, such as the amount of memory and storage, and lists and types of the

processing cores. Furthermore, Vm class models the VM component which is hosted and managed

by a Cloud host component that stores the related characteristics to the VM, including accessible

memory, storage size, and processor [6].

Therefore, as a design for the scenarios to be experimented, they will focus on altering the

settings of three parameters, which are the number of hosts, VMs, and Cloudlets. The characteristics

of these three parameters will be kept as the typical values already set in CloudSim as it has already

been experimented and validated by Calheiros et al to quantify CloudSim efficiency in simulating

Cloud Computing environments [6]. Also, the values of these characteristics represent the typical

settings of the machines found in a data centre. These typical characteristics of hosts, VMs, and

Cloudlets are shown in Table 1.

Page 35: Cloudsim Notes

25

Table 1. Typical characteristics of hosts, VMs, and Cloudlets

Hosts

Max Power 250 Watts

Static Power 0.7 (70%)

MIPS { 1000, 2000, 3000 }

RAM 10000 MB

Storage 1000000 MB

Bandwidth 100000 Mbps

VMs

MIPS Rating { 250, 500, 750, 1000 }

Number of CPUs 1

RAM 128 MB

Bandwidth 2500 Mbps

Image Size 2500 MB

Cloudlets

Length 150000 (equivalent to 10 mins execution on 250 MIPS)

Number of CPUs 1

File Size 300

Output Size 300

Thus, provisioning requests for each VM would demand 1 CPU core (with variation of 250 MIPS

to 1000 MIPS), 128 MB of RAM, and 2.5 GB of storage.

Moreover, the simulation has some randomness with the results of the experiments. Therefore,

the experiments will be run N-times to increase the reliability of the results by having a sample size

and then calculating the mean values, standard deviation, and confidence interval with a confidence

level of 95%- a commonly used level that will give very conservative results, as stated by Payton et al

[47].

Page 36: Cloudsim Notes

26

4. Implementation of Experiments

This chapter will show some simulated scenarios of a Cloud data centre using CloudSim, with

the overall objective of evaluating the techniques based on the variation of energy consumption

metric. Firstly, it will include several scenarios conducted with the deployment of a DVFS

mechanism. Furthermore, it will show two more simulated scenarios using VM migration with DVFS

enabled.

Each scenario will have a number of experiments that will vary based on the value settings of

the key parameters, hosts, VMs and Cloudlets, as discussed in the previous Section 3.4. They will

start with the default values of 10 hosts, 20 VMs, and 20 Cloudlets as the minimum values, and then

they will be incremented to represent the higher scales of a data centre for each succeeding

experiment. The maximum values for each scenario will vary from one to another based on the

objectives, as will be stated later on.

4.1. DVFS Mechanism

4.1.1. Scenario 1: Increasing the No. of Hosts, VMs, and Cloudlets

4.1.1.1. Objectives and Design

The objectives of the following experiments are to evaluate how increasing the number of

resources and services would reflect on the energy consumption; how the deployment of a DVFS

mechanism would contribute towards reducing energy consumption compared to an environment

without the deployment of this mechanism, and what the maximum parameters values that

CloudSim can handle are.

The parameter settings for the number of hosts, VMs, and Cloudlets will initially be according to

the default values already set in CloudSim, and then they will be doubled each time in order to

observe the variation in energy consumption.

4.1.1.2 Discussion of the Results

The experiments for the two scenarios, with and without the deployment of DVFS, have been

run and the results have been collected and shown in Table 2 and Table 3 in Appendix G. Thus, in

terms of the parameter settings of this scenario, experiment 1 has the minimum values of 10 hosts,

Page 37: Cloudsim Notes

27

20 VMs, and 20 Cloudlets, and experiment 15 has the maximum values of 4603 hosts, 9206 VMs, and

9206 Cloudlets. From the results collected and calculated, Figure 6 below has been produced to

explain the difference between the two scenarios based on the mean values of the energy

consumption metric.

Figure 6. Comparison between energy consumption mean values for each experiment

Based on the results shown in Figure 6, doubling the number of resources and services would

also double the energy consumption for both scenarios, with and without the deployment of DVFS.

However, the energy consumed with the deployment of a DVFS mechanism is about three times less

than the energy consumption with the scenario with no deployment of DVFS. Therefore, the

deployment of DVFS would save about 2/3 of the consumed energy because the DVFS mechanism

seeks to decrease the dynamic energy consumption by reducing the supplied voltage and frequency

[40].

Also, this scenario should have stopped at experiment 10 where it cannot accept doubling the

parameters’ values any more, but it was carried out for the purpose of finding out the maximum

parameter values that CloudSim can handle, which took approximately 31 hours to complete. As can

be observed from experiment 10 to 15, the scenario has changed, since the values of the parameter

settings are not doubling this time because of the limitation of CloudSim’s ability to handle them. As

a result of this particular scenario, the purpose of finding the maximum values that CloudSim can

handle has been achieved, and they are 4603 Hosts, 9206 VMs, and 9206 Cloudlets, as shown in

experiment 15 in Appendix G.

-100

0

100

200

300

400

500

600

Exp

erim

ent

1

Exp

erim

ent

2

Exp

erim

ent

3

Exp

erim

ent

4

Exp

erim

ent

5

Exp

erim

ent

6

Exp

erim

ent

7

Exp

erim

ent

8

Exp

erim

ent

9

Exp

erim

ent

10

Exp

erim

ent

11

Exp

erim

ent

12

Exp

erim

ent

13

Exp

erim

ent

14

Exp

erim

ent

15

With DVFS Mechanism

Without Power Aware Mechanism

Page 38: Cloudsim Notes

28

4.1.2. Scenario 2: Increasing the No. Of Hosts

4.1.2.1. Objectives and Design

The objectives of the following experiments are to evaluate how increasing the number of hosts

would reflect on the energy consumption, and how the deployment of a DVFS mechanism would

contribute towards reducing energy consumption compared to an environment without the

deployment of this mechanism.

The parameter settings for the number of hosts, VMs, and Cloudlets will initially be according to

the default values already set in CloudSim, and then the number of hosts will be doubled each time

to observe the variation in energy consumption.

4.1.2.2. Discussion of the Results

Based on the results collected from the two scenarios, with and without the deployment of

DVFS, shown in Table 4 and 5 in Appendix I, Figure 8 below has been produced to show the

difference between the two scenarios based on the mean values of the energy consumption. For this

scenario, experiment 1 has the minimum values of the parameter settings with 10 hosts, 20 VMs,

and 20 Cloudlets, and experiment 14 has the maximum values of 81920 hosts, 20 VMs, and 20

Cloudlets.

Figure 8. Comparison between energy consumption mean values for each experiment

-1000

0

1000

2000

3000

4000

5000

6000

7000

8000

9000

With DVFS Mechanism

Without Power Aware Mechanism

Page 39: Cloudsim Notes

29

Based on the results shown in Figure 8, doubling the number of machines would also double the

energy consumption for the scenario without the deployment of DVFS, because more machines

would be running and waste energy if there is no power control mechanism. But with the

deployment of DVFS, the energy consumed is almost unchanged and stays the same for each

experiment because only the number of machines required are running to provide the services,

while the rest of the machines are not running, which would be reflected greatly in saving energy.

4.1.3. Scenario 3: Increasing the No. Of VMs

4.1.3.1. Objectives and Design

The objectives of the following experiments are similar to scenario 2, but this time the number

of VMs will be increased, while the Hosts and Cloudlets remain constant.

Thus, the design of the experiments will involve doubling the value only of the VMs parameter

each time to observe the variation in energy consumption.

4.1.3.2. Discussion of the Results

Based on the results collected from the two scenarios, with and without the deployment of

DVFS, shown in Table 6 and 7 in Appendix J, Figure 9 below has been produced to show the

difference between the two scenarios based on the mean values of energy consumption. For this

scenario, experiment 1 has the minimum values of the parameter settings with 10 hosts, 20 VMs,

and 20 Cloudlets, and experiment 14 has the maximum parameter values of 10 hosts, 163840 VMs,

and 20 Cloudlets.

Page 40: Cloudsim Notes

30

Figure 9. Comparison between energy consumption mean values for each experiment

Based on the results shown above in Figure 9, doubling the number of VMs from experiment 1

to 2 increased the energy consumption by about three times for the scenario with the deployment

of DVFS, and then the energy consumption stayed the same for the subsequent experiments.

Interestingly, this scenario may indicate that the number of under-utilised VMs used has increased

from experiment 1 to 2, since the number of services and physical machines has stayed the same. In

terms of the scenario without the deployment of DVFS, it remained almost constant and unchanged

for all the experiments. However, the deployment of DVFS in experiment 1 saved about 70% of

energy consumption compared to the other scenario. Also, for the remaining experiments, it still

saved about 16% of the consumed energy compared to the scenario without the deployment of

DVFS.

4.1.4. Scenario 4: Increasing the No. Of Cloudlets

4.1.4.1. Objectives and Design

The objectives of the following experiments are similar to the previous scenarios, but this time

it will increase the number of services while the Hosts and VMs remain constant.

Thus, only the value of the Cloudlets parameter will be doubled each time to observe the

variation in energy consumption.

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

With DVFS Mechanism

Without Power Aware Mechanism

Page 41: Cloudsim Notes

31

4.1.4.2. Discussion of the Results

Based on the results collected from the two scenarios, with and without the deployment of

DVFS, shown in Table 8 and 9 in Appendix K, Figure 10 below has been produced to show the

difference between the two scenarios based on the mean values of the energy consumption. For this

scenario, experiment 1 has the minimum values of the parameter settings with 10 hosts, 20 VMs,

and 20 Cloudlets, and experiment 13 has the maximum parameter values of 10 hosts, 20 VMs, and

61440 Cloudlets.

Figure 10. Comparison between energy consumption mean values for each experiment

Based on the results shown above in Figure 10, doubling the number of services has not,

surprisingly, increased the energy consumption for both scenarios. They almost stayed the same for

all the experiments.

Also, the figure above clearly shows that the deployment of a DVFS mechanism saves about

70% of energy consumption compared to the other scenario without the deployment of this

mechanism.

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

With DVFS Mechanism

Without DVFS Mechanism

Page 42: Cloudsim Notes

32

4.1.5. Scenario 5: Increasing the No. Of Hosts and VMs

4.1.5.1. Objectives and Design

The objectives of the following experiments are similar to the previous scenarios, but this time

it will involve increasing the number of Hosts and VMs only, while the number of Cloudlets remains

constant.

Thus, the value of Host and VM parameters only will be doubled each time to observe the

variation in energy consumption.

4.1.5.2. Discussion of the Results

Based on the results collected from the two scenarios, with and without the deployment of

DVFS, shown in Table 10 and 11 in Appendix L, Figure 11 below has been produced to show the

difference between the two scenarios based on the mean values of the energy consumption. For this

scenario, experiment 1 has the minimum values of the parameter settings with 10 hosts, 20 VMs,

and 20 Cloudlets, and experiment 10 has the maximum parameter values of 3840 hosts, 7680 VMs,

and 20 Cloudlets.

Figure 11. Comparison between energy consumption mean values for each experiment

Based on the results shown in Figure 11 and tables 10 and 11 in Appendix L, doubling the

number of Hosts and VMs would also double the energy consumption for both scenarios, with and

-100

-50

0

50

100

150

200

250

300

350

400

With DVFS Mechanism

Without Power Aware Mechanism

Page 43: Cloudsim Notes

33

without the deployment of DVFS. But, interestingly, with the deployment of DVFS, the energy

consumed has increased three times from experiment 1 to 2, and for the subsequent experiments it

just doubled. Similar to scenario 3, this increase may indicate that the number of under-utilised VMs

used has increased from experiment 1 to 2 since the number of services stayed the same.

The energy consumed in experiment 1 with the deployment of a DVFS mechanism is almost

three times less than for the same experiment without the deployment of this mechanism. Also, for

the remaining experiments, the energy consumption for the DVFS scenarios was almost twice as less

than the consumption with the other scenario.

4.1.6. Scenario 6: Increasing the No. Of Hosts and Cloudlets

4.1.6.1. Objectives and Design

The objectives of the following experiments are similar to the previous scenarios, but this time

it involves increasing the number of Hosts and Cloudlets only, while the number of VMs remains

constant.

Thus, the value of Hosts and Cloudlet parameters will be doubled each time to observe the

variation in energy consumption.

4.1.6.2. Discussion of the Results

Based on the results collected from the two scenarios, with and without the deployment of

DVFS, shown in Table 12 and 13 in Appendix M, Figure 12 below has been produced to show the

difference between the two scenarios based on the mean values of the energy consumption. For this

scenario, experiment 1 has the minimum values of the parameter settings with 10 hosts, 20 VMs,

and 20 Cloudlets, and experiment 13 has the maximum parameter values of 30720 hosts, 20 VMs,

and 61440 Cloudlets.

Page 44: Cloudsim Notes

34

Figure 12. Comparison between energy consumption mean values for each experiment

Based on the results shown in Figure 12 and the tables in Appendix M, doubling the number of

Hosts and Cloudlets would also double the energy consumption for the scenario without the

deployment of DVFS. But, with the deployment of DVFS, the energy consumed has remained the

same.

These results are exactly the same as the results shown in the previous scenario 2. However,

the only difference is that in this scenario, CloudSim accepts doubling the values till experiment 12

and in experiment 13 the values have been increased by just 50%, while in scenario 2 it continues by

handling two more experiments till experiment 14 without crashing the simulation. This may suggest

that increasing the number of Cloudlets would not affect the energy consumption, as this can also

be observed in scenario 4 as well.

4.2 VM Migration

4.2.1. Scenario 7: Increasing the No. Of Hosts, VMs, and Cloudlets

4.2.1.1. Objectives and Design

The objectives of the following experiments are to evaluate how increasing the number of

resources and services would reflect on the energy consumption in an environment with the

deployment of a VM migration mechanism with DVFS enabled, compared to those results shown in

scenario 1 with DVFS mechanism deployment only.

-500

0

500

1000

1500

2000

2500

3000

3500

Without Power Aware Mechanism

With DVFS Mechanism

Page 45: Cloudsim Notes

35

The parameter settings for the number of hosts, VMs, and Cloudlets will initially be according to

the default values already set in CloudSim, and then they will be doubled each time in order to

observe the variation of energy consumption. Also, it is important to note that the utilisation

threshold will be set as the typical value of 0.8 (80%) in order to prevent allocating too great a

number of VMs on one physical host to the extent that it may degrade the performance of VM.

4.2.1.2. Discussion of the Results

Based on the results collected from the two scenarios, with the deployment of VM migration

and DVFS enabled and the deployment of DVFS only, shown in Table 14 in Appendix N and Table 2 in

Appendix G, Table 15 and Figure 13 below have been produced to show the difference between the

two scenarios based on the mean values of the energy consumption. For this scenario, experiment 1

has the minimum values of the parameter settings with 10 hosts, 20 VMs, and 20 Cloudlets, and

experiment 9 has the maximum values of 2560 hosts, 5120 VMs, and 5120 Cloudlets.

Table 15. Comparison for energy consumption mean values between scenario 7 and 1

VM Migration and DVFS

enabled (Scenario 7) DVFS Mechanism Only (Scenario 1)

Percentage of Energy Reduction Achieved

Experiment 1 0.221429 0.245714 9.88%

Experiment 2 0.41 0.50 18%

Experiment 3 0.757143 1.005714 24.71%

Experiment 4 1.435714 2.094286 31.45%

Experiment 5 2.96 4.187143 29.30%

Experiment 6 5.99 8.428571 28.93%

Experiment 7 11.87 16.91 29.80%

Experiment 8 23.24857 33.87 31.36%

Experiment 9 46.80571 67.69571 30.86%

Page 46: Cloudsim Notes

36

Figure 13. Comparison between energy consumption mean values for each experiment

Thus, based on the results shown in the previous Table 15 and Figure 13, doubling the number

of resources and services would also double the energy consumption for both scenarios, with the

deployment of VM migration and DVFS enabled and with the deployment of DVFS mechanism only.

But the energy consumed with the deployment of VM migration and DVFS enabled is about 30% less

than the energy consumption with the deployment of DVFS, except for only the first three

experiments which have fewer reduction values, as can be seen in Table 15 above. Therefore, the

deployment of VM migration along with DVFS being enabled would save more energy because the

VM migration mechanism would further reduce energy by allocating more VMs to less physical

machines to allow maximum utilisation of the running of physical machines [37].

4.2.2. Scenario 8: Increasing the No. Of Hosts

4.2.2.1. Objectives and Design

The objectives of the following experiments are to evaluate how increasing the number of hosts

would reflect on the energy consumption in an environment with the deployment of VM migration

with DVFS enabled, compared to those results in scenario 2 with DVFS mechanism deployment only.

The parameter settings for the number of hosts, VMs, and Cloudlets will initially be according to

the default values already set in CloudSim, and then the number of hosts only will be doubled each

time to observe the variation in energy consumption. Also, the utilisation threshold will remain at

the typical value of 0.8 for all the experiments to prevent performance degradation.

-20

-10

0

10

20

30

40

50

60

70

80

With VM Migration and DVFS Enabled

With DVFS Mechanism Only

Page 47: Cloudsim Notes

37

4.2.2.2. Discussion of the Results

Based on the results collected from the two scenarios, with the deployment of VM migration

and DVFS enabled, and the deployment of DVFS only, shown in Table 16 in Appendix O and Table 4

in Appendix I, Figure 14 below has been produced to show the difference between the two scenarios

based on the mean values of the energy consumption. For this scenario, experiment 1 has the

minimum values of the parameter settings with 10 hosts, 20 VMs, and 20 Cloudlets, and experiment

14 has the maximum values of 81920 hosts, 20 VMs, and 20 Cloudlets.

Figure 14. Comparison between energy consumption mean values for each experiment

Based on the results shown in Figure 14, doubling the number of machines would mostly not

affect the energy consumption for both scenarios because DVFS is enabled for both to turn on only

the required number of machines, and the rest are turned off. But with the deployment of VM

migration and DVFS enabled in scenario 7, the energy consumed is less than the energy consumption

in scenario 2 with DVFS deployment only, because the VM migration would further reduce the

energy consumption by utilising the current running physical machines [37].

0

0.05

0.1

0.15

0.2

0.25

0.3

Exp

erim

ent

1

Exp

erim

ent

2

Exp

erim

ent

3

Exp

erim

ent

4

Exp

erim

ent

5

Exp

erim

ent

6

Exp

erim

ent

7

Exp

erim

ent

8

Exp

erim

ent

9

Exp

erim

ent

10

Exp

erim

ent

11

Exp

erim

ent

12

Exp

erim

ent

13

Exp

erim

ent

14

With VM Migration and DVFS Enabled

With DVFS Mechanism Only

Page 48: Cloudsim Notes

38

4.3 Overall Discussion and Results Comparison

Overall, as can be seen from the results of the experiments, deploying DVFS and VM migration

mechanisms can enhance the eco-efficiency of a data centre by lowering the performance

overheads.

Based on the scenarios from 1 to 6, a data centre with the deployment of DVFS mechanism

would consume significantly less energy than a data centre with no deployment of a power aware

mechanism, which reflects how effectively the DVFS mechanism has been designed to dynamically

control the input voltage and clock frequency of a CPU to decrease the power consumption, as

stated by Raj and Shriram [45]. A summarised comparison of the energy consumption between the

deployment of the DVFS mechanism and no deployment of a power aware mechanism for these

scenarios can be seen in Table 17 below.

Table 17. Benchmarking of energy consumption between the deployment of DVFS mechanism and non power aware (NPA) mechanism in a data centre

Variation of Energy consumption for each

subsequent experiment with

DVFS

Variation of Energy consumption for each

subsequent experiment with NPA

Average energy savings

Scenario 1: Doubling the number of hosts, VMs, and Cloudlets

Double Double About 70%

Scenario 2: Doubling the number of hosts

Stable Double Varies (Dramatic increase in

energy savings as the scale of the experiments goes higher)

Scenario 3: Doubling the number of VMs

Almost stable Stable About 70% in experiment 1

About 16% for the remaining experiments

Scenario 4: Doubling the number of

Cloudlets Stable Stable About 70%

Scenario 5: Doubling the number of hosts

and VMs Almost double Double

About 70% in experiment 1 About 55% for the remaining

experiments

Scenario 6: Doubling the number of hosts

and Cloudlets Stable Double

Varies (Dramatic increase in energy savings as the scale of the experiments goes higher)

Page 49: Cloudsim Notes

39

Based on the results shown in the table above, scenario 2 and 6 are almost the same, which

suggests along with scenario 4 that increasing the number of cloudlets does not influence energy

consumption.

Moreover, the results of scenario 1 are similar to those of scenario 5. Although the energy

saving with the deployment of DVFS compared to NPA in scenario 5 is about 70% only for the first

experiment, and for the remaining it is about 55%; while in scenario 1 it is about 70% for all the

experiments.

Furthermore, scenario 3 suggests that increasing the number of VMs only would not influence

the energy consumption while the number of hosts and cloudlets are constant. Similarly, scenario 4

suggests that increasing the number of cloudlets only, would not influence the energy consumption

while the number of hosts and VMs remain constant. However, increasing the number of hosts only

would influence the energy consumption, as can be seen in scenario 2 with NPA mechanism. Thus, it

can be concluded that the key parameter that influences energy consumption most significantly is

the number of hosts. Also, the number of VMs would also influence the energy consumption only if

this is increased with the number of hosts.

Additionally and most importantly, the deployment of the DVFS mechanism shows significant

energy savings, as can be seen in the last column in Table 17 above. Therefore, the DVFS mechanism

does a good job saving energy, and this can be justified by the way it has been designed to control

the voltage supply and frequency scaling of a CPU.

Moving on, for the deployment of VM migration with DVFS enabled, a further reduction of

energy consumption has been shown in scenarios 7 and 8 compared to scenarios 1 and 2

respectively with the deployment of DVFS mechanism only. For scenario 7 with doubling the number

of hosts, VMs and Cloudlets, it shows about a 30% further reduction in energy consumption, while in

scenario 8 with doubling the number of hosts only it shows about 20% further reduction in energy

consumption. This can be justified by the way that the VM migration mechanism is designed to

allocate more VMs on less physical machines to enable maximum utilisation of the running of

physical machines.

Page 50: Cloudsim Notes

40

5. Evaluation

This chapter will evaluate the project from three different aspects. Firstly, it will evaluate the

project in terms of meeting the aim and minimum requirements. Secondly, it will evaluate the

appropriateness of the chosen methodology. Thirdly, it will evaluate the results of the experiments,

which will include a comparison of the two techniques investigated and an overall comparison of the

results of the experiments conducted in this project with those already contained in the literature.

5.1. Evaluation According to Minimum Requirements

The aim of this project is to evaluate DVFS mechanisms that can be used to improve the eco-

efficiency of Clouds data centres. The minimum requirements for this project, as previously stated in

Section 1.3, are:

- Design a simulated scenario of a cloud data centre using DVFS mechanism

- Implement the scenario

- Collect and evaluate the simulation results

- Evaluate the mechanism used to improve the eco-efficiency of data centre management in

Cloud Computing

In order to achieve the aim and minimum requirements, the literature review in Section 2.1 has

thoroughly investigated some important aspects of Cloud Computing, including the architecture of

Clouds, types of Cloud services, types of Cloud deployment, and virtualisation. Also, in Section 2.2, it

has investigated some issues associated with Clouds, including the cost of Cloud maintenance and,

most importantly, management of eco-efficiency in data centres. In Section 2.3, it has investigated

the CloudSim toolkit in terms of its architecture, usability, capability, and limitations.

Moreover, in Section 3.4 and throughout Chapter 4, this project has not only designed and

implemented one simulated scenario of a Cloud data centre using a DVFS mechanism successfully,

but also another five scenarios, along with comparisons with other scenarios in an environment

without the deployment of a power aware mechanism, in order to compare and evaluate the energy

reduction. In addition, two more scenarios with the deployment of VM migration and DVFS enabled

have been designed and implemented to add more novelty to the project, by allowing further

Page 51: Cloudsim Notes

41

energy reduction and improvement of the eco-efficiency of a data centre. Thus, the aim and

minimum requirements have been achieved with further enhancements as well.

5.2. Evaluating the Methodology

The methodology used in this project is based on using a simulation for experimenting with

scenarios of a Cloud data centre to evaluate the mechanisms that can be used to improve eco-

efficiency. Using the simulation as a methodology for this project has been effective for the reasons

that it offers an environment that is scalable, reliable, repeatable, and controllable for performing

some benchmarking experiments, with low overheads in terms of cost and effort [6].

In terms of the simulator, CloudSim toolkit has been validated and investigated with regard to

its efficiency in modelling some scenarios of Clouds by the people who developed it from the

University of Melbourne. Therefore, CloudSim has been widely used by researchers and

organisations, such as HP labs in the US, to model some scenarios for supporting their investigation

into different aspects of Clouds, like the energy-efficient management of data centres [6].

For this project, CloudSim has been effective in terms of its flexibility and ability to support

modelling a Cloud data centre, from small-scale to large-scale experiments. Additionally, it supports

modelling some energy aware provisioning techniques, such as VM allocation and DVFS, as discussed

in Section 2.3.3. Even so, it has some limitations, such as the findings of the experiments conducted

in scenario 1 which reveal the maximum limit of the parameter values that CloudSim can handle.

Also, running the experiments sometimes takes a long time to complete, especially when the scale

of the experiment is high. Because of the randomness of CloudSim simulation, each experiment had

to be run seven times in order to obtain more reliable results, which also increases the time required

for running the experiments.

In terms of the development approach mentioned in Section 3.3, the iterative approach has

been found suitable and effective for the scenarios conducted in this project because it provides

clear and easy to follow stages for the scenarios’ development. Also, it allows speedy adjustment of

the design settings in the case of the experiments that have not been run successfully.

Page 52: Cloudsim Notes

42

5.3. Evaluating the Results

In this section, an evaluation will be presented from two dimensions. First, it will evaluate and

compare the results of the two mechanisms, DVFS and VM migration, in terms of how each one

would contribute towards enhancing the eco-efficiency of data centres. Second, it will contrast the

results of the experiments conducted in this project with those already included in the literature.

Firstly, as has been stated by Raj and Shriram [45], a DVFS mechanism focuses on utilising the

CPU by manipulating the voltage and clock frequency of a CPU to decrease the power consumed.

Based on the results of the experiments simulated in Section 4.1, scenarios 1 to 6 show significant

energy reduction with the deployment of a DVFS mechanism in a data centre, ranging from 16%

reduction up to 70%, and an even greater reduction for scenarios 2 and 6.

Furthermore, the VM allocation mechanism maximises the utilisation of the physical machines

running by dynamically migrating more VMs to less physical machines as much as possible, but to

the extent that it does not downgrade its performance [30]. Based on the results from the simulated

experiments in Section 4.2, scenarios 7 and 8 show further energy reduction with the deployment of

VM migration with DVFS enabled in a data centre, ranging from 20% up to 30%.

Thus, based on the results from all of the scenarios, the deployment of both DVFS and VM

migration in a data centre would reduce energy consumption significantly, and it can be deduced

that it would also contribute greatly to enhancing the eco-efficiency of data centres. However, it

would have added more novelty to the project if the experiments had investigated the efficiency of

mechanisms based on variant metrics instead of only the energy consumption metric.

Secondly, one study has concluded with the overall evaluation that VM migration with the goal

of server consolidation is always suitable for reducing power consumption; however, it can lead to

performance degradation when the number of consolidated VMs exceeds the specified limit of a

service threshold [37]. Similarly, the experiments conducted with VM migration in this project have

also shown the applicability of the mechanism to reduce power consumption without performance

degradation, by setting the threshold to 0.8 (80% utilisation or less).

Moreover, another study involved conducting an experiment to evaluate VM migration with the

application of DVFS [6]. The results show that such an energy conscious technique can considerably

decrease the power consumption of the hosts in a data centre by up to 50%. Whereas an evaluation

of the VM migration with DVFS enabled conducted in this project, shows the results to be a

reduction in power consumption of up to 30%, from which it can be deduced that the difference

Page 53: Cloudsim Notes

43

may be because of the different settings of the parameter values for the experiments. Also, this

project has included scenarios consisting of multiple experiments, starting from modelling small

scale data centres up to the large scale; whereas the experiment conducted in the other study

referred to, has only modelled one scenario representing one scale of data centre.

5.4. Limitations

The assessment of the two experimental mechanisms, DVFS and VM migration, in this project

has been limited to measuring the metric of energy consumption only. If another metric, such as

SLAs violation, was included, it would have added more novelty to the project in terms of measuring

the efficiency of the mechanisms by representing some trade-offs. However, due to the lack of

knowledge concerning the architecture of CloudSim before conducting this project, it was difficult to

extend the CloudSim to include another metric for measuring the SLAs violation, especially due to

the limited time-scale allocated to the project. Therefore the evaluation of these two mechanisms

could be enhanced by measuring their efficiency based on variant metrics including energy

consumption and SLAs violation.

Some of the scenarios simulated may possibly have had similar results with repeated points,

and this can be justified due to each scenario not being designed and implemented based on specific

needs and real requirements; instead, they were all based on generic requirements and objectives

using typical value settings. This could be avoided in the future by studying and analysing a specific

real data centre, and then performing the simulation experiments to evaluate the efficiency of

deploying the DVFS and VM migration techniques to enhance the eco-efficiency of that particular

data centre.

5.5. Future Work

In addition to overcoming the limitations mentioned in the previous Section 5.4, direct

experiments involving the scenarios could be set up in a laboratory to obtain more accurate results

for measuring the performance of energy-conscious techniques, such as DVFS and VM allocation, in

a real environment. However, the development approach would be different to that used in this

project. In essence, it would start with planning and setting up the experiments in terms of the

computing resources, including machines and networks. Then, there should be a device put in place

for measuring the consumed energy. Finally, after the implementation comes analysing and

evaluating the results.

Page 54: Cloudsim Notes

44

This project has focused on evaluating the techniques that could be used in a data centre as a

way of improving the eco-efficiency of Cloud Computing in terms of the infrastructure layer.

However, the eco-efficiency of Cloud Computing can be improved for different layers as well. For

example, for the top layer, designing a framework to develop applications that would consume less

energy when running on the Cloud infrastructure would also contribute towards the eco-efficiency

of Cloud Computing.

Page 55: Cloudsim Notes

45

6. Conclusion

6.1. Summary

As the usage of Cloud Computing is continually increasing, the energy consumption of the

computing resources, such as data centres, which underpin the Clouds, will increase as well. This

would increase the burden of the operational costs and the environmental impact if there is no

control over the energy consumption. Therefore, controlling and reducing the energy consumption

in data centres would not only lower the operational costs, which in return would increase the

profits, but also lower the environmental impact in terms of CO2 emissions.

Thus, this project has investigated and evaluated two techniques, namely DVFS and VM

migration, which can be deployed in data centres to control the energy consumption and improve

their eco-efficiency. The experiments explained in Chapter 4 have shown that significant energy

reduction in data centres could be achieved with the deployment of DVFS and VM migration.

6.2. Problems Encountered

A number of problems have been faced while conducting the project, particularly when

conducting the experiments. Since CloudSim is open source software, there is no user manual for it,

which made it difficult to understand how to use the toolkit. This meant it took longer than expected

to carry out further research and reverse engineering in order to understand how the tool works for

modelling some Cloud scenarios. The Google group for CloudSim community was very useful when

attempting to tackle this issue.

Also, the time for running the experiments was very long, especially when the scale of the

scenario is high. Also, because of the randomness of the simulation, each experiment had to be run

multiple times. For example, scenario one had 15 experiments and each experiment was run seven

times, which means that 105 runs were conducted through eclipse in order to complete scenario 1

only. Thus, it was very difficult and time consuming to complete the rest of the scenarios in the same

way; therefore, by using shell scripting, a number of experiments were run simultaneously to speed

up conducting the remaining scenarios.

Page 56: Cloudsim Notes

46

7. Bibliography

[1] Mell, P. and Grance, T. (2011) The NIST Definition of Cloud Computing. [Internet], National

Institute of Standards and Technology, September, p.1-3. Available from:

<http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf> [Accessed 8th June 2012]

[2] Deng, J et al (2010) Research and Application of Cloud Storage. 2nd International Workshop on

Intelligent Systems and Applications (ISA), 22-23 May, pp. 1-5.

[3] Yeo, S. and Lee, H. (2011) Using Mathematical Modelling in Provisioning a Heterogeneous Cloud

Computing Environment. Computer, 44(8), August, pp. 55-62.

[4] Kliazovich, D. et al (2010) GreenCloud: A Packet-level Simulator of Energy-aware Cloud

Computing Data Centers. IEEE Global Telecommunication Conference (GLOBECOM 2010), 6-10

December, pp.1-5.

[5] Grag, S. and Buyya, R. (2011) NetworkCloudSim: Modelling Parallel Applications in Cloud

Simulations. Fourth IEEE International Conference on Utility and Cloud Computing (UCC), 5-8

December, pp. 105-113.

[6] Calheiros, R. et al (2010) CloudSim: A Toolkit for Modelling and Simulation of Cloud Computing

Environments and Evaluation of Resources Provisioning Algorithms. Software – Practice and

Experience 41, 24 August, pp. 23-50, John Wiley & Sons, Ltd.

[7] Wickremasinghe, B., Calheiros, R. and Buyaa, R. (2010) CloudAnalyst: a CloudSim-based Visual

Modeller for Analysing Cloud Computing Environments and Applications. 24th IEEE International

Conference on Advanced Information Networking and Applications, 20-23 April, pp. 446-452.

[8] Doest, L. Et al (2006) Personal Goal Facilitation Through Work: Implications for Employee

Satisfaction and Well-Being. Applied Psychology: An International Review, 55(2), pp. 192-219.

[9] Krafzig, D. et al (2005) Enterprise SOA: Service-Oriented Architecture: Best Practice. Upper Saddle

River, Pearson Education, Inc.

[10] Josuttis, N. (2007) SOA in Practice: The Art of Distributed System Design. California, O’Reilly

Media, Inc.

[11] Chorafas, D. (2011) Cloud Computing Strategies. United States of America: CRS Press, Taylor and

Francis Group.

[12] Buyya, R. et al (2009) Cloud Computing and emerging IT Platforms: Vision, Hype, and Reality for

Delivering Computing as the 5th Utility. Future Generation Computer Systems 25, pp. 599-616.

[13] Vaquero, L. et al (2009) A Break in the Clouds: Towards a Cloud Definition. ACM SIGCOMM

Computer Communication Review, 39(1), January, pp. 50-55.

Page 57: Cloudsim Notes

47

[14] Miller, M. (2008) Cloud Computing: Web-Based Applications That Change the Way You Work

and Collaborate Online. United States of America: Que Publishing.

[15] Foster, I. et al (2008) Cloud Computing and Grid Computing 360-Degree Compared. Grid

Computing Environment Workshop, GCE ’0. 12-16 November, pp. 1-10.

[16] Buyya, R., Ranjan, R., and Calheiros, R. (2009) Modelling and Simulation of Scalable Cloud

Computing Environment and the CloudSim Toolkit: Challenges and Opportunities. International

Conference on High Performance Computing and Simulation, HPCS ’09. 21-24 June, pp. 1-11.

[17] Velte, A., Velte, T., and Elsenpeter, R. (2010) Cloud Computing: A Practical Approach. United

States of America: McGraw-Hill.

[18] Tsai, W., Sun, X., and Balasooriya, J. (2010) Service-Oriented Cloud Computing Architecture.

Seventh International Conference on Information Technology. 12-14 April, pp. 684-689.

[19] Rehman, Z., Hussain, F., and Hussain, O. (2011) Towards Multi-Criteria Cloud Service Selection.

Fifth International Conference on Innovative Mobile and Internet Services in Ubiquitous

Computing. 30 June – 2 July, pp. 44-48.

[20] Ye, K. et al (2010) Virtual Machine Based Energy-Efficient Data Center Architecture for Cloud

Computing: A Performance Perspective. IEEE/ACM International Conference on Green Computing

and Communications & IEEE/ACM International Conference on Cyber, Physical and Social

Computing. 18-20 Devember, pp. 171-178.

[21] Duran-Limon, H. et al (2011) Using Lightweight Virtual Machines to Run High Performance

Computing Applications: The Case of Weather Research and Forecasting Model. Fourth IEEE

International Conference on Utility and Cloud Computing. 5-8 December, pp. 146-153.

[22] Hardy, J. et al (2012) Assessment and Evaluation of Internet-based Virtual Computing

Infrastructure. 15th IEEE International Symposium on Object/Component/Service-Oriented Real-

Time Distributed Computing. 11-13 April, pp. 39-46.

[23] Armstrong, D. and Djemame, K. (2009) Towards Quality of Service in the Cloud. Proceedings of

the 25th UK Performance Engineering Workshop, pp. 226-240.

[24] Nakajima, J. and Mallick, A. (2007) Hybrid Virtualisation – Enhanced Virtualisation for Linux.

Proceedings of Linux Symposium, 2, 27th-30th June, pp. 87-96.

[25] Tsaravas, C. and Themistocleous, M. (2011) Cloud Computing and EGovernment: A Literature

Review. European, Mediterranean & Middle Eastern Conference on Information Systems. 30-31

May, pp. 154-164.

[26] Sabahi, F. (2011) Cloud Computing Security Threats and Responses. IEEE 3rd International

Conference on Communication Software and Networks. 27-29 May, pp. 245-249.

[27] Li, X. et al (2009) The Method and Tool of Cost Analysis for Cloud Computing. IEEE International

Conference on Cloud Computing, CLOUD ’09. 21-25 September, pp. 93-100.

Page 58: Cloudsim Notes

48

[28] Smarr, L. (2010) Project GreenLight: Optimizing Cyber-Infrastructure for a Carbon-Constrained

World. Computer, 43(1), January, pp. 22-27.

[29] Moreno, I., and Xu, J. (2011) Energy-Efficiency in Cloud Computing Environments: Towards

Energy Savings without Performance Degradation. International Journal of Clouds Applications

and Computing, 1, pp. 16-33.

[30] Jaureguialzo, E. (2011) PUE: The Green Grid metric for evaluating the energy efficiency in DC

(Data Center). Measurement method using the power demand. IEEE 33rd International

Telecommunications Energy Conference (INTELEC). 9-13 October, pp.1-8.

[31] Tellbach, D. (2012) What are Next Steps to Make PUE Statements more Helpful? Datacentre

Transformation Conference, [Internet], at the University of Leeds, 26-27 June. Available from:

<http://www.dtconference.com/presentations> [Accessed 30th July 2012]

[32] Gillan, P. (2012) Fresh Air – The Coolest Way to Save Energy: Direct Free Cooling Utilising

Outside Air. Datacentre Transformation Conference, [Internet], at the University of Leeds, 26-27

June. Available from: <http://www.dtconference.com/presentations> [Accessed 30th July 2012]

[33] Patterson, M. et al (2010) WP29-ERE: A Metric for Measuring the Benefits of Reuse Energy

from a Data Center. [Internet], The Green Grid, 22 September. Available from:

<http://www.thegreengrid.org/en/Global/Content/white-papers/ERE> [Accessed 30th July 2012]

[34] VanGeet, O. (2010) FEMP Best Practice Guide for Energy-Efficient Data Center Design. [Internet],

Federal Energy Management Program (FEMP), prepaid by the National Renewable Energy

Laboratory (NREL), US. Available from: <http://www.nrel.gov/docs/fy11osti/47201.pdf> [Accessed

30th July 2012]

[35] Brady, E. (2012) A Critical Evaluation of the PUE Metric. Datacentre Transformation Conference,

[Internet], at the University of Leeds, 26-27 June. Available from:

<http://www.dtconference.com/presentations> [Accessed 30th July 2012]

[36] Rudgyard, M. (2012) End-To-End Monitoring and Management in Data Centre; a Fresh

Approach. Datacentre Transformation Conference, [Internet], at the University of Leeds, 26-27

June. Available from: <http://www.dtconference.com/presentations> [Accessed 30th July 2012]

[37] Corradi, A., Fanelli, M., and Foschini, L. (2011) Increasing Cloud Power Efficiency through

Consolidation Techniques. IEEE Symposium on Computers and Communications. 28 June – 1 July,

pp. 129-134.

[38] Pakbaznia, E., Ghasemazar, M., and Pedram, M. (2010) Temperature-Aware Dynamic Resource

Provisioning in a Power-Optimized Datacenter. Design, Automation & Test in Europe Conference

& Exhibition. 8-12 March, pp. 124-129.

[39] Kliazovich, D., Bouvry, P., and Khan, S. (2010) DENS: Data Center Energy-Efficient Network-

Aware Scheduling. IEEE/ACM International Conference on Green Computing and Communications

(GreenCom) & International Conference on Cyber, Physical and Social Computing (CPSCom). 18-20

December, pp. 69-75.

Page 59: Cloudsim Notes

49

[40] Kim, K., Beloglazov, A., and Buyya, R. (20009) Power-aware Provisioning of Cloud Resources for

Real-time Services. Proceedings of the 7th International Workshop on Middleware for Grids,

Clouds and e-Science – MGC ’09, 30th November, pp. 1-6.

[41] Quiroz, A. et al (2009) Towards autonomic workload provisioning for enterprise grids and

clouds. 10th IEEE/ACM International Conference on Grid Computing, 13-15 October, pp. 50-57.

[42] Jessen, S. (2011) The Impact on Project Success of Using Technology in Modern Project Planning

and Control. IEEE International Technology Management Conference (ITMC), 27-30 June, pp. 801-

805.

[43] Scheihing, P. (2007) Creating Energy-Efficient Data Centers. Data Center Facilities and

Engineering Conference, Washington, DC, 18th May.

[44] Markoff, J. and Lohr, S. (2002) Intel’s Huge Bet Turns Iffy. The New York Times, [Internet], 29th

September. Available from: <http://www.nytimes.com/2002/09/29/business/intel-s-huge-bet-turns-

iffy.html?pagewanted=all&src=pm> [Accessed 6th August 2012]

[45] Raj, V. and Shriram, R. (2011) Power Aware Provisioning in Cloud Computing Environment.

International Conference on Computer, Communication and Electrical Technology – ICCCET, 18th-

19th Marsh, pp. 6-11.

[46] Shiraz, M. and Gani, A. (2012) Mobile Cloud Computing: Critical Analysis of Application

Deployment in Virtual Machines. International Proceedings of Computer Science and Information

Technology, vol.27, February, pp. 11-16.

[47] Payton, M., Greenstone, M., and Schenker, N. (2003) Overlapping Confidence Intervals or

Standard Error Intervals: What Do They Mean in Terms of Statistical Significance. Journal of Insect

Science, 3(34), 30 October, pp. 1-6.

[48] Beloglazov, A. and Buyya, R. (2011) Optimal Online Deterministic Algorithms and Adaptive

Heuristics for Energy and Performance Efficient Dynamic Consolidation of Virtual Machines in

Cloud Data Centres. Concurrency and Computation: Practice and Experience, [Internet] 7th

October. Available from: <http://beloglazov.info/papers/2012-optimal-algorithms-ccpe.pdf>

[Accessed 1st June 2012]

Page 60: Cloudsim Notes

50

8. Appendices

8.1. Appendix A: Project Reflection

This project has been very interesting and challenging as it provided me with vital skills and

knowledge about Cloud Computing and the techniques used to improve the eco-efficiency of data

centres. Having completed the project, I would like to share some experiences and lessons learnt

with others interested in doing a similar project.

First of all, once you have chosen a topic that is interesting to you, you should set your

objectives and create a thorough project plan as early on as possible. It might be difficult to foresee

everything at the beginning, but planning will help you to think ahead about how to effectively

manage your time in order to complete the project successfully.

Moreover, it is important to complete the background reading and some of the writing before

May, when exams start, so that you have enough time to write a solid interim report, which has to

be submitted about three weeks after the exams. Indeed, if the topic chosen is new to you, it would

be very difficult to complete both the initial reading and writing within three weeks.

Choosing an appropriate methodology for the project is another key success factor to achieving

a better outcome. As my project was aimed at investigating several techniques through experiments,

I found that using simulations and applying an iterative approach was most suitable for conducting

the experiments because it gave me more flexibility.

Personally, I expected the CloudSim simulator to be easy to use, but once I started exploring it, I

faced numerous challenges, especially in terms of how to use it. If you use CloudSim for your project,

it is important to start learning about the tool by studying and running simple examples available in

the program; then explore it more deeply until you understand how it works and how you can

employ it for your project. Also, it is important to explore the tool while carrying out the background

reading before May so that you do not need to waste time learning it once you start the

implementation, which was the most important lesson I learnt. In addition, if you encounter any

issues while using the tool, visit the online discussions for CloudSim, which are available on Google

group; you may find the answers to your queries there, or you can post your own queries to be

answered by the people who developed CloudSim, who manage the group.

Page 61: Cloudsim Notes

51

In terms of project management, ideally, have one project plan and stick to it. This will help to

ensure that everything goes smoothly and as planned. However, sometimes you may have to change

the project plan due to unexpected issues or the underestimation of some tasks. Thus, revise the

project plan regularly to ensure successful completion of the project within the limited timescale.

Furthermore, weekly meetings with the supervisor gave me the opportunity to discuss the

issues encountered as well as gain more advice on improving the project. To make the meetings

effective, prepare an agenda for each meeting to discuss the tasks you have achieved during that

week and to set tasks to be completed in the following week. In addition, detailed and constructive

feedback from both the supervisor and assessor for the interim report and the work in progress

presentation was extremely useful, as it directed me to where improvements should be made in the

project. If I were to do the project again, I would have prepared and included more work in the

interim report and the presentation in order to obtain more feedback.

Finally, it has been my experience that discussing the project with friends can help identify

some interesting points for improvements, although not necessarily from a technical perspective.

This approach may, however, help with the overall organisation of the project.

Overall, I have learnt a lot from completing this project and have truly enjoyed the experience.

Page 62: Cloudsim Notes

52

8.2. Appendix B: Interim Report

Page 63: Cloudsim Notes

53

Page 64: Cloudsim Notes

54

8.3. Appendix C: Initial Project Plan

Page 65: Cloudsim Notes

55

Page 66: Cloudsim Notes

56

8.4. Appendix D: Revised Project Plan

Page 67: Cloudsim Notes

57

Page 68: Cloudsim Notes

58

8.5. Appendix E: Weekly Progress Report

Weekly Progress Report 1

Date: 22/June/2012

Tasks undertaken and progress

accomplished for this week

Planned tasks for next week

- Read more about how to use CloudSim

toolkit

- Understand the examples provided

with CloudSim

- Learn more about using CloudSim

- Analyse and design a scenario to simulate

DVFS mechanism

Supervisor Name: Dr. Karim Djemame

Student Name: Ibrahim Alzamil

Student ID: 200627581

Page 69: Cloudsim Notes

59

Weekly Progress Report 2

Date: 29/June/2012

Tasks undertaken and progress

accomplished for this week

Planned tasks for next week

- Read and learn more about using

CloudSim, and particularly understand

the DVFS example provided in

CloudSim-2.1.1.

- Analyse and design four scenarios to

simulate DVFS mechanism.

- Understand how to calculate the mean,

standard deviation, and confidence

interval for the energy consumption

statistics of each experiment.

- Run the experiments for each scenario

and collect the results.

- Calculate the results and find out the

mean, standard deviation, and

confidence interval for each

experiment.

- Analyse and discuss the results

- Find out the maximum values of the

parameters setting for each scenario that

CloudSim can handle.

- Do two more scenarios by only increasing:

1 - the no of hosts and VMs,

2 - the no of hosts and cloudlets,

- Look at VM allocation mechanism if there

is enough time.

Supervisor Name: Dr. Karim Djemame

Student Name: Ibrahim Alzamil

Student ID: 200627581

Page 70: Cloudsim Notes

60

Weekly Progress Report 3

Date: 6/July/2012

Tasks undertaken and progress

accomplished for this week

Planned tasks for next week

- Find out the maximum values of the

parameters setting that CloudSim can

handle in scenario 1, and run the

experiments, collect the results, and

then calculate the results to get the

mean, standard deviation, confidence

interval for each experiment.

- Analyse and discuss the results

- Try to complete scenario 2 and do the

same as for scenario 1. But still

uncompleted because the simulation

takes a very long time!

- Learn how to use shell scripting to speed

up the simulation time.

- Extend the scenarios 2, 3, and 4

- Do two more scenarios by only increasing:

1 - the no of hosts and VMs,

2 - the no of hosts and cloudlets

Supervisor Name: Dr. Karim Djemame

Student Name: Ibrahim Alzamil

Student ID: 200627581

Page 71: Cloudsim Notes

61

Weekly Progress Report 4

Date: 12/July/2012

Tasks undertaken and progress

accomplished for this week

Planned tasks for next week

- Learn how to use shell scripting to

speed up the simulation time.

- Extend the scenarios (2, 3, and 4) up to

experiment 14 or to a point where

CloudSim cannot handle doubling the

parameter values. Run and collect the

results.

- Calculate the results to find out the

mean, standard deviation, and

confidence interval.

- Use the built-in function in Excel to

calculate the confidence interval

instead of the previous way, and adjust

all the results accordingly.

- Do two more scenarios by only

increasing:

1 - the no of hosts and VMs,

2 - the no of hosts and cloudlets.

- Analyse and discuss the results

- Prepare table of contents and a draft

chapter of the report to submit on 20th of

July.

- Design and implement two scenarios of

VM migration mechanism

Supervisor Name: Dr. Karim Djemame

Student Name: Ibrahim Alzamil

Student ID: 200627581

Page 72: Cloudsim Notes

62

Weekly Progress Report 5

Date: 20/July/2012

Tasks undertaken and progress

accomplished for this week

Planned tasks for next week

- Review Project Plan

- Review aim and minimum

requirements

- Prepare table of content

- Analyse and designing two scenarios of

VM migration mechanism

- Run experiments for each scenario and

collect results, and fixing the bug found

to continue running

- Calculate the results and find out the

mean, standard deviation, and

confidence interval for each

experiment

- Analyse and discuss the results

- Complete scenario 2

- Prepare a draft chapter of Implementation

- Plan for Evaluating the results

Supervisor Name: Dr. Karim Djemame

Student Name: Ibrahim Alzamil

Student ID: 200627581

Page 73: Cloudsim Notes

63

Weekly Progress Report 6

Date: 27/July/2012

Tasks undertaken and progress

accomplished for this week

Planned tasks for the remaining weeks

- Complete scenario two of VM

migration

- Write a draft chapter of

implementation

- Review table of contents

- Plan for evaluation

- Start writing up:

- Review and adjust the Interim Report (first

two chapters) based on the feedback from

supervisor and assessor

- Write up the Methodology chapter

- Review the Implementation chapter based

on the supervisor feedback

- Evaluate the project

- Write up the Conclusion

- Finalise the project and write Personal

Reflection

Supervisor Name: Dr. Karim Djemame

Student Name: Ibrahim Alzamil

Student ID: 200627581

Page 74: Cloudsim Notes

64

8.6. Appendix F: Work in Progress Presentation

Work in Progress

Ibrahim Alzamil

Problem summary◦ What is the problem?

Cloud infrastructure is likely embodied by enormous data centres that consume huge energy in order to work [29].

Managing cloud data centres eco-efficiently

◦ Why is it important?

Reduce energy consumption

Reduce operational costs

Increase profit

Reduce CO2 emissions and be more friendly with the environment

Applying some power aware mechanisms to control and reduce power consumption◦ Dynamic Voltage and Frequency Scaling (DVFS)

Alters the CPU power consumption based on the offered workload.

◦ Virtual Machine (VM) Allocation

Migrates more VMs on less physical machines to allow maximum utilisation of running physical machines.

Aim: ◦ Evaluate a technique that can be used to improve the

eco-efficiency and operational costs.

Objectives:◦ Understand the importance of cloud computing,

architecture of clouds, types of clouds, models of clouds, and virtualization.

◦ Understand some issues associated with cloud computing.

◦ Understand CloudSim toolkit in terms of its usability, capability and limitations to offer a feasible evaluation of the eco-efficiency techniques used in data centres.

Page 75: Cloudsim Notes

65

Minimum Requirements:◦ Designing and implementing a simulated scenario of a

cloud data centre using DVFS mechanism◦ Collecting and evaluating the results◦ Providing eco-efficiency evaluation of the mechanism

used to handle some of the issues associated with data centre management of cloud computing

Further enhancements:◦ Designing and implementing five more scenarios of a

cloud data centre using DVFS mechanism and others without using DVFS mechanism

◦ Designing and implementing two more scenarios of a cloud data centre using VM Allocation mechanism

◦ Collecting and evaluating the results

An

alys

is

Design

Verify Results

Run

Eval

uat

ion

Six simulated scenarios with DVFS mechanism compared to an environment with no deployment of power aware mechanism

Two simulated scenarios with the deployment of VM migration and DVFS-enabled compared to an environment with DVFS deployment only

Objectives:◦ How increasing the No. of resources and services would

affect energy consumption◦ How the deployment of DVFS would contribute to reduce

energy compared to an environment without this mechanism

Design: ◦ Based on the parameter settings of hosts, VMs, and

cloudlets◦ Doubling the number of hosts, VMs and cloudlets for

each experiment

Run: ◦ Now, will go through demonstration of CloudSim

Results:

-100

0

100

200

300

400

500

600

With DVFS Mechanism

Without Power Aware

Mechanism

Figure 1: Comparison between energy consumption mean values for each experiment

Energ

y C

onsum

pti

on k

Wh

Page 76: Cloudsim Notes

66

Writing up the dissertation◦ Reviewing Introduction and LR chapters based on

the interim report feedback

◦ Writing up the methodology chapter

◦ Reviewing Implementation chapter based on the feedback

◦ Evaluating the project

◦ Writing up the Conclusion

◦ Finalising and writing personal reflection

Thank you

Page 77: Cloudsim Notes

67

8.7. Appendix G: Collected Results of Scenario 1: Increasing the No. Of

Hosts, VMs, and Cloudlets – DVFS Mechanism

Table 2. Shows 15 experiments with the deployment of DVFS mechanism.

Parameters

Setting

Results of Energy

Consumption (EC) for each run

Mean Value

of EC

Standard

Deviation of EC

Confidence

Interval of EC

Exp.1

No of Hosts = 10

No of VMs = 20 No of Cloudlets

= 20

Run 1 0.25 kWh

0.245714 0.005345

Upper Bound = 0.249674

Lower Bound =

0.241755

Run 2 0.25 kWh

Run 3 0.24 kWh

Run 4 0.25 kWh

Run 5 0.24 kWh

Run 6 0.25 kWh

Run 7 0.24 kWh

Exp.2

No of Hosts = 20

No of VMs = 40 No of Cloudlets

= 40

Run 1 0.50 kWh

0.50 0.005345

Upper Bound = 0.499674

Lower Bound =

0.491755

Run 2 0.49 kWh

Run 3 0.50 kWh

Run 4 0.50 kWh

Run 5 0.49 kWh

Run 6 0.49 kWh

Run 7 0.50 kWh

Exp.3

No of Hosts = 40

No of VMs = 80 No of Cloudlets

= 80

Run 1 1.00 kWh

1.005714 0.017182

Upper Bound = 1.018443

Lower Bound =

0.992986

Run 2 1.02 kWh

Run 3 1.01 kWh

Run 4 1.03 kWh

Run 5 0.99 kWh

Run 6 0.98 kWh

Run 7 1.01 kWh

Exp.4

No of Hosts = 80

No of VMs = 160

No of Cloudlets = 160

Run 1 2.12 kWh

2.094286 0.017182

Upper Bound = 2.107014

Lower Bound =

2.081557

Run 2 2.10 kWh

Run 3 2.09 kWh

Run 4 2.08 kWh

Run 5 2.11 kWh

Run 6 2.07 kWh

Run 7 2.09 kWh

Exp.5

No of Hosts = 160

No of VMs = 320

No of Cloudlets = 320

Run 1 4.20 kWh

4.187143 0.026904

Upper Bound = 4.207073

Lower Bound =

4.167213

Run 2 4.18 kWh

Run 3 4.17 kWh

Run 4 4.21 kWh

Run 5 4.14 kWh

Run 6 4.19 kWh

Run 7 4.22 kWh

Exp.6

No of Hosts = 320

No of VMs = 640

No of Cloudlets = 640

Run 1 8.44 kWh

8.428571 0.021157

Upper Bound = 8.444244

Lower Bound =

8.412898

Run 2 8.41 kWh

Run 3 8.43 kWh

Run 4 8.39 kWh

Run 5 8.44 kWh

Run 6 8.45 kWh

Run 7 8.44 kWh

Exp.7 No of Hosts =

640 No of VMs =

Run 1 16.94 kWh

16.91 0.041519 Upper Bound =

16.94361

Run 2 16.93 kWh

Run 3 16.92 kWh

Page 78: Cloudsim Notes

68

1280 No of Cloudlets

= 1280

Run 4 16.86 kWh Lower Bound = 16.8821 Run 5 16.85 kWh

Run 6 16.96 kWh

Run 7 16.93 kWh

Exp.8

No of Hosts = 1280

No of VMs = 2560

No of Cloudlets = 2560

Run 1 33.86 kWh

33.87 0.036056

Upper Bound = 33.89671

Lower Bound =

33.84329

Run 2 33.83 kWh

Run 3 33.91 kWh

Run 4 33.91 kWh

Run 5 33.90 kWh

Run 6 33.83 kWh

Run 7 33.85 kWh

Exp.9

No of Hosts = 2560

No of VMs = 5120

No of Cloudlets = 5120

Run 1 67.68 kWh

67.69571 0.044293

Upper Bound = 67.72853

Lower Bound =

67.6629

Run 2 67.66 kWh

Run 3 67.75 kWh

Run 4 67.69 kWh

Run 5 67.64 kWh

Run 6 67.69 kWh

Run 7 67.76 kWh

Exp.10 +%50

No of Hosts = 3840

No of VMs = 7680

No of Cloudlets = 7680

Run 1 101.46 kWh

101.61 0.11619

Upper Bound = 101.6961

Lower Bound =

101.5239

Run 2 101.60 kWh

Run 3 101.69 kWh

Run 4 101.51 kWh

Run 5 101.53 kWh

Run 6 101.77 kWh

Run 7 101.71 kWh

Exp.11 +%12.5

No of Hosts = 4320

No of VMs = 8640

No of Cloudlets = 8640

Run 1 114.28 kWh

114.2857 0.120119

Upper Bound = 114.3747

Lower Bound =

114.1967

Run 2 114.39 kWh

Run 3 114.31 kWh

Run 4 114.21 kWh

Run 5 114.26 kWh

Run 6 114.46 kWh

Run 7 114.09 kWh

Exp.12 +%6.25

No of Hosts = 4590

No of VMs = 9180

No of Cloudlets = 9180

Run 1 121.54 kWh

121.45 0.075656

Upper Bound = 121.5032

Lower Bound =

121.3911

Run 2 121.47 kWh

Run 3 121.41 kWh

Run 4 121.44 kWh

Run 5 121.42 kWh

Run 6 121.32 kWh

Run 7 121.53 kWh

Exp. 13 +%0.2

No of Hosts = 4598

No of VMs = 9196

No of Cloudlets = 9196

Run 1 121.77 kWh

121.7171 0.087505

Upper Bound = 121.782

Lower Bound =

121.6523

Run 2 121.65 kWh

Run 3 121.75 kWh

Run 4 121.80 kWh

Run 5 121.58 kWh

Run 6 121.81 kWh

Run 7 121.66 kWh

Exp.14 +%0.1

No of Hosts = 4602

No of VMs = 9204

No of Cloudlets = 9204

Run 1 121.90 kWh

121.7686 0.117108

Upper Bound = 121.8553

Lower Bound =

121.6818

Run 2 121.91 kWh

Run 3 121.74 kWh

Run 4 121.77 kWh

Run 5 121.56 kWh

Run 6 121.75 kWh

Run 7 121.75 kWh

Exp.15 No of Hosts = Run 1 121.81 kWh 121.82 0.095917 Upper Bound =

Page 79: Cloudsim Notes

69

+%0.02 4603 No of VMs =

9206 No of Cloudlets

= 9206

Run 2 121.96 kWh 121.8911

Lower Bound = 121.7489

Run 3 121.83 kWh

Run 4 121.75 kWh

Run 5 121.79 kWh

Run 6 121.92 kWh

Run 7 121.68 kWh

Table 3. Shows 15 experiments without the deployment of power aware mechanism

Parameters

Setting Results of Energy

Consumption (EC) for each run Mean Value

of EC Standard

Deviation of EC Confidence

Interval of EC

Exp.1

No of Hosts = 10

No of VMs = 20

No of Cloudlets = 20

Run 1 0.87 kWh

0.87

0.021602

Upper Bound = 0.886003

Lower Bound =

0.853997

Run 2 0.88 kWh

Run 3 0.89 kWh

Run 4 0.86 kWh

Run 5 0.90 kWh

Run 6 0.84 kWh

Run 7 0.85 kWh

Exp.2

No of Hosts = 20

No of VMs = 40

No of Cloudlets = 40

Run 1 1.83 kWh

1.788571

0.038914

Upper Bound = 1.817399

Lower Bound =

1.759744

Run 2 1.74 kWh

Run 3 1.81 kWh

Run 4 1.78 kWh

Run 5 1.84 kWh

Run 6 1.75 kWh

Run 7 1.77 kWh

Exp.3

No of Hosts = 40

No of VMs = 80

No of Cloudlets = 80

Run 1 3.63 kWh

3.577143

0.054685

Upper Bound = 3.617654

Lower Bound =

3.536632

Run 2 3.51 kWh

Run 3 3.56 kWh

Run 4 3.50 kWh

Run 5 3.60 kWh

Run 6 3.63 kWh

Run 7 3.61 kWh

Exp.4

No of Hosts = 80

No of VMs = 160

No of Cloudlets =

160

Run 1 7.28 kWh

7.29 0.113284

Upper Bound = 7.373921

Lower Bound =

7.206079

Run 2 7.31 kWh

Run 3 7.14 kWh

Run 4 7.47 kWh

Run 5 7.19 kWh

Run 6 7.39 kWh

Run 7 7.25 kWh

Exp.5

No of Hosts = 160

No of VMs = 320

No of Cloudlets =

320

Run 1 14.39 kWh

14.57857

0.250162

Upper Bound = 14.76389

Lower Bound =

14.39325

Run 2 14.72 kWh

Run 3 15.06 kWh

Run 4 14.50 kWh

Run 5 14.44 kWh

Run 6 14.61 kWh

Run 7 14.33 kWh

Exp.6

No of Hosts = 320

No of VMs = 640

No of Cloudlets =

640

Run 1 29.33 kWh

29.70714 0.451505

Upper Bound = 30.04162

Lower Bound =

29.37267

Run 2 29.11 kWh

Run 3 29.78 kWh

Run 4 29.78 kWh

Run 5 30.40 kWh

Run 6 29.44 kWh

Run 7 30.11 kWh

Page 80: Cloudsim Notes

70

Exp.7

No of Hosts = 640

No of VMs = 1280 No of

Cloudlets = 1280

Run 1 59.33 kWh

59.65143 0.688705

Upper Bound = 60.16162

Lower Bound =

59.14124

Run 2 59.56 kWh

Run 3 58.67 kWh

Run 4 59.56 kWh

Run 5 59.33 kWh

Run 6 60.44 kWh

Run 7 60.67 kWh

Exp.8

No of Hosts = 1280

No of VMs = 2560 No of

Cloudlets = 2560

Run 1 117.33. kWh

119.4286 1.250632

Upper Bound = 120.355

Lower Bound =

118.5021

Run 2 120.89 kWh

Run 3 119.56 kWh

Run 4 118.22 kWh

Run 5 120.0 kWh

Run 6 119.56 kWh

Run 7 120.44 kWh

Exp.9

No of Hosts = 2560

No of VMs = 5120 No of

Cloudlets = 5120

Run 1 240.0 kWh

242.2857 4.22864

Upper Bound = 245.4183

Lower Bound =

239.1532

Run 2 238.22 kWh

Run 3 250.67 kWh

Run 4 244.44 kWh

Run 5 239.11 kWh

Run 6 241.78 kWh

Run 7 241.78 kWh

Exp.10 +%50

No of Hosts = 3840

No of VMs = 7680 No of

Cloudlets = 7680

Run 1 362.67 kWh

364.19 4.895134

Upper Bound = 367.8163

Lower Bound =

360.5637

Run 2 360.00 kWh

Run 3 368.00 kWh

Run 4 364.00 kWh

Run 5 357.33 kWh

Run 6 372.00 kWh

Run 7 365.33 kWh

Exp.11 +%12.5

No of Hosts = 4320

No of VMs = 8640 No of

Cloudlets = 8640

Run 1 409.50 kWh

410.7857 4.101393

Upper Bound = 413.824

Lower Bound =

407.7474

Run 2 418.50 kWh

Run 3 414.00 kWh

Run 4 406.50 kWh

Run 5 409.50 kWh

Run 6 409.50 kWh

Run 7 408.00 kWh

Exp.12 +%6.25

No of Hosts = 4590

No of VMs = 9180 No of

Cloudlets = 9180

Run 1 436.69 kWh

436.6886 4.507806

Upper Bound = 440.0279

Lower Bound =

433.3492

Run 2 433.50 kWh

Run 3 428.72 kWh

Run 4 441.47 kWh

Run 5 438.28 kWh

Run 6 436.69 kWh

Run 7 441.47 kWh

Exp. 13 +%0.2

No of Hosts = 4598

No of VMs = 9196 No of

Cloudlets = 9196

Run 1 434.26 kWh

434.9414 4.108813

Upper Bound = 437.9852

Lower Bound =

431.8976

Run 2 431.06 kWh

Run 3 432.66 kWh

Run 4 442.24 kWh

Run 5 432.66 kWh

Run 6 432.66 kWh

Run 7 439.05 kWh

Exp.14 +%0.1

No of Hosts = 4602

No of VMs = 9204 No of

Run 1 442.62 kWh

440.34 2.584944

Upper Bound = 442.2549

Lower Bound =

438.4251

Run 2 441.03 kWh

Run 3 437.83 kWh

Run 4 442.62 kWh

Run 5 436.23 kWh

Page 81: Cloudsim Notes

71

Cloudlets = 9204

Run 6 439.43 kWh

Run 7 442.62 kWh

Exp.15 +%0.02

No of Hosts = 4603

No of VMs = 9206 No of

Cloudlets = 9206

Run 1 431.53 kWh

435.8686 4.09711

Upper Bound = 438.9037

Lower Bound =

432.8334

Run 2 429.93 kWh

Run 3 439.52 kWh

Run 4 441.12 kWh

Run 5 436.33 kWh

Run 6 437.92 kWh

Run 7 434.73 kWh

The mean values, standard deviation and confidence interval have been calculated based on

using the built-in functions in Excel sheet. As a sample, Figure 7 below shows a screen shot of the

calculation made for this scenario with the deployment of DVFS. The calculations for the remaining

scenarios are calculated in the same way.

Figure 7. A sample of using Excel to calculate mean values, standard deviation, and confidence interval.

Page 82: Cloudsim Notes

72

8.8. Appendix H: A Source Code Sample of the CloudSim Java Classes

The following sample is adapted from the example provided in CloudSim by the people from

the University of Melbourne [48], and this code was particularly implemented for experiment 1 of

scenario 1 with the DVFS mechanism.

package org.cloudbus.cloudsim.examples.power;

/*

* Title: CloudSim Toolkit

* Description: CloudSim (Cloud Simulation) Toolkit for Modeling and Simulation

* of Clouds

* Licence: GPL - http://www.gnu.org/copyleft/gpl.html

*

* Copyright (c) 2009, The University of Melbourne, Australia

*/

import java.text.DecimalFormat;

import java.util.ArrayList;

import java.util.Calendar;

import java.util.LinkedList;

import java.util.List;

import org.cloudbus.cloudsim.Cloudlet;

import org.cloudbus.cloudsim.CloudletSchedulerDynamicWorkload;

import org.cloudbus.cloudsim.DatacenterBroker;

import org.cloudbus.cloudsim.DatacenterCharacteristics;

import org.cloudbus.cloudsim.Log;

import org.cloudbus.cloudsim.Storage;

import org.cloudbus.cloudsim.UtilizationModelStochastic;

import org.cloudbus.cloudsim.Vm;

import org.cloudbus.cloudsim.VmSchedulerTimeShared;

import org.cloudbus.cloudsim.core.CloudSim;

import org.cloudbus.cloudsim.power.PowerDatacenter;

Page 83: Cloudsim Notes

73

import org.cloudbus.cloudsim.power.PowerHost;

import org.cloudbus.cloudsim.power.PowerPe;

import org.cloudbus.cloudsim.power.PowerVmAllocationPolicySingleThreshold;

import org.cloudbus.cloudsim.power.models.PowerModelLinear;

import org.cloudbus.cloudsim.provisioners.BwProvisionerSimple;

import org.cloudbus.cloudsim.provisioners.PeProvisionerSimple;

import org.cloudbus.cloudsim.provisioners.RamProvisionerSimple;

/**

* An example of a heterogeneous DVFS-enabled data center: the voltage

* and clock frequency of the CPU are adjusted ideally according

* to current resource requirements.

*

* Modified and Implemented by Ibrahim Alzamil (IA)

*/

public class ScenariosWithDVFS {

/** The cloudlet list. */

private static List<Cloudlet> cloudletList;

/** The vm list. */

private static List<Vm> vmList;

// IA .. here we adjust the settings of these three parameters based on the objective and design for each experiment

private static double hostsNumber = 10;

private static double vmsNumber = 20;

private static double cloudletsNumber = 20;

/**

* Creates main() to run this example.

*

Page 84: Cloudsim Notes

74

* @param args the args

*/

public static void main(String[] args) {

// IA .. the next three lines were used when using shell scripting to run the experiments

hostsNumber = Double.valueOf(args[0]).doubleValue();

vmsNumber = Double.valueOf(args[1]).doubleValue();

cloudletsNumber = Double.valueOf(args[2]).doubleValue();

Log.printLine("Starting DVFS example...");

try {

// First step: Initialize the CloudSim package. It should be called

// before creating any entities. We can't run this example without

// initializing CloudSim first. We will get run-time exception

// error.

int num_user = 1; // number of cloud users

Calendar calendar = Calendar.getInstance();

boolean trace_flag = false; // mean trace GridSim events

// Initialize the CloudSim library

CloudSim.init(num_user, calendar, trace_flag);

// Second step: Create Datacenters

// Datacenters are the resource providers in CloudSim. We need at

// list one of them to run a CloudSim simulation

PowerDatacenter datacenter = createDatacenter("Datacenter_0");

datacenter.setDisableMigrations(true);

Page 85: Cloudsim Notes

75

// Third step: Create Broker

DatacenterBroker broker = createBroker();

int brokerId = broker.getId();

// Fourth step: Create one virtual machine

vmList = createVms(brokerId);

// submit vm list to the broker

broker.submitVmList(vmList);

// Fifth step: Create one cloudlet

cloudletList = createCloudletList(brokerId);

// submit cloudlet list to the broker

broker.submitCloudletList(cloudletList);

// Sixth step: Starts the simulation

double lastClock = CloudSim.startSimulation();

// Final step: Print results when simulation is over

List<Cloudlet> newList = broker.getCloudletReceivedList();

Log.printLine("Received " + newList.size() + " cloudlets");

CloudSim.stopSimulation();

printCloudletList(newList);

Log.printLine();

Page 86: Cloudsim Notes

76

// IA .. to check the parameters settings were set correctly when getting the results

System.out.println("Number of Hosts are: "+ hostsNumber);

System.out.println("Number of VMs are: "+ vmsNumber);

System.out.println("Number of Cloudlets are: "+ cloudletsNumber);

Log.printLine(String.format("Total simulation time: %.2f sec", lastClock));

Log.printLine(String.format("Energy consumption: %.2f kWh", datacenter.getPower() / (3600 * 1000)));

Log.printLine();

} catch (Exception e) {

e.printStackTrace();

Log.printLine("Unwanted errors happen");

}

Log.printLine("DVFS experiment finished!");

}

/**

* Creates the cloudlet list.

*

* @param brokerId the broker id

*

* @return the cloudlet list

*/

private static List<Cloudlet> createCloudletList(int brokerId) {

List<Cloudlet> list = new ArrayList<Cloudlet>();

long length = 150000; // 10 min on 250 MIPS

Page 87: Cloudsim Notes

77

int pesNumber = 1;

long fileSize = 300;

long outputSize = 300;

for (int i = 0; i < cloudletsNumber; i++) {

Cloudlet cloudlet = new Cloudlet(i, length, pesNumber, fileSize, outputSize, new UtilizationModelStochastic(), new UtilizationModelStochastic(), new UtilizationModelStochastic());

cloudlet.setUserId(brokerId);

cloudlet.setVmId(i);

list.add(cloudlet);

}

return list;

}

/**

* Creates the vms.

*

* @param brokerId the broker id

*

* @return the list< vm>

*/

private static List<Vm> createVms(int brokerId) {

List<Vm> vms = new ArrayList<Vm>();

// VM description

int[] mips = { 250, 500, 750, 1000 }; // MIPSRating

int pesNumber = 1; // number of cpus

int ram = 128; // vm memory (MB)

long bw = 2500; // bandwidth

Page 88: Cloudsim Notes

78

long size = 2500; // image size (MB)

String vmm = "Xen"; // VMM name

for (int i = 0; i < vmsNumber; i++) {

vms.add(

new Vm(i, brokerId, mips[i % mips.length], pesNumber, ram, bw, size, vmm, new CloudletSchedulerDynamicWorkload(mips[i % mips.length], pesNumber))

);

}

return vms;

}

/**

* Creates the datacenter.

*

* @param name the name

*

* @return the datacenter

*

* @throws Exception the exception

*/

private static PowerDatacenter createDatacenter(String name) throws Exception {

// Here are the steps needed to create a PowerDatacenter:

// 1. We need to create an object of HostList2 to store

// our machine

List<PowerHost> hostList = new ArrayList<PowerHost>();

double maxPower = 250; // 250W

double staticPowerPercent = 0.7; // 70%

Page 89: Cloudsim Notes

79

int[] mips = { 1000, 2000, 3000 };

int ram = 10000; // host memory (MB)

long storage = 1000000; // host storage

int bw = 100000;

for (int i = 0; i < hostsNumber; i++) {

// 2. A Machine contains one or more PEs or CPUs/Cores.

// In this example, it will have only one core.

// 3. Create PEs and add these into an object of PowerPeList.

List<PowerPe> peList = new ArrayList<PowerPe>();

peList.add(new PowerPe(0, new PeProvisionerSimple(mips[i % mips.length]), new PowerModelLinear(maxPower, staticPowerPercent))); // need to store PowerPe id and MIPS Rating

// 4. Create PowerHost with its id and list of PEs and add them to the list of machines

hostList.add(

new PowerHost(

i,

new RamProvisionerSimple(ram),

new BwProvisionerSimple(bw),

storage,

peList,

new VmSchedulerTimeShared(peList)

)

); // This is our machine

}

// 5. Create a DatacenterCharacteristics object that stores the

// properties of a Grid resource: architecture, OS, list of

Page 90: Cloudsim Notes

80

// Machines, allocation policy: time- or space-shared, time zone

// and its price (G$/PowerPe time unit).

String arch = "x86"; // system architecture

String os = "Linux"; // operating system

String vmm = "Xen";

double time_zone = 10.0; // time zone this resource located

double cost = 3.0; // the cost of using processing in this resource

double costPerMem = 0.05; // the cost of using memory in this resource

double costPerStorage = 0.001; // the cost of using storage in this

// resource

double costPerBw = 0.0; // the cost of using bw in this resource

DatacenterCharacteristics characteristics = new DatacenterCharacteristics(

arch, os, vmm, hostList, time_zone, cost, costPerMem, costPerStorage, costPerBw);

// 6. Finally, we need to create a PowerDatacenter object.

PowerDatacenter powerDatacenter = null;

try {

powerDatacenter = new PowerDatacenter( // IAA this is the difference from the nonPowerAware

name,

characteristics,

new PowerVmAllocationPolicySingleThreshold(hostList, 1.0),

new LinkedList<Storage>(),

5.0);

} catch (Exception e) {

e.printStackTrace();

}

return powerDatacenter;

}

// We strongly encourage users to develop their own broker policies, to

// submit vms and cloudlets according

Page 91: Cloudsim Notes

81

// to the specific rules of the simulated scenario

/**

* Creates the broker.

* @return the datacenter broker

*/

private static DatacenterBroker createBroker() {

DatacenterBroker broker = null;

try {

broker = new DatacenterBroker("Broker");

} catch (Exception e) {

e.printStackTrace();

return null;

}

return broker;

}

/**

* Prints the Cloudlet objects.

*

* @param list list of Cloudlets

*/

private static void printCloudletList(List<Cloudlet> list) {

int size = list.size();

Cloudlet cloudlet;

String indent = "\t";

Log.printLine();

Log.printLine("========== OUTPUT ==========");

Log.printLine("Cloudlet ID" + indent + "STATUS" + indent

+ "Resource ID" + indent + "VM ID" + indent + "Time" + indent

+ "Start Time" + indent + "Finish Time");

Page 92: Cloudsim Notes

82

DecimalFormat dft = new DecimalFormat("###.##");

for (int i = 0; i < size; i++) {

cloudlet = list.get(i);

Log.print(indent + cloudlet.getCloudletId());

if (cloudlet.getCloudletStatus() == Cloudlet.SUCCESS) {

Log.printLine(indent + "SUCCESS"

+ indent + indent + cloudlet.getResourceId()

+ indent + cloudlet.getVmId()

+ indent + dft.format(cloudlet.getActualCPUTime())

+ indent + dft.format(cloudlet.getExecStartTime())

+ indent + indent + dft.format(cloudlet.getFinishTime()) );

}

}

}

}

Page 93: Cloudsim Notes

83

8.9. Appendix I: Collected Results of Scenario 2: Increasing the No. Of

Hosts – DVFS Mechanism

Table 4. Shows 14 experiments with the deployment of DVFS mechanism.

Parameters

Setting Results of Energy

Consumption (EC) for each run Mean

Value of EC Standard

Deviation of EC Confidence

Interval of EC

Exp.1

No of Hosts = 10 No of VMs = 20 No of Cloudlets

= 20

Run 1 0.26 kWh

0.25 0.008165

Upper Bound = 0.256049

Lower Bound =

0.243951

Run 2 0.25 kWh

Run 3 0.25 kWh

Run 4 0.24 kWh

Run 5 0.25 kWh

Run 6 0.24 kWh

Run 7 0.26 kWh

Exp.2

No of Hosts = 20 No of VMs = 20 No of Cloudlets

= 20

Run 1 0.24 kWh

0.242857 0.00488

Upper Bound = 0.246472

Lower Bound =

0.239242

Run 2 0.24 kWh

Run 3 0.25 kWh

Run 4 0.24 kWh

Run 5 0.24 kWh

Run 6 0.24 kWh

Run 7 0.25 kWh

Exp.3

No of Hosts = 40 No of VMs = 20 No of Cloudlets

= 20

Run 1 0.24 kWh

0.242857 0.007559

Upper Bound = 0.248457

Lower Bound =

0.237257

Run 2 0.25 kWh

Run 3 0.24 kWh

Run 4 0.23 kWh

Run 5 0.24 kWh

Run 6 0.25 kWh

Run 7 0.25 kWh

Exp.4

No of Hosts = 80 No of VMs = 20 No of Cloudlets

= 20

Run 1 0.24 kWh

0.24 0.005774

Upper Bound = 0.244277

Lower Bound = 0.235723

Run 2 0.24 kWh

Run 3 0.24 kWh

Run 4 0.24 kWh

Run 5 0.25 kWh

Run 6 0.23 kWh

Run 7 0.24 kWh

Exp.5

No of Hosts = 160

No of VMs = 20 No of Cloudlets

= 20

Run 1 0.24 kWh

0.242857 0.007559

Upper Bound = 0.248457

Lower Bound =

0.237257

Run 2 0.24 kWh

Run 3 0.25 kWh

Run 4 0.24 kWh

Run 5 0.23 kWh

Run 6 0.25 kWh

Run 7 0.25 kWh

Exp.6

No of Hosts = 320

No of VMs = 20 No of Cloudlets

= 20

Run 1 0.25 kWh

0.241429 0.006901

Upper Bound = 0.246541

Lower Bound =

0.236317

Run 2 0.24 kWh

Run 3 0.25 kWh

Run 4 0.24 kWh

Run 5 0.24 kWh

Run 6 0.23 kWh

Run 7 0.24 kWh

Exp.7 No of Hosts =

640 No of VMs = 20

Run 1 0.24 kWh

0.241429 0.00378 Upper Bound =

0.244229

Run 2 0.24 kWh

Run 3 0.24 kWh

Page 94: Cloudsim Notes

84

No of Cloudlets = 20

Run 4 0.24 kWh Lower Bound = 0.238629 Run 5 0.24 kWh

Run 6 0.24 kWh

Run 7 0.25 kWh

Exp.8

No of Hosts = 1280

No of VMs = 20 No of Cloudlets

= 20

Run 1 0.24 kWh

0.24 0.005774

Upper Bound = 0.244277

Lower Bound =

0.235723

Run 2 0.23 kWh

Run 3 0.24 kWh

Run 4 0.24 kWh

Run 5 0.24 kWh

Run 6 0.25 kWh

Run 7 0.24 kWh

Exp.9

No of Hosts = 2560

No of VMs = 20 No of Cloudlets

= 20

Run 1 0.25 kWh

0.242857 0.00488

Upper Bound = 0.246472

Lower Bound =

0.239242

Run 2 0.24 kWh

Run 3 0.25 kWh

Run 4 0.24 kWh

Run 5 0.24 kWh

Run 6 0.24 kWh

Run 7 0.24 kWh

Exp.10

No of Hosts = 5120

No of VMs = 20 No of Cloudlets

= 20

Run 1 0.24 kWh

0.241429 0.00378

Upper Bound = 0.244229

Lower Bound =

0.238629

Run 2 0.25 kWh

Run 3 0.24 kWh

Run 4 0.24 kWh

Run 5 0.24 kWh

Run 6 0.24 kWh

Run 7 0.24 kWh

Exp.11

No of Hosts = 10240

No of VMs = 20 No of Cloudlets

= 20

Run 1 0.24 kWh

0.238571 0.00378

Upper Bound = 0.241371

Lower Bound =

0.235771

Run 2 0.23 kWh

Run 3 0.24 kWh

Run 4 0.24 kWh

Run 5 0.24 kWh

Run 6 0.24 kWh

Run 7 0.24 kWh

Exp.12

No of Hosts = 20480

No of VMs = 20 No of Cloudlets

= 20

Run 1 0.24 kWh

0.241429 0.00378

Upper Bound = 0.244229

Lower Bound =

0.238629

Run 2 0.24 kWh

Run 3 0.25 kWh

Run 4 0.24 kWh

Run 5 0.24 kWh

Run 6 0.24 kWh

Run 7 0.24 kWh

Exp.13

No of Hosts = 40960

No of VMs = 20 No of Cloudlets

= 20

Run 1 0.24 kWh

0.241429 0.00378

Upper Bound = 0.244229

Lower Bound =

0.238629

Run 2 0.24 kWh

Run 3 0.24 kWh

Run 4 0.25 kWh

Run 5 0.24 kWh

Run 6 0.24 kWh

Run 7 0.24 kWh

Exp.14

No of Hosts = 81920

No of VMs = 20 No of Cloudlets

= 20

Run 1 0.24 kWh

0.242857 0.00488

Upper Bound = 0.246472

Lower Bound =

0.239242

Run 2 0.24 kWh

Run 3 0.24 kWh

Run 4 0.24 kWh

Run 5 0.25 kWh

Run 6 0.25 kWh

Run 7 0.24 kWh

Page 95: Cloudsim Notes

85

Table 5. Shows 14 experiments without the deployment of DVFS mechanism

Parameters

Setting

Results of Energy Consumption (EC) for each

run

Mean Value of EC

Standard Deviation of EC

Confidence Interval of EC

Exp.1

No of Hosts = 10

No of VMs = 20 No of Cloudlets

= 20

Run 1 0.89 kWh

0.871429 0.019518

Upper Bound = 0.885887

Lower Bound =

0.85697

Run 2 0.89 kWh

Run 3 0.85 kWh

Run 4 0.88 kWh

Run 5 0.88 kWh

Run 6 0.87 kWh

Run 7 0.84 kWh

Exp.2

No of Hosts = 20

No of VMs = 20 No of Cloudlets

= 20

Run 1 1.78 kWh

1.737143 0.036839

Upper Bound = 1.764433

Lower Bound =

1.709852

Run 2 1.74 kWh

Run 3 1.76 kWh

Run 4 1.71 kWh

Run 5 1.67 kWh

Run 6 1.76 kWh

Run 7 1.74 kWh

Exp.3

No of Hosts = 40

No of VMs = 20 No of Cloudlets

= 20

Run 1 3.46 kWh

3.455714 0.070441

Upper Bound = 3.507897

Lower Bound =

3.403532

Run 2 3.40 kWh

Run 3 3.47 kWh

Run 4 3.49 kWh

Run 5 3.43 kWh

Run 6 3.58 kWh

Run 7 3.36 kWh

Exp.4

No of Hosts = 80

No of VMs = 20 No of Cloudlets

= 20

Run 1 6.94 kWh

6.945714 0.206548

Upper Bound = 7.098724

Lower Bound =

6.792705

Run 2 7.28 kWh

Run 3 6.64 kWh

Run 4 7.06 kWh

Run 5 6.78 kWh

Run 6 7.03 kWh

Run 7 6.89 kWh

Exp.5

No of Hosts = 160

No of VMs = 20 No of Cloudlets

= 20

Run 1 14.22 kWh

14.04714 0.303189

Upper Bound = 14.27174

Lower Bound =

13.82254

Run 2 13.89 kWh

Run 3 14.44 kWh

Run 4 13.83 kWh

Run 5 14.11 kWh

Run 6 13.56 kWh

Run 7 14.28 kWh

Exp.6

No of Hosts = 320

No of VMs = 20 No of Cloudlets

= 20

Run 1 27.33 kWh

27.82429 0.394456

Upper Bound = 28.1165

Lower Bound =

27.53207

Run 2 27.67 kWh

Run 3 28.22 kWh

Run 4 27.44 kWh

Run 5 28.11 kWh

Run 6 27.67 kWh

Run 7 28.33 kWh

Exp.7

No of Hosts = 640

No of VMs = 20 No of Cloudlets

= 20

Run 1 56.22 kWh

56.19143 1.342304

Upper Bound = 57.1858

Lower Bound =

55.19705

Run 2 58.00 kWh

Run 3 56.89 kWh

Run 4 55.11 kWh

Run 5 54.89 kWh

Run 6 54.67 kWh

Run 7 57.56 kWh

Page 96: Cloudsim Notes

86

Exp.8

No of Hosts = 1280

No of VMs = 20 No of Cloudlets

= 20

Run 1 111.11 kWh

111.3014 3.04467

Upper Bound = 113.5569

Lower Bound =

109.0459

Run 2 112.44 kWh

Run 3 108.89 kWh

Run 4 110.22 kWh

Run 5 106.67 kWh

Run 6 114.67 kWh

Run 7 115.11 kWh

Exp.9

No of Hosts = 2560

No of VMs = 20 No of Cloudlets

= 20

Run 1 220.44 kWh

224.8886 3.207093

Upper Bound = 227.2644

Lower Bound =

222.5128

Run 2 226.67 kWh

Run 3 223.11 kWh

Run 4 226.67 kWh

Run 5 227.56 kWh

Run 6 228.44 kWh

Run 7 221.33 kWh

Exp.10

No of Hosts = 5120

No of VMs = 20 No of Cloudlets

= 20

Run 1 446.22 kWh

440.38 10.14694

Upper Bound = 447.8968

Lower Bound =

432.8632

Run 2 444.44 kWh

Run 3 451.56 kWh

Run 4 448.00 kWh

Run 5 439.11 kWh

Run 6 428.44 kWh

Run 7 424.89 kWh

Exp.11

No of Hosts = 10240

No of VMs = 20 No of Cloudlets

= 20

Run 1 910.22 kWh

890.9186 19.24177

Upper Bound = 905.1728

Lower Bound =

876.6643

Run 2 896.00 kWh

Run 3 860.44 kWh

Run 4 885.33 kWh

Run 5 917.33 kWh

Run 6 878.22 kWh

Run 7 888.89 kWh

Exp.12

No of Hosts = 20480

No of VMs = 20 No of Cloudlets

= 20

Run 1 1728.00 kWh

1776.763 48.12904

Upper Bound = 1812.417

Lower Bound =

1741.109

Run 2 1728.00 kWh

Run 3 1763.56 kWh

Run 4 1870.22 kWh

Run 5 1777.78 kWh

Run 6 1777.78 kWh

Run 7 1792.00 kWh

Exp.13

No of Hosts = 40960

No of VMs = 20 No of Cloudlets

= 20

Run 1 3754.67 kWh

3616.509 97.74878

Upper Bound = 3688.921

Lower Bound =

3544.097

Run 2 3498.67 kWh

Run 3 3697.78 kWh

Run 4 3584.00 kWh

Run 5 3498.67 kWh

Run 6 3612.44 kWh

Run 7 3669.33 kWh

Exp.14

No of Hosts = 81920

No of VMs = 20 No of Cloudlets

= 20

Run 1 7253.33 kWh

7123.301 212.7669

Upper Bound = 7280.918

Lower Bound =

6965.684

Run 2 7139.56 kWh

Run 3 7111.11 kWh

Run 4 7253.33 kWh

Run 5 7025.78 kWh

Run 6 6712.89 kWh

Run 7 7367.11 kWh

Page 97: Cloudsim Notes

87

8.10. Appendix J: Collected Results of Scenario 3: Increasing the No. Of

VMs – DVFS Mechanism

Table 6. Shows 14 experiments with the deployment of DVFS mechanism.

Parameters

Setting Results of Energy

Consumption (EC) for each run Mean

Value of EC Standard

Deviation of EC Confidence

Interval of EC

Exp.1

No of Hosts = 10 No of VMs = 20

No of Cloudlets = 20

Run 1 0.24 kWh

0.247143 0.00488

Upper Bound = 0.250758

Lower Bound =

0.243528

Run 2 0.25 kWh

Run 3 0.25 kWh

Run 4 0.25 kWh

Run 5 0.24 kWh

Run 6 0.25 kWh

Run 7 0.25 kWh

Exp.2

No of Hosts = 10 No of VMs = 40

No of Cloudlets = 20

Run 1 0.71 kWh

0.73 0.017321

Upper Bound = 0.742831

Lower Bound =

0.717169

Run 2 0.75 kWh

Run 3 0.73 kWh

Run 4 0.75 kWh

Run 5 0.72 kWh

Run 6 0.74 kWh

Run 7 0.71 kWh

Exp.3

No of Hosts = 10 No of VMs = 80

No of Cloudlets = 20

Run 1 0.72 kWh

0.727143 0.01496

Upper Bound = 0.738225

Lower Bound =

0.71606

Run 2 0.73 kWh

Run 3 0.73 kWh

Run 4 0.71 kWh

Run 5 0.71 kWh

Run 6 0.75 kWh

Run 7 0.74 kWh

Exp.4

No of Hosts = 10 No of VMs = 160 No of Cloudlets =

20

Run 1 0.74 kWh

0.731429 0.017728

Upper Bound = 0.744561

Lower Bound =

0.718296

Run 2 0.76 kWh

Run 3 0.73 kWh

Run 4 0.73 kWh

Run 5 0.71 kWh

Run 6 0.71 kWh

Run 7 0.74 kWh

Exp.5

No of Hosts = 10 No of VMs = 320 No of Cloudlets =

20

Run 1 0.72 kWh

0.741429 0.019518

Upper Bound = 0.755887

Lower Bound =

0.72697

Run 2 0.73 kWh

Run 3 0.77 kWh

Run 4 0.72 kWh

Run 5 0.76 kWh

Run 6 0.75 kWh

Run 7 0.74 kWh

Exp.6

No of Hosts = 10 No of VMs = 640 No of Cloudlets =

20

Run 1 0.74 kWh

0.738571 0.01069

Upper Bound = 0.746491

Lower Bound =

0.730652

Run 2 0.72 kWh

Run 3 0.74 kWh

Run 4 0.73 kWh

Run 5 0.75 kWh

Run 6 0.75 kWh

Run 7 0.74 kWh

Exp.7 No of Hosts = 10

No of VMs = 1280 No of Cloudlets =

Run 1 0.74 kWh

0.725714 0.011339 Upper Bound =

0.734114

Run 2 0.74 kWh

Run 3 0.71 kWh

Page 98: Cloudsim Notes

88

20 Run 4 0.72 kWh Lower Bound = 0.717314

Run 5 0.72 kWh

Run 6 0.73 kWh

Run 7 0.72 kWh

Exp.8

No of Hosts = 10 No of VMs = 2560 No of Cloudlets =

20

Run 1 0.73 kWh

0.745714 0.015119

Upper Bound = 0.756914

Lower Bound =

0.734514

Run 2 0.76 kWh

Run 3 0.75 kWh

Run 4 0.77 kWh

Run 5 0.73 kWh

Run 6 0.74 kWh

Run 7 0.74 kWh

Exp.9

No of Hosts = 10 No of VMs = 5120 No of Cloudlets =

20

Run 1 0.72 kWh

0.732857 0.011127

Upper Bound = 0.7411

Lower Bound =

0.724614

Run 2 0.73 kWh

Run 3 0.73 kWh

Run 4 0.74 kWh

Run 5 0.72 kWh

Run 6 0.74 kWh

Run 7 0.75 kWh

Exp.10

No of Hosts = 10 No of VMs = 10240 No of Cloudlets =

20

Run 1 0.76 kWh

0.738571 0.015736

Upper Bound = 0.750229

Lower Bound =

0.726914

Run 2 0.74 kWh

Run 3 0.72 kWh

Run 4 0.75 kWh

Run 5 0.75 kWh

Run 6 0.73 kWh

Run 7 0.72 kWh

Exp.11

No of Hosts = 10 No of VMs = 20480 No of Cloudlets =

20

Run 1 0.74 kWh

0.735714 0.007868

Upper Bound = 0.741543

Lower Bound =

0.729886

Run 2 0.74 kWh

Run 3 0.73 kWh

Run 4 0.73 kWh

Run 5 0.73 kWh

Run 6 0.73 kWh

Run 7 0.75 kWh

Exp.12

No of Hosts = 10 No of VMs = 40960 No of Cloudlets =

20

Run 1 0.72 kWh

0.725714 0.012724

Upper Bound = 0.73514

Lower Bound =

0.716288

Run 2 0.75 kWh

Run 3 0.73 kWh

Run 4 0.72 kWh

Run 5 0.72 kWh

Run 6 0.73 kWh

Run 7 0.71 kWh

Exp.13

No of Hosts = 10 No of VMs = 81920 No of Cloudlets =

20

Run 1 0.74 kWh

0.737143 0.007559

Upper Bound = 0.742743

Lower Bound =

0.731543

Run 2 0.74 kWh

Run 3 0.74 kWh

Run 4 0.72 kWh

Run 5 0.74 kWh

Run 6 0.74 kWh

Run 7 0.74 kWh

Exp.14

No of Hosts = 10 No of VMs =

163840 No of Cloudlets =

20

Run 1 0.73 kWh

0.728571 0.021157

Upper Bound = 0.744244

Lower Bound =

0.712898

Run 2 0.73 kWh

Run 3 0.72 kWh

Run 4 0.76 kWh

Run 5 0.71 kWh

Run 6 0.70 kWh

Run 7 0.75 kWh

Page 99: Cloudsim Notes

89

Table 7. Shows 14 experiments without the deployment of Power Aware mechanism

Parameters

Setting Results of Energy Consumption

(EC) for each run Mean Value

of EC Standard

Deviation of EC Confidence

Interval of EC

Exp.1

No of Hosts = 10

No of VMs = 20 No of Cloudlets

= 20

Run 1 0.87 kWh

0.875714 0.021492

Upper Bound = 0.891635

Lower Bound =

0.859793

Run 2 0.85 kWh

Run 3 0.89 kWh

Run 4 0.88 kWh

Run 5 0.91 kWh

Run 6 0.88 kWh

Run 7 0.85 kWh

Exp.2

No of Hosts = 10

No of VMs = 40 No of Cloudlets

= 20

Run 1 0.86 kWh

0.875714 0.029358

Upper Bound = 0.897463

Lower Bound =

0.853966

Run 2 0.86 kWh

Run 3 0.92 kWh

Run 4 0.86 kWh

Run 5 0.91 kWh

Run 6 0.84 kWh

Run 7 0.88 kWh

Exp.3

No of Hosts = 10

No of VMs = 80 No of Cloudlets

= 20

Run 1 0.89 kWh

0.884286 0.016183

Upper Bound = 0.896274

Lower Bound =

0.872297

Run 2 0.86 kWh

Run 3 0.87 kWh

Run 4 0.88 kWh

Run 5 0.89 kWh

Run 6 0.91 kWh

Run 7 0.89 kWh

Exp.4

No of Hosts = 10

No of VMs = 160

No of Cloudlets = 20

Run 1 0.86 kWh

0.861429 0.019518

Upper Bound = 0.875887

Lower Bound =

0.84697

Run 2 0.89 kWh

Run 3 0.83 kWh

Run 4 0.85 kWh

Run 5 0.86 kWh

Run 6 0.86 kWh

Run 7 0.88 kWh

Exp.5

No of Hosts = 10

No of VMs = 320

No of Cloudlets = 20

Run 1 0.91 kWh

0.88 0.02582

Upper Bound = 0.899127

Lower Bound =

0.860873

Run 2 0.88 kWh

Run 3 0.84 kWh

Run 4 0.91 kWh

Run 5 0.86 kWh

Run 6 0.89 kWh

Run 7 0.87 kWh

Exp.6

No of Hosts = 10

No of VMs = 640

No of Cloudlets = 20

Run 1 0.85 kWh

0.867143 0.035923

Upper Bound = 0.893755

Lower Bound =

0.840531

Run 2 0.87 kWh

Run 3 0.88 kWh

Run 4 0.91 kWh

Run 5 0.91 kWh

Run 6 0.82 kWh

Run 7 0.83 kWh

Exp.7

No of Hosts = 10

No of VMs = 1280

No of Cloudlets = 20

Run 1 0.87 kWh

0.872857 0.021381

Upper Bound = 0.888696

Lower Bound =

0.857018

Run 2 0.88 kWh

Run 3 0.89 kWh

Run 4 0.90 kWh

Run 5 0.88 kWh

Run 6 0.85 kWh

Run 7 0.84 kWh

Exp.8 No of Hosts = Run 1 0.85 kWh 0.857143 0.017995 Upper Bound =

Page 100: Cloudsim Notes

90

10 No of VMs =

2560 No of Cloudlets

= 20

Run 2 0.85 kWh 0.870473

Lower Bound = 0.843812

Run 3 0.86 kWh

Run 4 0.86 kWh

Run 5 0.86 kWh

Run 6 0.89 kWh

Run 7 0.83 kWh

Exp.9

No of Hosts = 10

No of VMs = 5120

No of Cloudlets = 20

Run 1 0.91 kWh

0.891429 0.03132

Upper Bound = 0.91463

Lower Bound =

0.868227

Run 2 0.87 kWh

Run 3 0.89 kWh

Run 4 0.88 kWh

Run 5 0.93 kWh

Run 6 0.84 kWh

Run 7 0.92 kWh

Exp.10

No of Hosts = 10

No of VMs = 10240

No of Cloudlets = 20

Run 1 0.89 kWh

0.878571 0.017728

Upper Bound = 0.891704

Lower Bound =

0.865439

Run 2 0.86 kWh

Run 3 0.88 kWh

Run 4 0.89 kWh

Run 5 0.90 kWh

Run 6 0.85 kWh

Run 7 0.88 kWh

Exp.11

No of Hosts = 10

No of VMs = 20480

No of Cloudlets = 20

Run 1 0.86 kWh

0.88 0.04

Upper Bound = 0.909632

Lower Bound =

0.850368

Run 2 0.87 kWh

Run 3 0.88 kWh

Run 4 0.87 kWh

Run 5 0.96 kWh

Run 6 0.89 kWh

Run 7 0.83 kWh

Exp.12

No of Hosts = 10

No of VMs = 40960

No of Cloudlets = 20

Run 1 0.87 kWh

0.878571 0.013452

Upper Bound = 0.888537

Lower Bound =

0.868606

Run 2 0.89 kWh

Run 3 0.90 kWh

Run 4 0.88 kWh

Run 5 0.86 kWh

Run 6 0.88 kWh

Run 7 0.87 kWh

Exp.13

No of Hosts = 10

No of VMs = 81920

No of Cloudlets = 20

Run 1 0.87 kWh

0.865714 0.017182

Upper Bound = 0.878443

Lower Bound =

0.852986

Run 2 0.86 kWh

Run 3 0.90 kWh

Run 4 0.85 kWh

Run 5 0.86 kWh

Run 6 0.87 kWh

Run 7 0.85 kWh

Exp.14

No of Hosts = 10

No of VMs = 163840

No of Cloudlets = 20

Run 1 0.91 kWh

0.881429 0.021157

Upper Bound = 0.897102

Lower Bound =

0.865756

Run 2 0.88 kWh

Run 3 0.88 kWh

Run 4 0.87 kWh

Run 5 0.86 kWh

Run 6 0.91 kWh

Run 7 0.86 kWh

Page 101: Cloudsim Notes

91

8.11. Appendix K: Collected Results of Scenario 4: Increasing the No.

Of Cloudlets – DVFS Mechanism

Table 8. Shows 13 experiments with the deployment of DVFS mechanism.

Parameters

Setting Results of Energy

Consumption (EC) for each run Mean Value

of EC Standard

Deviation of EC Confidence

Interval of EC

Exp.1

No of Host = 10 No of VMs = 20 No of Cloudlets

= 20

Run 1 0.25 kWh

0.251429 0.006901

Upper bound = 0.256541

Lower Bound =

0.246317

Run 2 0.25 kWh

Run 3 0.25 kWh

Run 4 0.26 kWh

Run 5 0.25 kWh

Run 6 0.24 kWh

Run 7 0.26 kWh

Exp.2

No of Host = 10 No of VMs = 20 No of Cloudlets

= 40

Run 1 0.25 kWh

0.251429 0.006901

Upper bound = 0.256541

Lower Bound =

0.246317

Run 2 0.25 kWh

Run 3 0.26 kWh

Run 4 0.25 kWh

Run 5 0.25 kWh

Run 6 0.26 kWh

Run 7 0.24 kWh

Exp.3

No of Host = 10 No of VMs =20 No of Cloudlets

= 80

Run 1 0.26 kWh

0.248571 0.006901

Upper bound = 0.253683

Lower Bound =

0.243459

Run 2 0.25 kWh

Run 3 0.25 kWh

Run 4 0.24 kWh

Run 5 0.24 kWh

Run 6 0.25 kWh

Run 7 0.25 kWh

Exp.4

No of Host = 10 No of VMs = 20 No of Cloudlets

= 160

Run 1 0.25 kWh

0.247143 0.00488

Upper bound = 0.250758

Lower Bound =

0.243528

Run 2 0.24 kWh

Run 3 0.24 kWh

Run 4 0.25 kWh

Run 5 0.25 kWh

Run 6 0.25 kWh

Run 7 0.25 kWh

Exp.5

No of Host = 10 No of VMs = 20 No of Cloudlets

= 320

Run 1 0.25 kWh

0.251429 0.00378

Upper bound = 0.254229

Lower Bound =

0.248629

Run 2 0.26 kWh

Run 3 0.25 kWh

Run 4 0.25 kWh

Run 5 0.25 kWh

Run 6 0.25 kWh

Run 7 0.25 kWh

Exp.6

No of Hosts = 10

No of VMs = 20 No of Cloudlets

= 640

Run 1 0.25 kWh

0.247143 0.00488

Upper bound = 0.250758

Lower Bound =

0.243528

Run 2 0.25 kWh

Run 3 0.25 kWh

Run 4 0.24 kWh

Run 5 0.25 kWh

Run 6 0.24 kWh

Run 7 0.25 kWh

Exp.7 No of Hosts =

10 No of VMs = 20

Run 1 0.24 kWh

0.247143 0.00488 Upper bound =

0.250758

Run 2 0.25 kWh

Run 3 0.25 kWh

Page 102: Cloudsim Notes

92

No of Cloudlets = 1280

Run 4 0.25 kWh Lower Bound = 0.243528 Run 5 0.25 kWh

Run 6 0.25 kWh

Run 7 0.24 kWh

Exp.8

No of Hosts = 10

No of VMs = 20 No of Cloudlets

= 2560

Run 1 0.25 kWh

0.252857 0.00488

Upper bound = 0.256472

Lower Bound =

0.249242

Run 2 0.26 kWh

Run 3 0.26 kWh

Run 4 0.25 kWh

Run 5 0.25 kWh

Run 6 0.25 kWh

Run 7 0.25 kWh

Exp.9

No of Hosts = 10

No of VMs = 20 No of Cloudlets

= 5120

Run 1 0.26 kWh

0.248571 0.008997

Upper bound = 0.255237

Lower Bound =

0.241906

Run 2 0.25 kWh

Run 3 0.26 kWh

Run 4 0.24 kWh

Run 5 0.25 kWh

Run 6 0.24 kWh

Run 7 0.24 kWh

Exp.10

No of Hosts = 10

No of VMs = 20 No of Cloudlets

= 10240

Run 1 0.25 kWh

0.248571 0.00378

Upper bound = 0.251371

Lower Bound =

0.245771

Run 2 0.24 kWh

Run 3 0.25 kWh

Run 4 0.25 kWh

Run 5 0.25 kWh

Run 6 0.25 kWh

Run 7 0.25 kWh

Exp.11

No of Hosts = 10

No of VMs = 20 No of Cloudlets

= 20480

Run 1 0.24 kWh

0.244286 0.005345

Upper bound = 0.248245

Lower Bound =

0.240326

Run 2 0.25 kWh

Run 3 0.25 kWh

Run 4 0.24 kWh

Run 5 0.25 kWh

Run 6 0.24 kWh

Run 7 0.24 kWh

Exp.12

No of Hosts = 10

No of VMs = 20 No of Cloudlets

= 40960

Run 1 0.25 kWh

0.25 0.005774

Upper bound = 0.254277

Lower Bound =

0.245723

Run 2 0.25 kWh

Run 3 0.24 kWh

Run 4 0.25 kWh

Run 5 0.25 kWh

Run 6 0.25 kWh

Run 7 0.26 kWh

Exp.13 +%50

No of Hosts = 10

No of VMs = 20 No of Cloudlets

= 61440

Run 1 0.24 kWh

0.248571

0.006901

Upper bound = 0.253683

Lower Bound =

0.243459

Run 2 0.25 kWh

Run 3 0.24 kWh

Run 4 0.25 kWh

Run 5 0.25 kWh

Run 6 0.26 kWh

Run 7 0.25 kWh

Page 103: Cloudsim Notes

93

Table 9. Shows 13 experiments without the deployment of Power Aware mechanism

Parameters

Setting Results of Energy Consumption

(EC) for each run Mean Value

of EC Standard

Deviation of EC Confidence

Interval of EC

Exp.1

No of Host = 10 No of VMs = 20 No of Cloudlets

= 20

Run 1 0.88 kWh

0.868571 0.021157

Upper bound = 0.884244

Lower Bound =

0.852898

Run 2 0.83 kWh

Run 3 0.87 kWh

Run 4 0.88 kWh

Run 5 0.88 kWh

Run 6 0.85 kWh

Run 7 0.89 kWh

Exp.2

No of Host = 10 No of VMs = 20 No of Cloudlets

= 40

Run 1 0.88 kWh

0.881429 0.029681

Upper bound = 0.903416

Lower Bound =

0.859441

Run 2 0.87 kWh

Run 3 0.92 kWh

Run 4 0.87 kWh

Run 5 0.83 kWh

Run 6 0.91 kWh

Run 7 0.89 kWh

Exp.3

No of Host = 10 No of VMs =20 No of Cloudlets

= 80

Run 1 0.86 kWh

0.861429 0.013452

Upper bound = 0.871394

Lower Bound =

0.851463

Run 2 0.88 kWh

Run 3 0.87 kWh

Run 4 0.84 kWh

Run 5 0.86 kWh

Run 6 0.85 kWh

Run 7 0.87 kWh

Exp.4

No of Host = 10 No of VMs = 20 No of Cloudlets

= 160

Run 1 0.89 kWh

0.867143 0.01976

Upper bound = 0.881781

Lower Bound =

0.852504

Run 2 0.86 kWh

Run 3 0.84 kWh

Run 4 0.85 kWh

Run 5 0.89 kWh

Run 6 0.88 kWh

Run 7 0.86 kWh

Exp.5

No of Host = 10 No of VMs = 20 No of Cloudlets

= 320

Run 1 0.85 kWh

0.855714 0.015119

Upper bound = 0.866914

Lower Bound =

0.844514

Run 2 0.86 kWh

Run 3 0.86 kWh

Run 4 0.88 kWh

Run 5 0.86 kWh

Run 6 0.83 kWh

Run 7 0.85 kWh

Exp.6

No of Hosts = 10 No of VMs = 20 No of Cloudlets

= 640

Run 1 0.88 kWh

0.862857 0.017043

Upper bound = 0.875483

Lower Bound =

0.850231

Run 2 0.84 kWh

Run 3 0.86 kWh

Run 4 0.86 kWh

Run 5 0.86 kWh

Run 6 0.89 kWh

Run 7 0.85 kWh

Exp.7

No of Hosts = 10 No of VMs = 20 No of Cloudlets

= 1280

Run 1 0.87 kWh

0.88 0.021602

Upper bound = 0.896003

Lower Bound =

0.863997

Run 2 0.89 kWh

Run 3 0.85 kWh

Run 4 0.87 kWh

Run 5 0.88 kWh

Run 6 0.92 kWh

Run 7 0.88 kWh

Exp.8 No of Hosts = 10 Run 1 0.87 kWh 0.871429 0.017728 Upper bound =

Page 104: Cloudsim Notes

94

No of VMs = 20 No of Cloudlets

= 2560

Run 2 0.88 kWh 0.884561

Lower Bound = 0.858296

Run 3 0.85 kWh

Run 4 0.87 kWh

Run 5 0.88 kWh

Run 6 0.90 kWh

Run 7 0.85 kWh

Exp.9

No of Hosts = 10 No of VMs = 20 No of Cloudlets

= 5120

Run 1 0.88 kWh

0.875714 0.019024

Upper bound = 0.889807

Lower Bound =

0.861622

Run 2 0.87 kWh

Run 3 0.84 kWh

Run 4 0.89 kWh

Run 5 0.88 kWh

Run 6 0.87 kWh

Run 7 0.90 kWh

Exp.10

No of Hosts = 10 No of VMs = 20 No of Cloudlets

= 10240

Run 1 0.93 kWh

0.867143 0.029841

Upper bound = 0.889249

Lower Bound =

0.845037

Run 2 0.85 kWh

Run 3 0.87 kWh

Run 4 0.86 kWh

Run 5 0.84 kWh

Run 6 0.85 kWh

Run 7 0.87 kWh

Exp.11

No of Hosts = 10 No of VMs = 20 No of Cloudlets

= 20480

Run 1 0.89 kWh

0.874286 0.017182

Upper bound = 0.887014

Lower Bound =

0.861557

Run 2 0.88 kWh

Run 3 0.86 kWh

Run 4 0.87 kWh

Run 5 0.85 kWh

Run 6 0.87 kWh

Run 7 0.90 kWh

Exp.12

No of Hosts = 10 No of VMs = 20 No of Cloudlets

= 40960

Run 1 0.90 kWh

0.865714 0.019881

Upper bound = 0.880442

Lower Bound =

0.850987

Run 2 0.88 kWh

Run 3 0.86 kWh

Run 4 0.86 kWh

Run 5 0.87 kWh

Run 6 0.84 kWh

Run 7 0.85 kWh

Exp.13 +%50

No of Hosts = 10 No of VMs = 20 No of Cloudlets

= 61440

Run 1 0.86 kWh

0.871429 0.013452

Upper bound = 0.881394

Lower Bound =

0.861463

Run 2 0.87 kWh

Run 3 0.88 kWh

Run 4 0.87 kWh

Run 5 0.85 kWh

Run 6 0.88 kWh

Run 7 0.89 kWh

Page 105: Cloudsim Notes

95

8.12. Appendix L: Collected Results of Scenario 5: Increasing the No. Of

Hosts and VMs – DVFS Mechanism

Table 10. Shows 10 experiments with the deployment of DVFS mechanism.

Parameters

Setting Results of Energy

Consumption (EC) for each run Mean

Value of EC Standard

Deviation of EC Confidence

Interval of EC

Exp.1

No of Hosts = 10 No of VMs = 20 No of Cloudlets

= 20

Run 1 0.24 kWh

0.244286 0.005345

Upper Bound = 0.248245

Lower Bound =

0.240326

Run 2 0.25 kWh

Run 3 0.24 kWh

Run 4 0.25 kWh

Run 5 0.25 kWh

Run 6 0.24 kWh

Run 7 0.24 kWh

Exp.2

No of Hosts = 20 No of VMs = 40 No of Cloudlets

= 20

Run 1 0.75 kWh

0.74 0.009759

Upper Bound = 0.742944

Lower Bound =

0.728485

Run 2 0.73 kWh

Run 3 0.74 kWh

Run 4 0.74 kWh

Run 5 0.73 kWh

Run 6 0.74 kWh

Run 7 0.72 kWh

Exp.3

No of Hosts = 40 No of VMs = 80 No of Cloudlets

= 20

Run 1 1.48 kWh

1.515714 0.035523

Upper Bound = 1.54203

Lower Bound =

1.489399

Run 2 1.51 kWh

Run 3 1.55 kWh

Run 4 1.52 kWh

Run 5 1.51 kWh

Run 6 1.47 kWh

Run 7 1.57 kWh

Exp.4

No of Hosts = 80 No of VMs =

160 No of Cloudlets

= 20

Run 1 3.27 kWh

3.13 0.088882

Upper Bound = 3.195843

Lower Bound =

3.064157

Run 2 3.18 kWh

Run 3 3.08 kWh

Run 4 3.10 kWh

Run 5 3.20 kWh

Run 6 3.02 kWh

Run 7 3.06 kWh

Exp.5

No of Hosts = 160

No of VMs = 320

No of Cloudlets = 20

Run 1 6.39 kWh

6.47 0.229056

Upper Bound = 6.639684

Lower Bound =

6.300316

Run 2 6.39 kWh

Run 3 6.38 kWh

Run 4 6.86 kWh

Run 5 6.16 kWh

Run 6 6.43 kWh

Run 7 6.68 kWh

Exp.6

No of Hosts = 320

No of VMs = 640

No of Cloudlets = 20

Run 1 12.90 kWh

12.90714 0.323301

Upper Bound = 13.14664

Lower Bound =

12.66764

Run 2 12.75 kWh

Run 3 13.00 kWh

Run 4 13.00 kWh

Run 5 12.30 kWh

Run 6 13.35 kWh

Run 7 13.05 kWh

Exp.7 No of Hosts =

640 No of VMs =

Run 1 25.89 kWh

25.37 0.590972 Upper Bound =

25.80636

Run 2 26.29 kWh

Run 3 25.08 kWh

Page 106: Cloudsim Notes

96

1280 No of Cloudlets

= 20

Run 4 25.08 kWh Lower Bound = 24.93078 Run 5 25.69 kWh

Run 6 24.78 kWh

Run 7 24.77 kWh

Exp.8

No of Hosts = 1280

No of VMs = 2560

No of Cloudlets = 20

Run 1 50.08 kWh

50.16571 0.859997

Upper Bound = 50.8028

Lower Bound =

49.52863

Run 2 49.67 kWh

Run 3 48.86 kWh

Run 4 50.08 kWh

Run 5 51.70 kWh

Run 6 50.49 kWh

Run 7 50.28 kWh

Exp.9

No of Hosts = 2560

No of VMs = 5120

No of Cloudlets = 20

Run 1 102.59 kWh

101.6014 1.705153

Upper Bound = 102.8646

Lower Bound =

100.3383

Run 2 102.59 kWh

Run 3 98.93 kWh

Run 4 100.96 kWh

Run 5 101.37 kWh

Run 6 100.56 kWh

Run 7 104.21 kWh

Exp.10 +50%

No of Hosts = 3840

No of VMs = 7680

No of Cloudlets = 20

Run 1 155.15 kWh

151.67 3.588876

Upper Bound = 154.3286

Lower Bound =

149.0114

Run 2 148.44 kWh

Run 3 153.33 kWh

Run 4 146.61 kWh

Run 5 155.77 kWh

Run 6 153.33 kWh

Run 7 149.06 kWh

Table 11. Shows 10 experiments without the deployment of power aware mechanism

Parameters

Setting

Results of Energy Consumption (EC) for each

run

Mean Value of EC

Standard Deviation of EC

Confidence Interval of EC

Exp.1

No of Hosts = 10

No of VMs = 20 No of Cloudlets

= 20

Run 1 0.84 kWh

0.87 0.035119

Upper Bound = 0.896016

Lower Bound =

0.843984

Run 2 0.88 kWh

Run 3 0.88 kWh

Run 4 0.84 kWh

Run 5 0.85 kWh

Run 6 0.86 kWh

Run 7 0.94 kWh

Exp.2

No of Hosts = 20

No of VMs = 40 No of Cloudlets

= 20

Run 1 1.74 kWh

1.747143 0.023604

Upper Bound = 1.764629

Lower Bound =

1.729657

Run 2 1.76 kWh

Run 3 1.74 kWh

Run 4 1.72 kWh

Run 5 1.72 kWh

Run 6 1.77 kWh

Run 7 1.78 kWh

Exp.3

No of Hosts = 40

No of VMs = 80 No of Cloudlets

= 20

Run 1 3.39 kWh

3.43 0.091652

Upper Bound = 3.497895

Lower Bound =

3.362105

Run 2 3.49 kWh

Run 3 3.60 kWh

Run 4 3.32 kWh

Run 5 3.39 kWh

Run 6 3.44 kWh

Run 7 3.38 kWh

Exp.4 No of Hosts = Run 1 6.86 kWh 6.982857 0.14127 Upper Bound =

Page 107: Cloudsim Notes

97

80 No of VMs =

160 No of Cloudlets

= 20

Run 2 6.94 kWh 7.087509

Lower Bound = 6.878205

Run 3 7.06 kWh

Run 4 6.83 kWh

Run 5 7.00 kWh

Run 6 6.94 kWh

Run 7 7.25 kWh

Exp.5

No of Hosts = 160

No of VMs = 320

No of Cloudlets = 20

Run 1 13.39 kWh

13.93714 0.719113

Upper Bound = 14.46986

Lower Bound =

13.40443

Run 2 14.11 kWh

Run 3 13.56 kWh

Run 4 13.22 kWh

Run 5 14.00 kWh

Run 6 13.89 kWh

Run 7 15.39 kWh

Exp.6

No of Hosts = 320

No of VMs = 640

No of Cloudlets = 20

Run 1 27.22 kWh

27.7 0.611337

Upper Bound = 28.15288

Lower Bound =

27.24712

Run 2 27.67 kWh

Run 3 28.67 kWh

Run 4 27.89 kWh

Run 5 27.56 kWh

Run 6 26.78 kWh

Run 7 28.11 kWh

Exp.7

No of Hosts = 640

No of VMs = 1280

No of Cloudlets = 20

Run 1 56.00 kWh

55.81 1.588962

Upper Bound = 56.9871

Lower Bound =

54.6329

Run 2 55.78 kWh

Run 3 58.00 kWh

Run 4 54.67 kWh

Run 5 53.11 kWh

Run 6 56.00 kWh

Run 7 57.11 kWh

Exp.8

No of Hosts = 1280

No of VMs = 2560

No of Cloudlets = 20

Run 1 111.11 kWh

111.1871 2.966832

Upper Bound = 113.385

Lower Bound =

108.9893

Run 2 114.67 kWh

Run 3 113.87 kWh

Run 4 113.33 kWh

Run 5 106.67 kWh

Run 6 110.22 kWh

Run 7 108.44 kWh

Exp.9

No of Hosts = 2560

No of VMs = 5120

No of Cloudlets = 20

Run 1 226.67 kWh

225.7786 4.589486

Upper Bound = 229.1784

Lower Bound =

222.3787

Run 2 223.11 kWh

Run 3 224.00 kWh

Run 4 227.56 kWh

Run 5 230.22 kWh

Run 6 231.11 kWh

Run 7 217.78 kWh

Exp.10 +50%

No of Hosts = 3840

No of VMs = 7680

No of Cloudlets = 20

Run 1 334.67 kWh

334.4771 5.983894

Upper Bound = 338.91

Lower Bound =

330.0443

Run 2 344.00 kWh

Run 3 340.00 kWh

Run 4 326.67 kWh

Run 5 332.00 kWh

Run 6 329.33 kWh

Run 7 334.67 kWh

Page 108: Cloudsim Notes

98

8.13. Appendix M: Collected Results of Scenario 6: Increasing the No.

Of Hosts and Cloudlets – DVFS Mechanism

Table 12. Shows 13 experiments with the deployment of DVFS mechanism.

Parameters

Setting Results of Energy

Consumption (EC) for each run Mean

Value of EC Standard

Deviation of EC Confidence

Interval of EC

Exp.1

No of Hosts = 10 No of VMs = 20 No of Cloudlets

= 20

Run 1 0.25 kWh

0.252857 0.00488

Upper Bound = 0.256472

Lower Bound =

0.249242

Run 2 0.25 kWh

Run 3 0.26 kWh

Run 4 0.25 kWh

Run 5 0.25 kWh

Run 6 0.25 kWh

Run 7 0.26 kWh

Exp.2

No of Hosts = 20 No of VMs = 20 No of Cloudlets

= 40

Run 1 0.24 kWh

0.241429 0.006901

Upper Bound = 0.246541

Lower Bound =

0.236317

Run 2 0.25 kWh

Run 3 0.25 kWh

Run 4 0.24 kWh

Run 5 0.23 kWh

Run 6 0.24 kWh

Run 7 0.24 kWh

Exp.3

No of Hosts = 40 No of VMs = 20 No of Cloudlets

= 80

Run 1 0.25 kWh

0.242857 0.00488

Upper Bound = 0.246472

Lower Bound =

0.239242

Run 2 0.24 kWh

Run 3 0.24 kWh

Run 4 0.25 kWh

Run 5 0.24 kWh

Run 6 0.24 kWh

Run 7 0.24 kWh

Exp.4

No of Hosts = 80 No of VMs = 20 No of Cloudlets

= 160

Run 1 0.24 kWh

0.238571 0.00378

Upper Bound = 0.241371

Lower Bound =

0.235771

Run 2 0.24 kWh

Run 3 0.24 kWh

Run 4 0.24 kWh

Run 5 0.24 kWh

Run 6 0.24 kWh

Run 7 0.23 kWh

Exp.5

No of Hosts = 160

No of VMs = 20 No of Cloudlets

= 320

Run 1 0.24 kWh

0.238571 0.00378

Upper Bound = 0.241371

Lower Bound =

0.235771

Run 2 0.24 kWh

Run 3 0.23 kWh

Run 4 0.24 kWh

Run 5 0.24 kWh

Run 6 0.24 kWh

Run 7 0.24 kWh

Exp.6

No of Hosts = 320

No of VMs = 20 No of Cloudlets

= 640

Run 1 0.24 kWh

0.241429 0.006901

Upper Bound = 0.246541

Lower Bound =

0.236317

Run 2 0.25 kWh

Run 3 0.24 kWh

Run 4 0.25 kWh

Run 5 0.24 kWh

Run 6 0.24 kWh

Run 7 0.23 kWh

Exp.7 No of Hosts =

640 No of VMs = 20

Run 1 0.24 kWh

0.241429 0.00378 Upper Bound =

0.244229

Run 2 0.24 kWh

Run 3 0.24 kWh

Page 109: Cloudsim Notes

99

No of Cloudlets = 1280

Run 4 0.25 kWh Lower Bound = 0.238629 Run 5 0.24 kWh

Run 6 0.24 kWh

Run 7 0.24 kWh

Exp.8

No of Hosts = 1280

No of VMs = 20 No of Cloudlets

= 2560

Run 1 0.24 kWh

0.242857 0.00488

Upper Bound = 0.246472

Lower Bound =

0.239242

Run 2 0.24 kWh

Run 3 0.25 kWh

Run 4 0.24 kWh

Run 5 0.24 kWh

Run 6 0.25 kWh

Run 7 0.24 kWh

Exp.9

No of Hosts = 2560

No of VMs = 20 No of Cloudlets

= 5120

Run 1 0.24 kWh

0.24 0.005774

Upper Bound = 0.244277

Lower Bound =

0.235723

Run 2 0.24 kWh

Run 3 0.23 kWh

Run 4 0.25 kWh

Run 5 0.24 kWh

Run 6 0.24 kWh

Run 7 0.24 kWh

Exp.10

No of Hosts = 5120

No of VMs = 20 No of Cloudlets

= 10240

Run 1 0.24 kWh

0.241429 0.00378

Upper Bound = 0.244229

Lower Bound =

0.238629

Run 2 0.24 kWh

Run 3 0.24 kWh

Run 4 0.24 kWh

Run 5 0.24 kWh

Run 6 0.24 kWh

Run 7 0.25 kWh

Exp.11

No of Hosts = 10240

No of VMs = 20 No of Cloudlets

= 20480

Run 1 0.25 kWh

0.245714 0.005345

Upper Bound = 0.249674

Lower Bound =

0.241755

Run 2 0.24 kWh

Run 3 0.25 kWh

Run 4 0.24 kWh

Run 5 0.25 kWh

Run 6 0.24 kWh

Run 7 0.25 kWh

Exp.12

No of Hosts = 20480

No of VMs = 20 No of Cloudlets

= 40960

Run 1 0.24 kWh

0.241429 0.00378

Upper Bound = 0.244229

Lower Bound =

0.238629

Run 2 0.24 kWh

Run 3 0.24 kWh

Run 4 0.24 kWh

Run 5 0.24 kWh

Run 6 0.24 kWh

Run 7 0.25 kWh

Exp.13 +50%

No of Hosts = 30720

No of VMs = 20 No of Cloudlets

= 61440

Run 1 0.24 kWh

0.241429 0.00378

Upper Bound = 0.244229

Lower Bound =

0.238629

Run 2 0.24 kWh

Run 3 0.24 kWh

Run 4 0.24 kWh

Run 5 0.24 kWh

Run 6 0.24 kWh

Run 7 0.25 kWh

Page 110: Cloudsim Notes

100

Table 13. Shows 13 experiments without the deployment of power aware mechanism

Parameters

Setting

Results of Energy Consumption (EC) for each

run

Mean Value of EC

Standard Deviation of EC

Confidence Interval of EC

Exp.1

No of Hosts = 10

No of VMs = 20 No of Cloudlets

= 20

Run 1 0.86 kWh

0.874286 0.019024

Upper Bound = 0.888378

Lower Bound =

0.860193

Run 2 0.89 kWh

Run 3 0.86 kWh

Run 4 0.91 kWh

Run 5 0.86 kWh

Run 6 0.87 kWh

Run 7 0.87 kWh

Exp.2

No of Hosts = 20

No of VMs = 20 No of Cloudlets

= 40

Run 1 1.79 kWh

1.752857 0.037289

Upper Bound = 1.780481

Lower Bound =

1.725234

Run 2 1.74 kWh

Run 3 1.76 kWh

Run 4 1.73 kWh

Run 5 1.69 kWh

Run 6 1.76 kWh

Run 7 1.80 kWh

Exp.3

No of Hosts = 40

No of VMs = 20 No of Cloudlets

= 80

Run 1 3.51 kWh

3.551429 0.098392

Upper Bound = 3.624317

Lower Bound =

3.47854

Run 2 3.44 kWh

Run 3 3.68 kWh

Run 4 3.51 kWh

Run 5 3.46 kWh

Run 6 3.58 kWh

Run 7 3.68 kWh

Exp.4

No of Hosts = 80

No of VMs = 20 No of Cloudlets

= 160

Run 1 7.39 kWh

6.854286 0.260055

Upper Bound = 7.046934

Lower Bound =

6.661638

Run 2 6.72 kWh

Run 3 6.78 kWh

Run 4 6.81 kWh

Run 5 6.64 kWh

Run 6 6.97 kWh

Run 7 6.67 kWh

Exp.5

No of Hosts = 160

No of VMs = 20 No of Cloudlets

= 320

Run 1 13.83 kWh

13.89714 0.373796

Upper Bound = 14.17405

Lower Bound =

13.62024

Run 2 13.89 kWh

Run 3 13.78 kWh

Run 4 13.89 kWh

Run 5 13.78 kWh

Run 6 13.44 kWh

Run 7 14.67 kWh

Exp.6

No of Hosts = 320

No of VMs = 20 No of Cloudlets

= 640

Run 1 28.78 kWh

28.28571 0.874488

Upper Bound = 28.93353

Lower Bound =

27.6379

Run 2 29.56 kWh

Run 3 28.33 kWh

Run 4 28.00 kWh

Run 5 27.22 kWh

Run 6 28.89 kWh

Run 7 27.22 kWh

Exp.7

No of Hosts = 640

No of VMs = 20 No of Cloudlets

= 1280

Run 1 54.44 kWh

55.33143 0.869567

Upper Bound = 55.9756

Lower Bound =

54.68726

Run 2 54.67 kWh

Run 3 55.56 kWh

Run 4 56.44 kWh

Run 5 55.33 kWh

Run 6 54.44 kWh

Run 7 56.44 kWh

Page 111: Cloudsim Notes

101

Exp.8

No of Hosts = 1280

No of VMs = 20 No of Cloudlets

= 2560

Run 1 118.67 kWh

113.2071 3.690455

Upper Bound = 115.941

Lower Bound =

110.4733

Run 2 109.78 kWh

Run 3 108.44 kWh

Run 4 114.67 kWh

Run 5 110.67 kWh

Run 6 116.00 kWh

Run 7 114.22 kWh

Exp.9

No of Hosts = 2560

No of VMs = 20 No of Cloudlets

= 5120

Run 1 219.56 kWh

222.2214 4.618161

Upper Bound = 225.6425

Lower Bound =

218.8003

Run 2 224.00 kWh

Run 3 214.22 kWh

Run 4 222.22 kWh

Run 5 224.00 kWh

Run 6 222.22 kWh

Run 7 229.33 kWh

Exp.10

No of Hosts = 5120

No of VMs = 20 No of Cloudlets

= 10240

Run 1 449.78 kWh

449.0157 6.147864

Upper Bound = 453.57

Lower Bound =

444.4614

Run 2 437.33 kWh

Run 3 444.44 kWh

Run 4 451.56 kWh

Run 5 451.56 kWh

Run 6 455.11 kWh

Run 7 453.33 kWh

Exp.11

No of Hosts = 10240

No of VMs = 20 No of Cloudlets

= 20480

Run 1 888.89 kWh

880.7614 24.00389

Upper Bound = 898.5434

Lower Bound =

862.9794

Run 2 910.22 kWh

Run 3 864.00 kWh

Run 4 906.67 kWh

Run 5 888.89 kWh

Run 6 853.33 kWh

Run 7 853.33 kWh

Exp.12

No of Hosts = 20480

No of VMs = 20 No of Cloudlets

= 40960

Run 1 1777.78 kWh

1777.78 51.27857

Upper Bound = 1815.767

Lower Bound =

1739.793

Run 2 1728.00 kWh

Run 3 1827.56 kWh

Run 4 1813.33 kWh

Run 5 1834.67 kWh

Run 6 1699.56 kWh

Run 7 1763.56 kWh

Exp.13 +50%

No of Hosts = 30720

No of VMs = 20 No of Cloudlets

= 61440

Run 1 2688.00 kWh

2651.429 62.15335

Upper Bound = 2697.472

Lower Bound =

2605.386

Run 2 2730.67 kWh

Run 3 2602.67 kWh

Run 4 2656.00 kWh

Run 5 2613.33 kWh

Run 6 2560.00 kWh

Run 7 2709.33 kWh

Page 112: Cloudsim Notes

102

8.14. Appendix N: Collected Results of Scenario 7: Increasing the No.

Of Hosts, VMs, and Cloudlets - VM Migration Mechanism

Table 14. Shows 9 experiments with the deployment of VM migration mechanism with DVFS enabled.

Parameters

Setting Results of Energy

Consumption (EC) for each run Mean Value

of EC Standard

Deviation of EC Confidence

Interval of EC

Exp.1

No of Hosts = 10

No of VMs = 20 No of Cloudlets

= 20

Run 1 0.23 kWh

0.221429 0.008997

Upper Bound = 0.228094

Lower Bound =

0.214763

Run 2 0.23 kWh

Run 3 0.22 kWh

Run 4 0.21 kWh

Run 5 0.23 kWh

Run 6 0.21 kWh

Run 7 0.22 kWh

Exp.2

No of Hosts = 20

No of VMs = 40 No of Cloudlets

= 40

Run 1 0.40 kWh

0.41 0.01291

Upper Bound = 0.419564

Lower Bound =

0.400436

Run 2 0.42 kWh

Run 3 0.41 kWh

Run 4 0.41 kWh

Run 5 0.41 kWh

Run 6 0.43 kWh

Run 7 0.39 kWh

Exp.3

No of Hosts = 40

No of VMs = 80 No of Cloudlets

= 80

Run 1 0.74 kWh

0.757143 0.01496

Upper Bound = 0.768225

Lower Bound =

0.74606

Run 2 0.74 kWh

Run 3 0.75 kWh

Run 4 0.77 kWh

Run 5 0.78 kWh

Run 6 0.76 kWh

Run 7 0.76 kWh

Exp.4

No of Hosts = 80

No of VMs = 160

No of Cloudlets = 160

Run 1 1.39 kWh

1.435714 0.032071

Upper Bound = 1.459473

Lower Bound =

1.411956

Run 2 1.45 kWh

Run 3 1.40 kWh

Run 4 1.47 kWh

Run 5 1.46 kWh

Run 6 1.42 kWh

Run 7 1.46 kWh

Exp.5

No of Hosts = 160

No of VMs = 320

No of Cloudlets = 320

Run 1 2.98 kWh

2.96 0.088506

Upper Bound = 3.025565

Lower Bound =

2.894435

Run 2 2.90 kWh

Run 3 2.86 kWh

Run 4 2.87 kWh

Run 5 2.98 kWh

Run 6 3.03 kWh

Run 7 3.10 kWh

Exp.6

No of Hosts = 320

No of VMs = 640

No of Cloudlets = 640

Run 1 5.91 kWh

5.99 0.126623

Upper Bound = 6.083802

Lower Bound =

5.896198

Run 2 5.96 kWh

Run 3 5.91 kWh

Run 4 5.85 kWh

Run 5 6.11 kWh

Run 6 5.98 kWh

Run 7 6.21 kWh

Exp.7 No of Hosts =

640 Run 1 12.05 kWh

11.87 0.211401 Upper Bound =

12.02946 Run 2 11.76 kWh

Page 113: Cloudsim Notes

103

No of VMs = 1280

No of Cloudlets = 1280

Run 3 12.15 kWh Lower Bound =

11.71625 Run 4 12.00 kWh

Run 5 11.71 kWh

Run 6 11.55 kWh

Run 7 11.89 kWh

Exp.8

No of Hosts = 1280

No of VMs = 2560

No of Cloudlets = 2560

Run 1 22.94 kWh

23.24857 0.428308

Upper Bound = 23.56586

Lower Bound =

22.93128

Run 2 22.73 kWh

Run 3 23.45 kWh

Run 4 24.01 kWh

Run 5 22.94 kWh

Run 6 23.39 kWh

Run 7 23.28 kWh

Exp.9

No of Hosts = 2560

No of VMs = 5120

No of Cloudlets = 5120

Run 1 46.55 kWh

46.80571 0.348753

Upper Bound = 47.06407

Lower Bound =

46.54736

Run 2 46.44 kWh

Run 3 46.66 kWh

Run 4 46.71 kWh

Run 5 47.09 kWh

Run 6 46.74 kWh

Run 7 47.45 kWh

8.15. Appendix O: Collected Results of Scenario 8: Increasing the No.

Of Hosts - VM Migration Mechanism

Table 16. Shows 14 experiments with the deployment of VM migration mechanism with DVFS enabled.

Parameters

Setting Results of Energy

Consumption (EC) for each run Mean

Value of EC Standard

Deviation of EC Confidence

Interval of EC

Exp.1

No of Hosts = 10 No of VMs = 20 No of Cloudlets

= 20

Run 1 0.25 kWh

0.257143 0.0243

Upper Bound = 0.275144

Lower Bound =

0.239142

Run 2 0.23 kWh

Run 3 0.30 kWh

Run 4 0.26 kWh

Run 5 0.27 kWh

Run 6 0.26 kWh

Run 7 0.23 kWh

Exp.2

No of Hosts = 20 No of VMs = 20 No of Cloudlets

= 20

Run 1 0.18 kWh

0.195714 0.019024

Upper Bound = 0.209807

Lower Bound =

0.181622

Run 2 0.17 kWh

Run 3 0.21 kWh

Run 4 0.22 kWh

Run 5 0.18 kWh

Run 6 0.21 kWh

Run 7 0.20 kWh

Exp.3

No of Hosts = 40 No of VMs = 20 No of Cloudlets

= 20

Run 1 0.19 kWh

0.208571 0.019518

Upper Bound = 0.22303

Lower Bound =

0.194113

Run 2 0.23 kWh

Run 3 0.20 kWh

Run 4 0.24 kWh

Run 5 0.20 kWh

Run 6 0.21 kWh

Run 7 0.19 kWh

Page 114: Cloudsim Notes

104

Exp.4

No of Hosts = 80 No of VMs = 20 No of Cloudlets

= 20

Run 1 0.18 kWh

0.2 0.019149

Upper Bound = 0.214185

Lower Bound =

0.185815

Run 2 0.18 kWh

Run 3 0.22 kWh

Run 4 0.22 kWh

Run 5 0.21 kWh

Run 6 0.21 kWh

Run 7 0.18 kWh

Exp.5

No of Hosts = 160

No of VMs = 20 No of Cloudlets

= 20

Run 1 0.21 kWh

0.202857 0.011127

Upper Bound = 0.2111

Lower Bound =

0.194614

Run 2 0.20 kWh

Run 3 0.19 kWh

Run 4 0.19 kWh

Run 5 0.20 kWh

Run 6 0.21 kWh

Run 7 0.22 kWh

Exp.6

No of Hosts = 320

No of VMs = 20 No of Cloudlets

= 20

Run 1 0.17 kWh

0.198571 0.016762

Upper Bound = 0.210988

Lower Bound =

0.186154

Run 2 0.22 kWh

Run 3 0.19 kWh

Run 4 0.20 kWh

Run 5 0.21 kWh

Run 6 0.21 kWh

Run 7 0.19 kWh

Exp.7

No of Hosts = 640

No of VMs = 20 No of Cloudlets

= 20

Run 1 0.18 kWh

0.20 0.020587

Upper Bound = 0.212393

Lower Bound =

0.181892

Run 2 0.19 kWh

Run 3 0.23 kWh

Run 4 0.19 kWh

Run 5 0.21 kWh

Run 6 0.17 kWh

Run 7 0.21 kWh

Exp.8

No of Hosts = 1280

No of VMs = 20 No of Cloudlets

= 20

Run 1 0.19 kWh

0.20 0.011547

Upper Bound = 0.208554

Lower Bound =

0.191446

Run 2 0.19 kWh

Run 3 0.22 kWh

Run 4 0.20 kWh

Run 5 0.21 kWh

Run 6 0.20 kWh

Run 7 0.19 kWh

Exp.9

No of Hosts = 2560

No of VMs = 20 No of Cloudlets

= 20

Run 1 0.19 kWh

0.192857 0.016036

Upper Bound = 0.204736

Lower Bound =

0.180978

Run 2 0.20 kWh

Run 3 0.19 kWh

Run 4 0.17 kWh

Run 5 0.20 kWh

Run 6 0.18 kWh

Run 7 0.22 kWh

Exp.10

No of Hosts = 5120

No of VMs = 20 No of Cloudlets

= 20

Run 1 0.18 kWh

0.201429 0.020354

Upper Bound = 0.216507

Lower Bound =

0.18635

Run 2 0.20 kWh

Run 3 0.20 kWh

Run 4 0.20 kWh

Run 5 0.21 kWh

Run 6 0.18 kWh

Run 7 0.24 kWh

Exp.11

No of Hosts = 10240

No of VMs = 20 No of Cloudlets

= 20

Run 1 0.19 kWh

0.188571 0.006901

Upper Bound = 0.193683

Lower Bound =

0.183459

Run 2 0.18 kWh

Run 3 0.19 kWh

Run 4 0.19 kWh

Run 5 0.18 kWh

Page 115: Cloudsim Notes

105

Run 6 0.20 kWh

Run 7 0.19 kWh

Exp.12

No of Hosts = 20480

No of VMs = 20 No of Cloudlets

= 20

Run 1 0.19 kWh

0.192857 0.009512

Upper Bound = 0.199904

Lower Bound =

0.185811

Run 2 0.21 kWh

Run 3 0.19 kWh

Run 4 0.20 kWh

Run 5 0.18 kWh

Run 6 0.19 kWh

Run 7 0.19 kWh

Exp.13

No of Hosts = 40960

No of VMs = 20 No of Cloudlets

= 20

Run 1 0.21 kWh

0.2 0.021602

Upper Bound = 0.216003

Lower Bound =

0.183997

Run 2 0.18 kWh

Run 3 0.18 kWh

Run 4 0.19 kWh

Run 5 0.21 kWh

Run 6 0.24 kWh

Run 7 0.19 kWh

Exp.14

No of Hosts = 81920

No of VMs = 20 No of Cloudlets

= 20

Run 1 0.20 kWh

0.192857 0.00488

Upper Bound = 0.196472

Lower Bound =

0.189242

Run 2 0.19 kWh

Run 3 0.19 kWh

Run 4 0.19 kWh

Run 5 0.19 kWh

Run 6 0.20 kWh

Run 7 0.19 kWh