IaaS Public Cloud Computing Platform Scheduling Model and Optimization Analysis

IaaS (Infrastructure as a Platform) public cloud is one mainstream service mode for public cloud computing. The design aim of one IaaS public cloud is to enlarge the hardware-usage of whole platform, optimize the virtual machine deployment and enhance the accept rate of service demand. In this paper we create one service model for IaaS public cloud, and based on the waiting-line theory to optimize the service model, the queue length and the configuration of scheduling server. And create one demand-vector based scheduling model, to filter the available host machine according to the match of demand and metadata of available resource. The scheduling model can be bonded with the virtual machine motion to reallocate the resources to guarantee the available rate of the whole platform. The feasibility of the algorithm is verified on our own IaaS public cloud computing platform.


Introduction
Cloud Computing Technology is developed from virtualization, utility computing, IaaS (Infrastructure as a Service), PaaS (Platform as a Service), SaaS (Software as a Service) and etc. [1].It puts forward one new IT business model, i.e. the users can acquire IT services through Internet with on-demand and expandable means.The cloud computing platform utilizes the high-speed Internet to deliver the computing, storage, software and services which are distributed all over the world, to the terminal users and make them to use the resources as electricity.The cloud computing technology brings us a new service mode to serve the users with data, application and IT resources through network [2].
Cloud computing technology is also one methodology for infrastructure, i.e. the cloud computing platform integrates the mass computing resources to compose one resource pool and serve the users dynamically with virtualized resources including computing, storage and service.To one user of cloud computing platform, almost everything as software, hardware, data and information service all can be rent from the cloud.The cloud computing platform can be subdivided into three layers shown as Figure 1 [3].
SaaS (Software as a Service) i.e. the software is delivered through Web browsers as a service of cloud computing platform, so the users can rent the software on demand.SaaS of cloud computing includes SaaS software and trusteed applications, e.g.Saleforce is one famous SaaS provider; it delivers ERP, SCM, CRM software and etc. through Internet with SaaS mode [3].
PaaS (Platform as a Service) provides one platform for the users and developers with application development, test and deployment, e.g. one SaaS application.The platform includes database, middleware and development tools, and all services can be composed through Internet.For example, the Google Map platform and APP platform all are the PaaS cloud platform [2].
IaaS (Infrastructure as a Service) is to provide the hardware infrastructure as servers, storage and hardware through Internet.The IaaS platform is created based on virtualization technology as server and storage virtualization, so virtualization, cluster and dynamic configuration software are also includes IaaS.e.g.EC2 of Amazon is one famous IaaS platform of cloud computing technology [1].
The cloud computing platforms own three types: Public Cloud serves the users that distributed all over the world across the border of enterprises and areas.Usually the public cloud platform is large-scale and composed by a few data centers in different area to provide IaaS, PaaS or SaaS service.e.g.Amazon EC2 is the IaaS public cloud, Google APP and Apple AppStore is the PaaS public cloud [3].Public cloud serves the general users with on-demand mode, so the small enterprise users can create their IT business systems with low-cost.But the supervision of public cloud is very difficult, e.g. the resources of EC2 are used for spam mails, hack attack and Trojan attack [4].
Private Cloud only serves for one company or organization.Generally private cloud is composed by IT infrastructure of one enterprise.It contains their data center and all other devices, hardware and software linked in Internet.The private cloud is managed by the IT fellow and with high-level security.Private cloud demands the entire control of resources, and react the users with different priorities.So the users can have specific demands to resources.But generally, the pubic cloud looks the users with same priorities.The widely used private cloud includes VCloud, VSphere of VMware and XEN Cloud of Citrix [5].
Mixed Cloud owns the properties of public cloud and private cloud.It connects the resources of private clouds including its data, application and service through public cloud, e.g.private cloud connects into one public cloud and provide one access interface through one agent server.So it can guarantee the security of private cloud and support the permitted resources can be exposed into Internet.OpenNebula is one famous mixed cloud platform [3,6].
In this paper we describe our IaaS public cloud platform.The rest of the paper is organized as follow: Section 2 relates the service model of IaaS public cloud.Section 3 states our scheduling model for IaaS public cloud and its optimization means.Section 4 gives some experimental results.And Section 5 draws one conclusion and gives out future works.

Model of IAAS Public Cloud
IaaS public cloud is one important application mode of current cloud computing technology.With the appearance of Amazon EC2, more and more platforms come out to provide computing and storage resources.The aim of the platforms is to provide the users on demand with the virtual machines for ordered CPU frequency, quantity of core, storage space and memory size [4].

