An approach towards development of a migration enabled improved datacenter broker policy

Cloud computinghas left its remarkable note on the computing world over the last few years. Through its effectiveness, litheness, scalability & availability cloud computinghas changed the nature of computer system deployment. The Quality of Service (QoS) of a cloud service provider (CSP) is an important element of research interest which includes different critical issues such as proper load, minimization of waiting time, turnaround time, makespan and suppressing the wastage of bandwidth of the system. The Datacenter Broker (DCB) policy helpsassigning a cloudletto a VM. In present study, we proposed an algorithm, i.e., Migration enabled Cloudlet Allocation Policy (MCAP) for allocation of cloudlets to the VMs in a Datacenter by taking into accounttheload capacity of VMs and length of the cloudlets. The experimental results obtained using CloudSim toolkit under extensive loads that establish performance supremacy of MCAP algorithm over the existing algorithms.

allocation policy plays a key role to improve the overall system performance maximizing throughput and minimizing the completion time and makespan [17] of the entire cloud system. Moreover, a proper allocation policy may lead to a proper load balancing [18] of the host(s) and allocates cloudlets to the suitable resources [18] or VMs that may lead to improve the QoS [18][19][20] of the overall system.

CloudSim Toolkit
Several Grid simulators [21,22] such as Sim-Grid, GridSimand GangSim are suitable for simulating the grid application in a distributed environment but cannot deliver the infrastructure and application-level requests arising from cloud computing environment. The grid simulators cannot distinguish the multi-layer services (such as, SaaS, PaaS, and IaaS, etc.) which are essential in cloud computing environment. Therefore, cloud environment modelling and simulation toolkits support for enabling real-time response of services between cloud customer and cloud service providers. TheCloudSim [23] is a cloud environmentmodelling and simulation toolkit [24] that provisions real-time response of services between customers and CSP. An open source CloudSim framework [25] shown in Figure 1 developed on Grid-Sim toolkit [26] conveys support for economically resource management and cloudlet scheduling, [26]cost management, bandwidth management etc. One of the important factors that make cloud computing infrastructure different from grid computing infrastructure is the huge deployment of virtualized infrastructure. The CloudSim toolkit [27] is advantageous for the developers to implement their own policies in the domain of cloud by extending relevant classes of CloudSimtoolkit. Clouds contain the virtualization layer that integratesexecution, management and hosting environment for application services which is unmanageablein grids. The several modules of CloudSimtoolkit have been mentioned in Figure 1 which is relevant to this research.

Cloud Information Service (CIS)
CIS [24] maps user requests to suitable cloud providers. The CIS and DCB of CloudSimgovernor resource discovery and information interaction. It is the core of simulated scheduling [2,29].

Datacenter Broker (DCB)
This class contains a broker, which is responsible for interacting between cloud users and CSP depending on users' bandwidth and QoS necessities. The broker deploys cloudlets into the hosts. Userdeveloped scheduling algorithms and/or techniques are designed and incorporated in the DCB module.

VM Scheduler
VM scheduler is an abstract class inherited by a Host constituent that represents the scheduling policies such as space-shared, time-shared etc. which are required for allocating processing power to the VMs for better performance.

VM Allocation Policy
VM Allocation Policy is used to select an obtainable host in a Datacenter, which encounters the capacity, storage, and bandwidth availability requirement for the disposition of a VM. The DCB allocates the cloudlets to the VM as per its requirements.

Research Method
The performance of the proposed MCAP policy has been compared with two other existing allocation policies-a) Round Robin Allocation (RRA) [7] Policy and b) Conductance Algorithm (CA) [18]. The major disadvantages of these two are larger makespan, larger waiting time, higher turn-around time of the VMs as well as the host which is present in the Datacenter. The proposed MCAP provides better results than the existing policies which are discussed below over the above-mentioned parameter

Conductance algorithm (CA)
It [18] considers each VM as a pipe. It calculates the Conductance (processing power) as per (1) of each VM as the ratio of its capacity to the sum of the capacity of all the VMs present in a System.

Conductance j =MIPSj/∑ n j=1MIPSj
(1) After the calculation of conductance, multiply the conductance of that particular VM with the length of the cloudlet list. To determine the strip length, (2) is used. It determines the number of cloudlets the VM can process.

