# Sharing with Live Migration Energy Optimization Scheduler for Cloud Computing Data Centers
## 1 Introduction  
Cloud computing represents the preferred alternative for on-demand computation and storage where clients can save, retrieve, and share any measure of data in the cloud [1]. Aside from their benefits, cloud-computing data centers are facing many problems, with high power consumption being one of the most significant ones [2]. In this context, a typical challenge faced by cloud service providers is balancing between minimizing energy usage and the delivered performance. Further, the current trend expects that the energy consumption of the United States' data centers will be about 73 billion kilo watts per hour by 2020 [3]. If power consumption continues to increase, power cost can easily overtake hardware cost by a large margin [4]. In the cloud data center, 90% of the electricity is consumed by the server, network, and cooling system [5].  
As this industry is becoming a major resource and energy consumer, high efficiency cloud-computing data centers need to be developed in order to guarantee a green computing future [6] and meet the industrial needs. Scheduling techniques are designed to assign tasks in an optimal fashion for utilizing system resources [7]. Numerous scheduling models have been proposed and studied comprehensively, but most of them are unsuitable for the current cloud-computing environment, which raised the need for more efficient and innovative scheduling models [8].  
Task scheduling is a key element in cloud computing, and currently focuses on all computing resources, so a scheduler could classify and analyze computing resources reasonably and reduce the execution time of tasks [9]. Optimizing the efficiency of the scheduling mechanism in a cloud environment can increase the performance of the server and associated resources, and maximize the processes managing proficiency [10].  
Heuristic, hybrid, and energy-efficient task scheduling algorithms are the three main different categories of task scheduling [11]. To begin with, heuristic task scheduling can be divided into two types, namely static and dynamic power consumption. Static algorithms assume that all of the tasks are independent, and they all arrive at the same time. Many task-scheduling approaches categorized under the static scheduling methods such as minimum execution time and minimum completion time, min-min and max-min, genetic algorithm, etc. The dynamic scheduling techniques assume a dynamic nature of the tasks' arrival time and depend on the system machine's state of time, such as K-Percent and suffrage scheduling techniques.  
The second class of algorithms regards energy efficient task scheduling. Task scheduling is one of the critical determinants in energy consumption for a cloud data center. Innovative green task-scheduling algorithms are designed and established to reduce energy consumption by determining the optimal processing speed to execute all tasks before a deadline. Finally, hybrid scheduling combines multiple scheduling parameters in one scheduling technique to decrease the execution time and produce a hybrid scheduling. Most of these algorithms are either novel or designed by combining one or more of the old predesigned schedulers.  
The remainder of the paper is organized as follows. Section 2 presents related works. Section 3 builds the Sharing with Live Migration (SLM) model. Section 4 proposes the SLM scheduler algorithm. Section 5 presents the simulation and analysis. Section 6 presents the experimental Results. Finally, Section 7 addresses conclusions and future work.