Cloudsim Notes
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. Ibrahim Alzamil (Signature of student) _______________________________
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.
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.
II
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 III
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
IV
List of Figures
Figure 1. Four-Layer Cloud Architecture Figure 2. Layered Cloud Computing Architecture Figure 3. Initial Layered CloudSim Architecture Figure 4. Current Layered CloudSim Architecture .................................................................... ....................................................... ....................................................... ....................................................... .......................................... 7 8 17 18 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
List of Tables
Table 1. Typical Characteristics of Host, VMs, and Cloudlets ........................................... ... 25 67 Table 2. Results of Scenario 1 experiments with the deployment of DVFS mechanism
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
VI
Table of Contents
Abstract ............................................................................................................... Acknowledgement ...................................................................................... List of Acronyms ................................................................................................... List of Figures ................................................................................................... List of Tables ................................................................................................... Table of Contents ................................................................................................... 1. Introduction ................................................................................................... 1.1. Overview .......................................................................................................... 1.2. Aim and Objectives ............................................................................................. 1.3. Minimum Requirements and Further Enhancements ......................................... 1.4. Deliverables .......................................................................................................... 1.5. Motives and Relevance to the Degree Programme ......................................... 1.6. Methodology .......................................................................................................... 1.7. Initial Project Plan ............................................................................................. 1.7.1.Key Activities ............................................................................................. 1.7.2.Milestones ............................................................................................. 2. Review of Literature and Technologies .............................................................. 2.1. Introduction to Cloud Computing ................................................................... 2.1.1.What is Cloud Computing? ................................................................... 2.1.2.Architecture of Clouds ................................................................................ 2.1.3.Types of Clouds Services ................................................................................ 2.1.4.Types of Clouds Deployment ................................................................... 2.1.5.Virtualisation ............................................................................................. 2.2. Issues Associated with Clouds ................................................................................ 2.2.1.Cost of Clouds Maintenance ................................................................... 2.2.2.Eco-efficient Data Centre Management ...................................................... 2.2.2.1. A Scientific Model of Eco-efficient Data Centre ............................ 2.2.2.2. Management of Power Consumption ......................................... 2.2.2.2.1. VM Allocation ................................................................... 2.2.2.2.2. Power and Thermal Management ............................ 2.2.2.2.3. Dynamic Voltage and Frequency Scaling ............... 2.3. CloudSim Toolkit ............................................................................................. 2.3.1.Architecture of CloudSim ................................................................................ 2.3.2.Usability .......................................................................................................... 2.3.3.Capabilities ............................................................................................. 2.3.4.Limitations ............................................................................................. 3. Methodology ................................................................................................... 3.1. Project Management ............................................................................................. 3.1.1.Revised Project Plan ................................................................................ 3.1.1.1. Key Activities ................................................................................ 3.1.1.2. Milestones ................................................................................ VII I II III V VI VII 1 1 1 2 2 2 3 4 4 5 6 6 6 7 9 9 10 11 12 12 13 14 15 15 15 16 16 18 18 19 21 21 21 21 21
4.
5.
6.
7. 8.
3.1.2.Progress Meetings ................................................................................ 3.2. Problem Summary ............................................................................................. 3.3. Project Methodology ............................................................................................. 3.4. Analysis and Design of Simulated Experiments ...................................................... Implementation of Experiments .......................................................................... 4.1. DVFS Mechanism ............................................................................................. 4.1.1.Scenario 1: Increasing the No. Of Hosts, VMs and Cloudlets ............... 4.1.1.1. Objectives and Design ................................................................... 4.1.1.2. Discussion of the Results ...................................................... 4.1.2.Scenario 2: Increasing the No. Of Hosts ...................................................... 4.1.2.1. Objectives and Design ................................................................... 4.1.2.2. Discussion of the Results ...................................................... 4.1.3.Scenario 3: Increasing the No. Of VMs ...................................................... 4.1.3.1. Objectives and Design ................................................................... 4.1.3.2. Discussion of the Results ...................................................... 4.1.4.Scenario 4: Increasing the No. Of Cloudlets ......................................... 4.1.4.1. Objectives and Design ................................................................... 4.1.4.2. Discussion of the Results ...................................................... 4.1.5.Scenario 5: Increasing the No. Of Hosts and VMs ......................................... 4.1.5.1. Objectives and Design ................................................................... 4.1.5.2. Discussion of the Results ...................................................... 4.1.6.Scenario 6: Increasing the No. Of Hosts and Cloudlets ............................ 4.1.6.1. Objectives and Design ................................................................... 4.1.6.2. Discussion of the Results ...................................................... 4.2. VM Migration .......................................................................................................... 4.2.1.Scenario 7: Increasing the No. Of Hosts, VMs and Cloudlets ............... 4.2.1.1. Objectives and Design ................................................................... 4.2.1.2. Discussion of the Results ...................................................... 4.2.2.Scenario 8: Increasing the No. Of Hosts ...................................................... 4.2.2.1. Objectives and Design ................................................................... 4.2.2.2. Discussion of the Results ...................................................... 4.3. Overall Discussion and Results Comparison ...................................................... Evaluation ............................................................................................................... 5.1. Evaluation According to Minimum Requirements ......................................... 5.2. Evaluating the Methodology ................................................................... 5.3. Evaluating the Results ............................................................................................. 5.4. Limitations .......................................................................................................... 5.5. Future Work .......................................................................................................... Conclusion ............................................................................................................... 6.1. Summary .......................................................................................................... 6.2. Problems Encountered ................................................................................ Bibliography ................................................................................................... Appendices ................................................................................................... 8.1. Appendix A: Project Reflection ................................................................... 8.2. Appendix B: Interim Report ................................................................... VIII
22 22 23 24 26 26 26 26 26 28 28 28 29 29 29 30 30 31 32 32 32 33 33 33 34 34 34 35 36 36 37 38 40 40 41 42 43 43 45 45 45 46 50 50 52
Appendix C: Initial Project Plan ................................................................... 54 Appendix D: Revised Project Plan ................................................................... 56 Appendix E: Weekly Progress Report ................................................................... 58 Appendix F: Work in Progress Presentation ...................................................... 64 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
IX
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.4. Deliverables
The main deliverable of this project is to provide an evaluation and recommend the ecoefficiency 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).
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 3
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.
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 ecoefficiency 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)
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.
Cloud Architecture
Platform
Unified Resource
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].
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 featuresabstraction 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 Clouds 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 10
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 systemlevel virtualisation can be deployed as a way of utilising partial virtualisation. Paravirtualisation provides a similar software interface or APIs 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].
11
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.
12
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 13
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
14
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
15
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.
16
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
17
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 multithreaded 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 18
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 energyconscious 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
19
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].
20
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.
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)
22
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.
23
24
Table 1. Typical characteristics of hosts, VMs, and Cloudlets Hosts Max Power Static Power MIPS RAM Storage Bandwidth VMs MIPS Rating Number of CPUs RAM Bandwidth Image Size Cloudlets Length Number of CPUs File Size Output Size 150000 (equivalent to 10 mins execution on 250 MIPS) 1 300 300 { 250, 500, 750, 1000 } 1 128 MB 2500 Mbps 2500 MB 250 Watts 0.7 (70%) { 1000, 2000, 3000 } 10000 MB 1000000 MB 100000 Mbps
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].
25
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.
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.
600 500 400 300 200 100 0 Experiment 10 Experiment 11 Experiment 12 Experiment 13 Experiment 14 -100 Experiment 15 Experiment 1 Experiment 2 Experiment 3 Experiment 4 Experiment 5 Experiment 6 Experiment 7 Experiment 8 Experiment 9 Without Power Aware Mechanism
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 CloudSims 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.
27
Figure 8. Comparison between energy consumption mean values for each experiment
28
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.
29
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.
30
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.
1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 With DVFS Mechanism Without DVFS Mechanism
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.
31
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
32
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.
33
3500 3000 2500 2000 1500 1000 500 0 -500 Without Power Aware Mechanism With DVFS Mechanism
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. 34
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) Experiment 1 Experiment 2 Experiment 3 Experiment 4 Experiment 5 Experiment 6 Experiment 7 Experiment 8 Experiment 9
0.221429 0.41 0.757143 1.435714 2.96 5.99 11.87 23.24857 46.80571
35
80 70 60 50 40 30 20 10 0 -10 -20
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.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.
0.3 0.25 0.2 0.15 0.1 0.05 0
Experiment 1
Experiment 4
Experiment 7
Experiment 10
Experiment 11
Experiment 12
Experiment 13
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].
37
Experiment 14
Experiment 2
Experiment 3
Experiment 5
Experiment 6
Experiment 8
Experiment 9
38
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.
39
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.
40
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.
41
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.
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.
44
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.
45
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, OReilly 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.
46
[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 RealTime 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.
47
[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: th <http://www.dtconference.com/presentations> [Accessed 30 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 NetworkAware 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.
48
[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. 801805. [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) Intels 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-turnsth iffy.html?pagewanted=all&src=pm> [Accessed 6 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, 18th19th 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]
49
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.
50
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.
51
52
53
54
55
56
57
Supervisor Name: Dr. Karim Djemame Student Name: Ibrahim Alzamil Student ID: 200627581
58
Supervisor Name: Dr. Karim Djemame Student Name: Ibrahim Alzamil Student ID: 200627581
59
Supervisor Name: Dr. Karim Djemame Student Name: Ibrahim Alzamil Student ID: 200627581
60
Supervisor Name: Dr. Karim Djemame Student Name: Ibrahim Alzamil Student ID: 200627581
61
Supervisor Name: Dr. Karim Djemame Student Name: Ibrahim Alzamil Student ID: 200627581
62
Supervisor Name: Dr. Karim Djemame Student Name: Ibrahim Alzamil Student ID: 200627581
63
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
Work in Progress
Why is it important?
Ibrahim Alzamil
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.
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.
64
Minimum Requirements:
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
Run
Verify Results
Six simulated scenarios with DVFS mechanism compared to an environment with no deployment of power aware mechanism
Objectives:
Two simulated scenarios with the deployment of VM migration and DVFS-enabled compared to an environment with DVFS deployment only
Design:
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
Based on the parameter settings of hosts, VMs, and cloudlets Doubling the number of hosts, VMs and cloudlets for each experiment Now, will go through demonstration of CloudSim
Run:
Results:
600 500
Figure 1: Comparison between energy consumption mean values for each experiment
65
Evaluation
Analysis
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
Design
Thank you
66
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
No of Hosts = 10 No of VMs = 20 No of Cloudlets = 20
Mean Value of EC
Standard Deviation of EC
Confidence Interval of EC
Upper Bound = 0.249674 Lower Bound = 0.241755
Exp.1
0.245714
0.005345
Exp.2
0.50
0.005345
Exp.3
No of Hosts = 40 No of VMs = 80 No of Cloudlets = 80 No of Hosts = 80 No of VMs = 160 No of Cloudlets = 160 No of Hosts = 160 No of VMs = 320 No of Cloudlets = 320 No of Hosts = 320 No of VMs = 640 No of Cloudlets = 640 No of Hosts = 640 No of VMs =
1.005714
0.017182
Exp.4
2.094286
0.017182
Exp.5
4.187143
0.026904
Upper Bound = 8.444244 8.428571 0.021157 Lower Bound = 8.412898 Upper Bound = 16.94361
Exp.6
Exp.7
16.91
0.041519
67
1280 No of Cloudlets = 1280 No of Hosts = 1280 No of VMs = 2560 No of Cloudlets = 2560 No of Hosts = 2560 No of VMs = 5120 No of Cloudlets = 5120 No of Hosts = 3840 No of VMs = 7680 No of Cloudlets = 7680 No of Hosts = 4320 No of VMs = 8640 No of Cloudlets = 8640 No of Hosts = 4590 No of VMs = 9180 No of Cloudlets = 9180 No of Hosts = 4598 No of VMs = 9196 No of Cloudlets = 9196 No of Hosts = 4602 No of VMs = 9204 No of Cloudlets = 9204 No of Hosts =
Exp.8
Exp.9
Exp.10 +%50
Exp.11 +%12.5
Exp.12 +%6.25
Exp. 13 +%0.2
Exp.14 +%0.1
Exp.15
Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1
16.86 kWh 16.85 kWh 16.96 kWh 16.93 kWh 33.86 kWh 33.83 kWh 33.91 kWh 33.91 kWh 33.90 kWh 33.83 kWh 33.85 kWh 67.68 kWh 67.66 kWh 67.75 kWh 67.69 kWh 67.64 kWh 67.69 kWh 67.76 kWh 101.46 kWh 101.60 kWh 101.69 kWh 101.51 kWh 101.53 kWh 101.77 kWh 101.71 kWh 114.28 kWh 114.39 kWh 114.31 kWh 114.21 kWh 114.26 kWh 114.46 kWh 114.09 kWh 121.54 kWh 121.47 kWh 121.41 kWh 121.44 kWh 121.42 kWh 121.32 kWh 121.53 kWh 121.77 kWh 121.65 kWh 121.75 kWh 121.80 kWh 121.58 kWh 121.81 kWh 121.66 kWh 121.90 kWh 121.91 kWh 121.74 kWh 121.77 kWh 121.56 kWh 121.75 kWh 121.75 kWh 121.81 kWh
Upper Bound = 121.8553 121.7686 0.117108 Lower Bound = 121.6818 121.82 0.095917 Upper Bound =
68
+%0.02
121.96 kWh 121.83 kWh 121.75 kWh 121.79 kWh 121.92 kWh 121.68 kWh
Table 3. Shows 15 experiments without the deployment of power aware mechanism Parameters Setting
No of Hosts = 10 No of VMs = 20 No of Cloudlets = 20 No of Hosts = 20 No of VMs = 40 No of Cloudlets = 40 No of Hosts = 40 No of VMs = 80 No of Cloudlets = 80 No of Hosts = 80 No of VMs = 160 No of Cloudlets = 160 No of Hosts = 160 No of VMs = 320 No of Cloudlets = 320 No of Hosts = 320 No of VMs = 640 No of Cloudlets = 640
Mean Value of EC
Standard Deviation of EC
Confidence Interval of EC
Upper Bound = 0.886003 Lower Bound = 0.853997
Exp.1
0.87
0.021602
Exp.2
1.788571
0.038914
Exp.3
3.577143
0.054685
Exp.4
7.29
0.113284
Exp.5
14.57857
0.250162
Exp.6
69
Exp.7
No of Hosts = 640 No of VMs = 1280 No of Cloudlets = 1280 No of Hosts = 1280 No of VMs = 2560 No of Cloudlets = 2560 No of Hosts = 2560 No of VMs = 5120 No of Cloudlets = 5120 No of Hosts = 3840 No of VMs = 7680 No of Cloudlets = 7680 No of Hosts = 4320 No of VMs = 8640 No of Cloudlets = 8640 No of Hosts = 4590 No of VMs = 9180 No of Cloudlets = 9180 No of Hosts = 4598 No of VMs = 9196 No of Cloudlets = 9196 No of Hosts = 4602 No of VMs = 9204 No of
Exp.8
Exp.9
Exp.10 +%50
Exp.11 +%12.5
Exp.12 +%6.25
Exp. 13 +%0.2
Exp.14 +%0.1
Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5
59.33 kWh 59.56 kWh 58.67 kWh 59.56 kWh 59.33 kWh 60.44 kWh 60.67 kWh 117.33. kWh 120.89 kWh 119.56 kWh 118.22 kWh 120.0 kWh 119.56 kWh 120.44 kWh 240.0 kWh 238.22 kWh 250.67 kWh 244.44 kWh 239.11 kWh 241.78 kWh 241.78 kWh 362.67 kWh 360.00 kWh 368.00 kWh 364.00 kWh 357.33 kWh 372.00 kWh 365.33 kWh 409.50 kWh 418.50 kWh 414.00 kWh 406.50 kWh 409.50 kWh 409.50 kWh 408.00 kWh 436.69 kWh 433.50 kWh 428.72 kWh 441.47 kWh 438.28 kWh 436.69 kWh 441.47 kWh 434.26 kWh 431.06 kWh 432.66 kWh 442.24 kWh 432.66 kWh 432.66 kWh 439.05 kWh 442.62 kWh 441.03 kWh 437.83 kWh 442.62 kWh 436.23 kWh
Upper Bound = 437.9852 434.9414 4.108813 Lower Bound = 431.8976 Upper Bound = 442.2549 440.34 2.584944 Lower Bound = 438.4251
70
Exp.15 +%0.02
439.43 kWh 442.62 kWh 431.53 kWh 429.93 kWh 439.52 kWh 441.12 kWh 436.33 kWh 437.92 kWh 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.
71
* Description: CloudSim (Cloud Simulation) Toolkit for Modeling and Simulation * of Clouds GPL - http://www.gnu.org/copyleft/gpl.html
* Licence: *
* 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; 72
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;
// 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();
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
// 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);
74
// Third step: Create Broker DatacenterBroker broker = createBroker(); int brokerId = broker.getId();
// 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();
75
// 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();
/** * 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>();
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 77
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>();
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 79
// 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 80
// 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"); 81
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()) ); } } } }
82
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
No of Hosts = 10 No of VMs = 20 No of Cloudlets = 20
Mean Value of EC
Standard Deviation of EC
Confidence Interval of EC
Upper Bound = 0.256049
Exp.1
0.25
Exp.2
Exp.3
Exp.4
0.24
0.005774
Exp.5
Exp.6
Upper Bound = 0.246541 0.241429 0.006901 Lower Bound = 0.236317 Upper Bound = 0.244229
Exp.7
0.241429
0.00378
83
No of Cloudlets = 20
Exp.8
Exp.9
Exp.10
Exp.11
Exp.12
Exp.13
Exp.14
Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7
0.24 kWh 0.24 kWh 0.24 kWh 0.25 kWh 0.24 kWh 0.23 kWh 0.24 kWh 0.24 kWh 0.24 kWh 0.25 kWh 0.24 kWh 0.25 kWh 0.24 kWh 0.25 kWh 0.24 kWh 0.24 kWh 0.24 kWh 0.24 kWh 0.24 kWh 0.25 kWh 0.24 kWh 0.24 kWh 0.24 kWh 0.24 kWh 0.24 kWh 0.24 kWh 0.23 kWh 0.24 kWh 0.24 kWh 0.24 kWh 0.24 kWh 0.24 kWh 0.24 kWh 0.24 kWh 0.25 kWh 0.24 kWh 0.24 kWh 0.24 kWh 0.24 kWh 0.24 kWh 0.24 kWh 0.24 kWh 0.25 kWh 0.24 kWh 0.24 kWh 0.24 kWh 0.24 kWh 0.24 kWh 0.24 kWh 0.24 kWh 0.25 kWh 0.25 kWh 0.24 kWh
Upper Bound = 0.244277 0.24 0.005774 Lower Bound = 0.235723 Upper Bound = 0.246472 0.242857 0.00488 Lower Bound = 0.239242
84
Table 5. Shows 14 experiments without the deployment of DVFS mechanism Parameters Setting
No of Hosts = 10 No of VMs = 20 No of Cloudlets = 20
Mean Value of EC
Standard Deviation of EC
Confidence Interval of EC
Upper Bound = 0.885887
Exp.1
0.871429
0.019518
Exp.2
Exp.3
Exp.4
Exp.5
Exp.6
Exp.7
85
Exp.8
Exp.9
Exp.10
Exp.11
Exp.12
Exp.13
Exp.14
Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7
111.11 kWh 112.44 kWh 108.89 kWh 110.22 kWh 106.67 kWh 114.67 kWh 115.11 kWh 220.44 kWh 226.67 kWh 223.11 kWh 226.67 kWh 227.56 kWh 228.44 kWh 221.33 kWh 446.22 kWh 444.44 kWh 451.56 kWh 448.00 kWh 439.11 kWh 428.44 kWh 424.89 kWh 910.22 kWh 896.00 kWh 860.44 kWh 885.33 kWh 917.33 kWh 878.22 kWh 888.89 kWh 1728.00 kWh 1728.00 kWh 1763.56 kWh 1870.22 kWh 1777.78 kWh 1777.78 kWh 1792.00 kWh 3754.67 kWh 3498.67 kWh 3697.78 kWh 3584.00 kWh 3498.67 kWh 3612.44 kWh 3669.33 kWh 7253.33 kWh 7139.56 kWh 7111.11 kWh 7253.33 kWh 7025.78 kWh 6712.89 kWh 7367.11 kWh
Upper Bound = 227.2644 224.8886 3.207093 Lower Bound = 222.5128 Upper Bound = 447.8968 440.38 10.14694 Lower Bound = 432.8632
Upper Bound = 3688.921 3616.509 97.74878 Lower Bound = 3544.097 Upper Bound = 7280.918 7123.301 212.7669 Lower Bound = 6965.684
86
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
No of Hosts = 10 No of VMs = 20 No of Cloudlets = 20
Mean Value of EC
Standard Deviation of EC
Confidence Interval of EC
Upper Bound = 0.250758
Exp.1
0.247143
Exp.2
Exp.3
Exp.4
Exp.5
Exp.6
Upper Bound = 0.746491 0.738571 0.01069 Lower Bound = 0.730652 Upper Bound = 0.734114
Exp.7
0.725714
0.011339
87
20
Exp.8
Exp.9
Exp.10
Exp.11
Exp.12
Exp.13
Exp.14
Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7
0.72 kWh 0.72 kWh 0.73 kWh 0.72 kWh 0.73 kWh 0.76 kWh 0.75 kWh 0.77 kWh 0.73 kWh 0.74 kWh 0.74 kWh 0.72 kWh 0.73 kWh 0.73 kWh 0.74 kWh 0.72 kWh 0.74 kWh 0.75 kWh 0.76 kWh 0.74 kWh 0.72 kWh 0.75 kWh 0.75 kWh 0.73 kWh 0.72 kWh 0.74 kWh 0.74 kWh 0.73 kWh 0.73 kWh 0.73 kWh 0.73 kWh 0.75 kWh 0.72 kWh 0.75 kWh 0.73 kWh 0.72 kWh 0.72 kWh 0.73 kWh 0.71 kWh 0.74 kWh 0.74 kWh 0.74 kWh 0.72 kWh 0.74 kWh 0.74 kWh 0.74 kWh 0.73 kWh 0.73 kWh 0.72 kWh 0.76 kWh 0.71 kWh 0.70 kWh 0.75 kWh
88
Table 7. Shows 14 experiments without the deployment of Power Aware mechanism Parameters Setting
No of Hosts = 10 No of VMs = 20 No of Cloudlets = 20
Mean Value of EC
Standard Deviation of EC
Confidence Interval of EC
Upper Bound = 0.891635
Exp.1
0.875714
Exp.2
Exp.3
No of Hosts = 10 No of VMs = 80 No of Cloudlets = 20 No of Hosts = 10 No of VMs = 160 No of Cloudlets = 20 No of Hosts = 10 No of VMs = 320 No of Cloudlets = 20 No of Hosts = 10 No of VMs = 640 No of Cloudlets = 20 No of Hosts = 10 No of VMs = 1280 No of Cloudlets = 20 No of Hosts =
Exp.4
Exp.5
Exp.6
Upper Bound = 0.888696 0.872857 0.021381 Lower Bound = 0.857018 0.857143 0.017995 Upper Bound =
Exp.7
Exp.8
89
Exp.9
No of Hosts = 10 No of VMs = 5120 No of Cloudlets = 20 No of Hosts = 10 No of VMs = 10240 No of Cloudlets = 20 No of Hosts = 10 No of VMs = 20480 No of Cloudlets = 20 No of Hosts = 10 No of VMs = 40960 No of Cloudlets = 20 No of Hosts = 10 No of VMs = 81920 No of Cloudlets = 20 No of Hosts = 10 No of VMs = 163840 No of Cloudlets = 20
Exp.10
Exp.11
Exp.12
Exp.13
Exp.14
Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7
0.85 kWh 0.86 kWh 0.86 kWh 0.86 kWh 0.89 kWh 0.83 kWh 0.91 kWh 0.87 kWh 0.89 kWh 0.88 kWh 0.93 kWh 0.84 kWh 0.92 kWh 0.89 kWh 0.86 kWh 0.88 kWh 0.89 kWh 0.90 kWh 0.85 kWh 0.88 kWh 0.86 kWh 0.87 kWh 0.88 kWh 0.87 kWh 0.96 kWh 0.89 kWh 0.83 kWh 0.87 kWh 0.89 kWh 0.90 kWh 0.88 kWh 0.86 kWh 0.88 kWh 0.87 kWh 0.87 kWh 0.86 kWh 0.90 kWh 0.85 kWh 0.86 kWh 0.87 kWh 0.85 kWh 0.91 kWh 0.88 kWh 0.88 kWh 0.87 kWh 0.86 kWh 0.91 kWh 0.86 kWh
90
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
No of Host = 10 No of VMs = 20 No of Cloudlets = 20
Mean Value of EC
Standard Deviation of EC
Confidence Interval of EC
Upper bound = 0.256541
Exp.1
0.251429
Exp.2
Exp.3
Exp.4
Exp.5
Exp.6
Upper bound = 0.250758 0.247143 0.00488 Lower Bound = 0.243528 Upper bound = 0.250758
Exp.7
0.247143
0.00488
91
No of Cloudlets = 1280
Exp.8
Exp.9
Exp.10
Exp.11
Exp.12
Exp.13 +%50
Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7
0.25 kWh 0.25 kWh 0.25 kWh 0.24 kWh 0.25 kWh 0.26 kWh 0.26 kWh 0.25 kWh 0.25 kWh 0.25 kWh 0.25 kWh 0.26 kWh 0.25 kWh 0.26 kWh 0.24 kWh 0.25 kWh 0.24 kWh 0.24 kWh 0.25 kWh 0.24 kWh 0.25 kWh 0.25 kWh 0.25 kWh 0.25 kWh 0.25 kWh 0.24 kWh 0.25 kWh 0.25 kWh 0.24 kWh 0.25 kWh 0.24 kWh 0.24 kWh 0.25 kWh 0.25 kWh 0.24 kWh 0.25 kWh 0.25 kWh 0.25 kWh 0.26 kWh 0.24 kWh 0.25 kWh 0.24 kWh 0.25 kWh 0.25 kWh 0.26 kWh 0.25 kWh
Upper bound = 0.256472 0.252857 0.00488 Lower Bound = 0.249242 Upper bound = 0.255237 0.248571 0.008997 Lower Bound = 0.241906
0.248571
92
Table 9. Shows 13 experiments without the deployment of Power Aware mechanism Parameters Setting
No of Host = 10 No of VMs = 20 No of Cloudlets = 20
Mean Value of EC
Standard Deviation of EC
Confidence Interval of EC
Upper bound = 0.884244
Exp.1
0.868571
Exp.2
Exp.3
Exp.4
Exp.5
Exp.6
Exp.7
Upper bound = 0.896003 0.88 0.021602 Lower Bound = 0.863997 0.871429 0.017728 Upper bound =
Exp.8
93
Exp.9
Exp.10
Exp.11
Exp.12
Exp.13 +%50
Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7
0.88 kWh 0.85 kWh 0.87 kWh 0.88 kWh 0.90 kWh 0.85 kWh 0.88 kWh 0.87 kWh 0.84 kWh 0.89 kWh 0.88 kWh 0.87 kWh 0.90 kWh 0.93 kWh 0.85 kWh 0.87 kWh 0.86 kWh 0.84 kWh 0.85 kWh 0.87 kWh 0.89 kWh 0.88 kWh 0.86 kWh 0.87 kWh 0.85 kWh 0.87 kWh 0.90 kWh 0.90 kWh 0.88 kWh 0.86 kWh 0.86 kWh 0.87 kWh 0.84 kWh 0.85 kWh 0.86 kWh 0.87 kWh 0.88 kWh 0.87 kWh 0.85 kWh 0.88 kWh 0.89 kWh
94
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
No of Hosts = 10 No of VMs = 20 No of Cloudlets = 20
Mean Value of EC
Standard Deviation of EC
Confidence Interval of EC
Upper Bound = 0.248245
Exp.1
0.244286
Exp.2
Exp.3
Exp.4
No of Hosts = 80 No of VMs = 160 No of Cloudlets = 20 No of Hosts = 160 No of VMs = 320 No of Cloudlets = 20 No of Hosts = 320 No of VMs = 640 No of Cloudlets = 20 No of Hosts = 640 No of VMs =
Exp.5
Upper Bound = 13.14664 12.90714 0.323301 Lower Bound = 12.66764 Upper Bound = 25.80636
Exp.6
Exp.7
25.37
0.590972
95
1280 No of Cloudlets = 20 No of Hosts = 1280 No of VMs = 2560 No of Cloudlets = 20 No of Hosts = 2560 No of VMs = 5120 No of Cloudlets = 20 No of Hosts = 3840 No of VMs = 7680 No of Cloudlets = 20
Exp.8
Exp.9
Exp.10 +50%
Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7
25.08 kWh 25.69 kWh 24.78 kWh 24.77 kWh 50.08 kWh 49.67 kWh 48.86 kWh 50.08 kWh 51.70 kWh 50.49 kWh 50.28 kWh 102.59 kWh 102.59 kWh 98.93 kWh 100.96 kWh 101.37 kWh 100.56 kWh 104.21 kWh 155.15 kWh 148.44 kWh 153.33 kWh 146.61 kWh 155.77 kWh 153.33 kWh 149.06 kWh
50.16571
Table 11. Shows 10 experiments without the deployment of power aware mechanism Parameters Setting
No of Hosts = 10 No of VMs = 20 No of Cloudlets = 20
Mean Value of EC
Standard Deviation of EC
Confidence Interval of EC
Upper Bound = 0.896016
Exp.1
0.87
Exp.2
Exp.3
Upper Bound = 3.497895 3.43 0.091652 Lower Bound = 3.362105 6.982857 0.14127 Upper Bound =
Exp.4
96
Exp.5
No of Hosts = 160 No of VMs = 320 No of Cloudlets = 20 No of Hosts = 320 No of VMs = 640 No of Cloudlets = 20 No of Hosts = 640 No of VMs = 1280 No of Cloudlets = 20 No of Hosts = 1280 No of VMs = 2560 No of Cloudlets = 20 No of Hosts = 2560 No of VMs = 5120 No of Cloudlets = 20 No of Hosts = 3840 No of VMs = 7680 No of Cloudlets = 20
Exp.6
Exp.7
Exp.8
Exp.9
Exp.10 +50%
Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7
6.94 kWh 7.06 kWh 6.83 kWh 7.00 kWh 6.94 kWh 7.25 kWh 13.39 kWh 14.11 kWh 13.56 kWh 13.22 kWh 14.00 kWh 13.89 kWh 15.39 kWh 27.22 kWh 27.67 kWh 28.67 kWh 27.89 kWh 27.56 kWh 26.78 kWh 28.11 kWh 56.00 kWh 55.78 kWh 58.00 kWh 54.67 kWh 53.11 kWh 56.00 kWh 57.11 kWh 111.11 kWh 114.67 kWh 113.87 kWh 113.33 kWh 106.67 kWh 110.22 kWh 108.44 kWh 226.67 kWh 223.11 kWh 224.00 kWh 227.56 kWh 230.22 kWh 231.11 kWh 217.78 kWh 334.67 kWh 344.00 kWh 340.00 kWh 326.67 kWh 332.00 kWh 329.33 kWh 334.67 kWh
97
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
No of Hosts = 10 No of VMs = 20 No of Cloudlets = 20
Mean Value of EC
Standard Deviation of EC
Confidence Interval of EC
Upper Bound = 0.256472
Exp.1
0.252857
Exp.2
Exp.3
Exp.4
Exp.5
Exp.6
Upper Bound = 0.246541 0.241429 0.006901 Lower Bound = 0.236317 Upper Bound = 0.244229
Exp.7
0.241429
0.00378
98
No of Cloudlets = 1280
Exp.8
Exp.9
Exp.10
Exp.11
Exp.12
Exp.13 +50%
Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7
0.25 kWh 0.24 kWh 0.24 kWh 0.24 kWh 0.24 kWh 0.24 kWh 0.25 kWh 0.24 kWh 0.24 kWh 0.25 kWh 0.24 kWh 0.24 kWh 0.24 kWh 0.23 kWh 0.25 kWh 0.24 kWh 0.24 kWh 0.24 kWh 0.24 kWh 0.24 kWh 0.24 kWh 0.24 kWh 0.24 kWh 0.24 kWh 0.25 kWh 0.25 kWh 0.24 kWh 0.25 kWh 0.24 kWh 0.25 kWh 0.24 kWh 0.25 kWh 0.24 kWh 0.24 kWh 0.24 kWh 0.24 kWh 0.24 kWh 0.24 kWh 0.25 kWh 0.24 kWh 0.24 kWh 0.24 kWh 0.24 kWh 0.24 kWh 0.24 kWh 0.25 kWh
Upper Bound = 0.244229 0.241429 0.00378 Lower Bound = 0.238629 Upper Bound = 0.249674 0.245714 0.005345 Lower Bound = 0.241755
Upper Bound = 0.244229 0.241429 0.00378 Lower Bound = 0.238629 Upper Bound = 0.244229 0.241429 0.00378 Lower Bound = 0.238629
99
Table 13. Shows 13 experiments without the deployment of power aware mechanism Parameters Setting
No of Hosts = 10 No of VMs = 20 No of Cloudlets = 20
Mean Value of EC
Standard Deviation of EC
Confidence Interval of EC
Upper Bound = 0.888378
Exp.1
0.874286
Exp.2
Exp.3
Exp.4
Exp.5
Exp.6
Exp.7
100
Exp.8
Exp.9
Exp.10
Exp.11
Exp.12
Exp.13 +50%
Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7
118.67 kWh 109.78 kWh 108.44 kWh 114.67 kWh 110.67 kWh 116.00 kWh 114.22 kWh 219.56 kWh 224.00 kWh 214.22 kWh 222.22 kWh 224.00 kWh 222.22 kWh 229.33 kWh 449.78 kWh 437.33 kWh 444.44 kWh 451.56 kWh 451.56 kWh 455.11 kWh 453.33 kWh 888.89 kWh 910.22 kWh 864.00 kWh 906.67 kWh 888.89 kWh 853.33 kWh 853.33 kWh 1777.78 kWh 1728.00 kWh 1827.56 kWh 1813.33 kWh 1834.67 kWh 1699.56 kWh 1763.56 kWh 2688.00 kWh 2730.67 kWh 2602.67 kWh 2656.00 kWh 2613.33 kWh 2560.00 kWh 2709.33 kWh
101
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
No of Hosts = 10 No of VMs = 20 No of Cloudlets = 20
Mean Value of EC
Standard Deviation of EC
Confidence Interval of EC
Upper Bound = 0.228094
Exp.1
0.221429
Exp.2
Exp.3
No of Hosts = 40 No of VMs = 80 No of Cloudlets = 80 No of Hosts = 80 No of VMs = 160 No of Cloudlets = 160 No of Hosts = 160 No of VMs = 320 No of Cloudlets = 320 No of Hosts = 320 No of VMs = 640 No of Cloudlets = 640 No of Hosts = 640
Exp.4
Exp.5
Upper Bound = 6.083802 5.99 0.126623 Lower Bound = 5.896198 11.87 0.211401 Upper Bound = 12.02946
Exp.6
Exp.7
102
No of VMs = 1280 No of Cloudlets = 1280 No of Hosts = 1280 No of VMs = 2560 No of Cloudlets = 2560 No of Hosts = 2560 No of VMs = 5120 No of Cloudlets = 5120
Exp.8
Exp.9
Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7
12.15 kWh 12.00 kWh 11.71 kWh 11.55 kWh 11.89 kWh 22.94 kWh 22.73 kWh 23.45 kWh 24.01 kWh 22.94 kWh 23.39 kWh 23.28 kWh 46.55 kWh 46.44 kWh 46.66 kWh 46.71 kWh 47.09 kWh 46.74 kWh 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
No of Hosts = 10 No of VMs = 20 No of Cloudlets = 20
Mean Value of EC
Standard Deviation of EC
Confidence Interval of EC
Upper Bound = 0.275144
Exp.1
0.257143
Exp.2
Exp.3
103
Exp.4
Exp.5
Exp.6
Exp.7
Exp.8
Exp.9
Exp.10
Exp.11
Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5
0.18 kWh 0.18 kWh 0.22 kWh 0.22 kWh 0.21 kWh 0.21 kWh 0.18 kWh 0.21 kWh 0.20 kWh 0.19 kWh 0.19 kWh 0.20 kWh 0.21 kWh 0.22 kWh 0.17 kWh 0.22 kWh 0.19 kWh 0.20 kWh 0.21 kWh 0.21 kWh 0.19 kWh 0.18 kWh 0.19 kWh 0.23 kWh 0.19 kWh 0.21 kWh 0.17 kWh 0.21 kWh 0.19 kWh 0.19 kWh 0.22 kWh 0.20 kWh 0.21 kWh 0.20 kWh 0.19 kWh 0.19 kWh 0.20 kWh 0.19 kWh 0.17 kWh 0.20 kWh 0.18 kWh 0.22 kWh 0.18 kWh 0.20 kWh 0.20 kWh 0.20 kWh 0.21 kWh 0.18 kWh 0.24 kWh 0.19 kWh 0.18 kWh 0.19 kWh 0.19 kWh 0.18 kWh
Upper Bound = 0.216507 0.201429 0.020354 Lower Bound = 0.18635 Upper Bound = 0.193683 0.188571 0.006901 Lower Bound = 0.183459
104
Exp.12
Exp.13
Exp.14
Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7 Run 1 Run 2 Run 3 Run 4 Run 5 Run 6 Run 7
0.20 kWh 0.19 kWh 0.19 kWh 0.21 kWh 0.19 kWh 0.20 kWh 0.18 kWh 0.19 kWh 0.19 kWh 0.21 kWh 0.18 kWh 0.18 kWh 0.19 kWh 0.21 kWh 0.24 kWh 0.19 kWh 0.20 kWh 0.19 kWh 0.19 kWh 0.19 kWh 0.19 kWh 0.20 kWh 0.19 kWh
105