• No results found

Simulation of Cloud Computing Eco-Efficient Data Centre

N/A
N/A
Protected

Academic year: 2021

Share "Simulation of Cloud Computing Eco-Efficient Data Centre"

Copied!
115
0
0

Loading.... (view fulltext now)

Full text

(1)

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)

(2)

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.

(3)

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.

(4)

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

(5)

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

(6)

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

(7)

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

(8)

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

(9)

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

(10)

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

(11)

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.

(12)

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

(13)

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

(14)

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

(15)

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)

(16)

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

(17)

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 lo u d A rc h it ec tu re

(18)

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].

(19)

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.

(20)

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

(21)

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.

(22)

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

(23)

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

(24)

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

(25)

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

(26)

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.

(27)

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

(28)

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

(29)

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

(30)

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].

(31)

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)

(32)

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.

(33)

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.

(34)

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.

(35)

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].

(36)

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,

(37)

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 en t 1 Exp erim en t 2 Exp erim en t 3 Exp erim en t 4 Exp erim en t 5 Exp erim en t 6 Exp erim en t 7 Exp erim en t 8 Exp erim en t 9 Exp erim en t 10 Exp erim en t 11 Exp erim en t 12 Exp erim en t 13 Exp erim en t 14 Exp erim en t 15 With DVFS Mechanism

Without Power Aware Mechanism

References

Related documents

The goal of the proposed model is to help engineering students develop an understanding of the effect of manufacturing technologies and transportation modes on the carbon footprint

b In cell B11, write a formula to find Condobolin’s total rainfall for the week.. Use Fill Right to copy the formula into cells C11

The corona radiata consists of one or more layers of follicular cells that surround the zona pellucida, the polar body, and the secondary oocyte.. The corona radiata is dispersed

According to the findings on objective three, the statutory protection to the right to privacy against mobile phone usage does not provide direct clue as majority of the

4.1 The Select Committee is asked to consider the proposed development of the Customer Service Function, the recommended service delivery option and the investment required8. It

South European welfare regimes had the largest health inequalities (with an exception of a smaller rate difference for limiting longstanding illness), while countries with

• Follow up with your employer each reporting period to ensure your hours are reported on a regular basis?. • Discuss your progress with

Based on this understanding, this work focuses on the effect of the inclusion of shallow donor dopant such as gallium into the normal cadmium chloride post-growth treatment as