Striplengthj = conductance j × (Length of the cloudlet list)
( The existing policies do not consider the procedure for finding out the minimum makespan of the VM(s) as well as the host(s) in DC.

Proposed MCAP Algorithm
We shall make the following modification to DCB in order to improve its performance. At first, VMs are allocated based on Remaining Load Capacity (RLC) inside a Datacenter using their processing capability characteristic i.e. Millions of Instructions per Second (MIPS).

(3)
In the second step, the cloudlets are migrated from a VM to another VM following the proposed MCAP discussed below in order to improve the overall performance of the system.

Cloudlet Allocation Strategies
The DCB module is upgraded with this newly designed allocation policy (MCAP) and allocates cloudlet(s) to a suitable VM. The proposed allocation policy (MCAP) considers the Maximum allowable Load Capacity (LCmax) index and the Remaining Load Capacity (RLC) index for each VM. The maximum permissible amount of load that can be allocated to a VM determines the maximum allowable load capacity (LCmax) index of a VM. The MCAP allocation policy highlights Remaining Load Capacity (RLC) index. This parameter can be defined as the remaining amount of allocable load to a VM. This parameter defines how many cloudlets can be allocated to that VM so that it performs within its optimal capacity. The RLC value is stored in a table, i.e., RLC index table which is dynamic in nature. The MCAP policy estimates the LCmax of every VM and initially the RLC value is same as LCmax for every VM. The VMs are arranged hierarchically following the RLC value in decreasing order and allocates cloudlet to a VM with maximum RLC (VMmax) value.

Working principle with demonstration
In MCAP algorithm, an example is cited in Figure ( [2][3][4][5] to illustrate the policy simply within this short study. In Figure 2, at a certain instance, two VMs (VM0and VM1) are there and three cloudlets (C0, C2, C3) have been allotted to VM0 and a cloudlet C1 is allotted to VM1 based on MCAP algorithm. After allocation of the cloudlets the RLC values of those VMs are 50 and 70 respectively. There are four cloudlets (C4, C5, C6, and C7) in the GQ, waiting for allocation. The sizes of those cloudlets (C4, C5, C6, and C7) are assumed 10,30,35,32 respectively. The MCAP policy allocates a cloudlet to a VM with maximum RLC (VMmax) among all the VMs. Here, the VM1 will be appropriately chosen which is mentioned in Figure 3. After allocation of the cloudlets, the RLC of VM1 will be decreased and the RLC index table will be modified according to the updated RLC value. The Figure 3 shows, the DCB despatches C4 to the VM1guided by the MCAP policy. Another parameter, known as cloudlet count (cld_count), will represent the number of cloudlets present in the LQ of a VM.

RLC = ((LCmax-Present load of the VM)/LCmaxof VM) * 100% (4)
All the logical estimations regardingcloudlet allocation is done in the DCB as prior operation. The DCB finalizes the cloudlet to VM mapping for the arrived cloudlet batch. If the total length of all the cloudlets is equivalent to LCmax, the RLC of that VM becomes zero percent. If the allocation of a cloudlet to a VM makes the VM exhausted,i.e.the RLC of that VM becomes negative andthe DCB decides to reallocate or migrate a cloudlet to the other VM. These can be realized through an example stated below.
The VM with negative RLC is termed as victim VM. The DCB selects a cloudlet with minimum length from the LQ of that victim VM for migration. The scenario is explained in the Figure 4.  Figure 4, the VM1 is termed as victim VM. The DCB searches for a cloudlet with minimum length from the LQ of VM1 and finds C4. So, the DCB migrate C4 to VM0which is mentioned in Figure 5. As the RLC of VM0 is 15 and the length of C4 is 10. After reallocating C4 to VM0 the RLC of VM0 becomes 5 and the RLC index table is updated according to it. This is described in Figure 5. The proposed MCAP algorithm under discussion is equipped with cloudlet migration. Here the cloudlets are migrated to make more balanced cloud environment that ultimately gives better QoS. Based on the RLC value of the VMs the cloudlets have been allocated and a mechanism of cloudlet migration for balancing loads [25] on each VM is deployed. The VM with maximum RLC is denoted as VMmax.If more than one such VMmax exists then the VM which has the lowest number of cloudlets in its local queue (LQ) is selected. The VM with minimum RLC is denoted as VMmin and if more than one such VM exists, then the VM with the highest number of cloudlets in its LQ is selected among VMmin. The cloudlet with minimum length has the maximum probability to get accommodated in a VM. If the capacity of VMmin exceeds LCmax (RLC of VMmin becomes negative) then the cloudlet with minimum length (cldmin) is transferred from VMmin to VMmax. This mapping happens logically in the DCB. Based on which the DCB allocates or migrates a cloudlet to a VM. Thus, the RLC values of VMs stay balanced. The entities like  Table 2. To avoid infinite migration, a parameter known as swapcount is used which is mentioned in Table 3. Here threshold limit is considered as 16 [30]. The proposed MCAP allocation policy needs two different data structures to track arriving cloudlet and status of the VMs. These are as follows:

4.2.1.VM descriptor block
VM descriptor block is such a data structure where all the information about a VM is stored in the datacenter broker. This data structure containsVM_id, cld_count, RLC, utilization as an attribute. VM_id: -It is a unique identifier of a VM cld_count:-It specifies the number of cloudlets allocated to this VM. RLC: -It specifies the load capacity remaining in a VM after allocation of cloudlet(s). Utilization: -It specifies how much of the VM is utilized.

4.2.2.Cloudlet descriptor block
This data structure contains cld_id, corresponding VM ID, cloudlet length as its attributes. Table 3. Cloudlet descriptor block cld_id VM_id Length swapcount cld_id:-It is a unique identifier of a cloudlet. VM_id:-It specifies the VM which is allocated for a particular cloudlet. length: -It specifies the length of a cloudlet. swapcount: -It specifies the number of migrations of a cloudlet from one VM to another VM.

Algorithm: Algorithm of the MCAP algorithm
The algorithm of the MCAP work is described here.

Algorithm:
InMCAP algorithm, the cloudlets are distributed among all the VMs specified by users based on remaining load capacity and migration.

Result & Analysis
MCAP algorithm is implemented in CloudSim 3.0.3 and compared its results with existing algorithm like Round Robin. We have taken some specific no. of cloudlets having predefined length running in certain VM for our algorithm as well as for Round Robin. The complete dataset is shown in Table 4.    Figure 9. Comparison between RRAand MCAPbased on makespan

Conclusion
The objective of the load balancing is to assign the cloudlets effectively to the computing resources optimally. The migration enabled cloudlet allocation is highly demanding nowadays due to its adaptive nature. Depending upon remaining load capacity the cloudlets are allocated. This is a challenging task in a large high-performance computing environment like cloud. The MCAP algorithm takes into account the capacity of VMs unlike most of the allocation strategies. The obtained result sets and rate of improvement in performance are the evidence of the efficacy and sustainability of the proposed MCAP algorithm.