Element of IaaS Public Cloud
As shown in Figure 2, logically one IaaS public cloud owns three main elements as follow: Cloud Administration Center is the access interface to Internet and also the management, scheduling and monitoring center of the resources within the cloud.The administration center of one IaaS public cloud accepts the resources request from the Internet users and create the demanded resources, e.g.virtual machine and storage resources, and configure them, then return the resources to the users.
Cloud computing Resources Center is composed by the physical computing resources.To one IaaS platform, the physical resources will be used as the host machines to be administrated by the cloud administration center.The scheduling server will select the optimal resources according to the user demands to create virtual machines.In general, multiple cloud computing resource centers access the administration center with agent servers which can also be used to support the monitoring and scheduling of the computing resources.
Cloud Storage Resources Center is composed logically by the physical storage resources.To one IaaS platform, virtual machine template, images and snapshots are also stored in the storage center which is administrated with network storage systems as NFS, S3, ISCSI and etc.The virtual machine image of users is transferred to one specific physical machine from the storage center and then is loaded into it.To the platform, the physical and virtual machines are loosely coupled.And it also is the difference of public and private cloud.

Service Workflow
We will use two operation flows to analyze the scheduling flow of cloud platform.The flow of user request to resources is as follow: 1) The registered users access the portal server and request the virtual machines with the parameters including quantity of core, frequency, memory, storage space, OS and etc. 9) The monitoring server will renew the information within the metadata database, to guarantee its correctness, and to improve the efficiency of scheduling operations.
2) Portal Server sends the request to the scheduling server.
3) The scheduling server searches the physical machines to find the host to create the virtual machine according to the metadata of physical machine, which records the operation and configuration details.

The Service Model of IaaS Public Cloud
4) The scheduling server chooses one optimal server and then sends the creating command of virtual machine to its agent server.
According to the service flow, we can abstract one IaaS Public cloud as the model as shown in Figure 3.The model including three flows as follow: 5) The scheduling sever chooses the virtual machine template form the stored templates within cloud storage administration center, and sends one request for the template to the agent server.
1) The scheduling severs of cloud administration center, picks out the request R with the highest priority.The scheduling server then judges whether R can be meted according to the parameters of R, as CPU frequency, core quantity, band-width, storage, and disk space.If R can be met, then jump to (2).Or then judges if R can be met through the VM (Virtual Machine) motion and then release enough resources; If one motion can release enough resources, then jump to (2).Or then quit directly and report to the user that the requested resources cannot be met.
6) The requested virtual machine image will be sent (or mapped) to the physical sever based on the template, the scheduling sever will start the virtual machine if the image is loaded successfully.If something is wrong during ( 4)-( 6), the scheduling server will select new virtual machine.
7) If the virtual machine starts successfully, the user can access the virtual machine through RDP, VNC, ICA or SSH.
2) If the requested resources can be met, the scheduling server then choose the VM template T (if create one new VM) or one VM image I (if use existing VM) corresponding to R.
The agent server can monitor the resources registered within the computing or storage resources management center.It will renew the metadata within the metadata database to guarantee the correctness of scheduling server to resources.The renewing of metadata follows 2 steps: 3) The scheduling server sends I to corresponding physical machine and create VM instance V.
There are three important problems to the model: 1) How the request-queue length is determined, and the priority of request R can be adjusted, to guarantee all the request can be reacted quickly.
8) The monitor server will send the resource-information renew request, the scheduling server will send the request to the agent servers.If the agent severs acquire the information then send them to the monitoring server.
2) How the request R can be parsed and then to select the optimal resource to serve users.3) If VM motion operations are demanded, and how to guarantee the motion cost and the affection to the other VMs are minimized.To one platform the motion can affect the QoS of whole platform, so the motion of VM will be executed only when other VMs will not be disordered.

Scheduling Model of IAAS Public Cloud
According to the service model, we can quantize the parameters and analyze the throughout of one cloud platform, and then analyze and optimize the model [6].

Queue Model
According to the waiting-line theory, as shown in Figure 4, the request and react processing is one waiting-line system, the input of one waiting-line system is the request and the service counter is the scheduling server, and the output is the requested resources.One user request queue is .
  We assume the request come as Poisson's ratio within one IaaS public cloud, and the service time is as exponential distribution.λ is the count of coming user request averagely in one unit of time.μ is the service efficiency (the ability of service counter).ρ = λ/μ is the ration that the request can be met within one unit of time, i.e. the service success rate.W S is the time that one service will wait in the system, which includes the waiting time and service time.W q is the average waiting time for user request.If there only is one counter (i.e. one scheduling server), so So there are two means to increase the user request reaction speed: 1) decrease the count of user request sent to scheduling server.
2) Increase the processing speed of scheduling server.So we can increase scheduling server within one IaaS public cloud.When there are several scheduling server, the results are as follow equations.

 
  Multiple-queue and multiple-counter can be seen as several single-queue and single-counter.So based on the analysis, to control the reaction speed of system, the maximum of queue length will be fixed.When the waiting request surpass it, the requests out of the queue will be rejected.So the maximum reaction speed of user request is the whole queue processing time [7].

Model Analysis
The set of physical machine within one cloud in P,   , , , , n P P P P P   .n is the count of physical machine within P. All the parameters are as shown in Table 1.
To user request R, the resource allocation must follow the rules which are also the necessary rules of one IaaS public cloud.
1) To one single VM, anyone of the allocated resource to v ij of V i (as frequency, core quantity, disk space and bandwidth) will be less than the total resources of P i , i.e.

 
 , and , and is the allocated frequency, core, memory, disk and bandwidth to VM v ij .
2) The sum of the allocated resources to the virtual machines within VM set V i will be less than the total of physical machine and , and As shown in Figure 5, assuming the user request R i can be parsed into CPU frequency request RF i , CPU core request RC i , disk request RD i , memory request RM i , network bandwidth request RB i .The scheduling server firstly goes through the physical machines within the metadata record, and to find the physical-machine set that can meet the VM request.Then sort the physical machines according to its usage.The VM will be created on the physical machine with the lowest usage.The usage is one powered remark including CPU frequency, memory and bandwidth usage.Generally the CPU usage can be Find Physical Computer (Request , Computer Set ) {empty (PM); //Empty the result set of physical machine for {if //Remained resource of physical machine can mee used as the main indicator of total usage.
One public cloud platform can release resources through VM motion to meet one request.Because one VM motion will decrease the QoS of VMs within same physical machine, the platform will decrease the possible VM motions and use at the most one motion to meet the resources release demand.When the physical machine within one physical machine set all cannot meet the demand, the scheduling server firstly find two physicalmachine with the lowest usage, and attempt to move the VM with the lowest usage to another physical machine to release resources.To the physical machine, if one step motion cannot release enough resources, the user request will be refused.The algorithm to release resources is as shown in Figure 6.

Experiment
G-Cloud v3.0 is one IaaS public cloud computing plat-form developed by GDEII (Guangdong Electronic Industrial Institute).In this paper, we use one group of experiment to verify our scheduling model.The result is as shown in Table 2.
The experimental platform owns 100 physical machines as the host, and one host can create 8 VM at most.We change the length of request queue and put forward the VM creation request to surpass the length to test our algorithm.We can see from Table 2 that with the improved multi-scheduler means the minimum reaction time will not be affected by the length of the request queue with FIFO (First In First Out) Mode.But the average reaction time and the maximum reaction time will be enlarged with the increase of the queue length as shown in Figure 7(a), especially when the queue length surpasses 40 s.And the maximum waiting time will surpass 120 s which is over the user-enduring time.So within our platform, the request queue length is 40.Contrasted with the general means, only with one scheduler     When the VM capacity of the whole platform surpasses 80% and if we create new VM or reconfigure one VM, the resources will not be enough to create it.So the platform will move some VM to release resource to meet the demand.The VM motion will be affected by the VM image, memory and storage size, and the backup, scheduling and motion algorithm.Out platform adopts Hot Motion means (related within Figures 5 and 6), i.e. the VM is moved when it is running.But the data coherence cannot be kept easily.After the VM image is synchronized, the VM will stop service for several seconds to synchronize the runtime memory.After image synchronization, the original VM will be closed and the new VM

Conclusions and Future Works
IaaS public cloud aims to provide available VMs for Internet users.In this paper, we summarize the IaaS public cloud model, and analyze the service flow according to the waiting-line theory.And aiming to maximize the platform usage and the performance of single VM, we give out one filtering algorithm based on user request to find optimal resource for user VM request [8].The cloud administration center renews the metadata on time to support the virtual machine motion and physical machine scheduling [9].The algorithm is verified on our G-Cloud platform of GDEII, which improves the QoS of the whole platform.

Figure 1 .
Figure 1.The layered structure of cloud computing platform.

Figure 2 .
Figure 2. The elements of IaaS public cloud.

Figure 4 .
Figure 4. Waiting-line model of IaaS public cloud request.

Figure 5 .
Figure 5. Algorithm to find physical machine to host one VM.

Figure 6 .
Figure 6.Algorithm to find VM for motion.

F igure 7 .
Queue length and reaction time.(a) Improved means with multi-scheduler; (b) Contrast of general and improved means.
will start service.Hot motion will affect the online users and the QoS.But it can keep service for online users after hot motion.Contrasted with our algorithm, there are the cold motion and clone motion means.Cold motion means the VM is moved after it is closed.Clone Motion, i.e. the VM motion will only move the image files and the runtime memory file will be abandoned.So the QoS will be affected.And the Clone motion only is used when the VM will have no data renew.And the online users will be disconnected during clone motion.We usually use one time-cost to quantity the motion cost for VM motion.It includes the cost for VM image and memory files transferring, reconfiguration and restart VM.But the service stop time is the main scale for the VM motion of one IaaS public cloud platform.We can see from Figure8that the hot motion will cost more time than cold motion and clone motion.Because it need more time to avoid the service delay time and use more time to synchronize the VMs.But the hot motion will cause the minimum delay time than cold motion and clone motion as shown in Figure9.

Figure 8 .
Figure 8.Total time cost for different motion mode.

Figure 9 .
Figure 9. Service delay time for different motion mode.

Table 2 . Queue length and reaction tims(s) with multi- scheduler.
So it is very important to construct more schedulers and the queue length should have one maximum and can adjust dynamically.
and without queue length adjust algorithm the average reaction time will increase with very high speed and surpass 40 s with only 20 jobs in queue as shown in Fig- ure 7(b).