research article load balancing in cloud …downloads.hindawi.com/journals/tswj/2016/3896065.pdf1....

15
Research Article Load Balancing in Cloud Computing Environment Using Improved Weighted Round Robin Algorithm for Nonpreemptive Dependent Tasks D. Chitra Devi and V. Rhymend Uthariaraj Ramanujam Computing Centre, Anna University, Chennai 600 025, India Correspondence should be addressed to D. Chitra Devi; [email protected] Received 29 November 2015; Accepted 21 December 2015 Academic Editor: Chin-Chia Wu Copyright © 2016 D. C. Devi and V. R. Uthariaraj. is is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. Cloud computing uses the concepts of scheduling and load balancing to migrate tasks to underutilized VMs for effectively sharing the resources. e scheduling of the nonpreemptive tasks in the cloud computing environment is an irrecoverable restraint and hence it has to be assigned to the most appropriate VMs at the initial placement itself. Practically, the arrived jobs consist of multiple interdependent tasks and they may execute the independent tasks in multiple VMs or in the same VM’s multiple cores. Also, the jobs arrive during the run time of the server in varying random intervals under various load conditions. e participating heterogeneous resources are managed by allocating the tasks to appropriate resources by static or dynamic scheduling to make the cloud computing more efficient and thus it improves the user satisfaction. Objective of this work is to introduce and evaluate the proposed scheduling and load balancing algorithm by considering the capabilities of each virtual machine (VM), the task length of each requested job, and the interdependency of multiple tasks. Performance of the proposed algorithm is studied by comparing with the existing methods. 1. Introduction Cloud computing is a computing paradigm for managing and delivering services over the internet and is defined as “a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction” [1]. Cloud computing is an integrated concept of parallel and distributed computing which shares resources like hardware, soſtware, and information to computers or other devices on demand. With the aid of cloud computing and internet facil- ity, the customer can access the aforementioned resources by paying for the duration of use. Virtual machine (VM) is an execution unit that acts as a foundation for cloud computing technology. Virtualization consists of creation, execution, and management of a hosting environment for various applications and resources. e VMs in the cloud computing environment share resources like processing cores, system bus, and so forth. e computing resources available for each VM are constrained by total processing power. In this model of environment the job arrival pattern is unpredictable and also the capabilities of each virtual machine vary from one another. Hence, load balancing becomes a critical task leading to a poor system performance and maintaining stability. us, it becomes imperative to develop an algorithm which can improve the system performance by balancing the work load among virtual machines. ere are various load balancing algorithms available, such as round robin, weighted round robin, dynamic load balancing, Equally Spread Cur- rent Execution (ESCE) Algorithm, First Come First Serve, Ant Colony algorithm, and rottled algorithm. e most frequently used scheduling techniques for a nonpreemptive system are first in first out (FIFO) and weighted round robin (WRR) [2]. CloudSim-3.0.3 is the simulation environment for the cloud computing research works. It supports both system and behaviour modelling of cloud system compo- nents such as data centres, hosts, virtual machines (VMs), and resource provisioning policies. It supports modelling Hindawi Publishing Corporation e Scientific World Journal Volume 2016, Article ID 3896065, 14 pages http://dx.doi.org/10.1155/2016/3896065

Upload: others

Post on 04-Jun-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Research Article Load Balancing in Cloud …downloads.hindawi.com/journals/tswj/2016/3896065.pdf1. Introduction Cloud computing is a computing paradigm for managing and delivering

Research ArticleLoad Balancing in Cloud Computing EnvironmentUsing Improved Weighted Round Robin Algorithm forNonpreemptive Dependent Tasks

D Chitra Devi and V Rhymend Uthariaraj

Ramanujam Computing Centre Anna University Chennai 600 025 India

Correspondence should be addressed to D Chitra Devi chitradevichithugmailcom

Received 29 November 2015 Accepted 21 December 2015

Academic Editor Chin-Chia Wu

Copyright copy 2016 D C Devi and V R Uthariaraj This is an open access article distributed under the Creative CommonsAttribution License which permits unrestricted use distribution and reproduction in any medium provided the original work isproperly cited

Cloud computing uses the concepts of scheduling and load balancing to migrate tasks to underutilized VMs for effectively sharingthe resources The scheduling of the nonpreemptive tasks in the cloud computing environment is an irrecoverable restraint andhence it has to be assigned to themost appropriate VMs at the initial placement itself Practically the arrived jobs consist of multipleinterdependent tasks and theymay execute the independent tasks inmultiple VMs or in the sameVMrsquosmultiple cores Also the jobsarrive during the run time of the server in varying random intervals under various load conditionsThe participating heterogeneousresources aremanaged by allocating the tasks to appropriate resources by static or dynamic scheduling tomake the cloud computingmore efficient and thus it improves the user satisfaction Objective of this work is to introduce and evaluate the proposed schedulingand load balancing algorithmby considering the capabilities of each virtualmachine (VM) the task length of each requested job andthe interdependency of multiple tasks Performance of the proposed algorithm is studied by comparing with the existing methods

1 Introduction

Cloud computing is a computing paradigm for managingand delivering services over the internet and is defined asldquoa model for enabling ubiquitous convenient on-demandnetwork access to a shared pool of configurable computingresources (eg networks servers storage applications andservices) that can be rapidly provisioned and released withminimal management effort or service provider interactionrdquo[1] Cloud computing is an integrated concept of parallel anddistributed computing which shares resources like hardwaresoftware and information to computers or other devices ondemand With the aid of cloud computing and internet facil-ity the customer can access the aforementioned resources bypaying for the duration of use Virtual machine (VM) is anexecution unit that acts as a foundation for cloud computingtechnology Virtualization consists of creation executionand management of a hosting environment for variousapplications and resources The VMs in the cloud computingenvironment share resources like processing cores system

bus and so forth The computing resources available foreach VM are constrained by total processing power In thismodel of environment the job arrival pattern is unpredictableand also the capabilities of each virtual machine vary fromone another Hence load balancing becomes a critical taskleading to a poor system performance and maintainingstabilityThus it becomes imperative to develop an algorithmwhich can improve the system performance by balancing thework load among virtual machines There are various loadbalancing algorithms available such as round robin weightedround robin dynamic load balancing Equally Spread Cur-rent Execution (ESCE) Algorithm First Come First ServeAnt Colony algorithm and Throttled algorithm The mostfrequently used scheduling techniques for a nonpreemptivesystem are first in first out (FIFO) and weighted round robin(WRR) [2] CloudSim-303 is the simulation environmentfor the cloud computing research works It supports bothsystem and behaviour modelling of cloud system compo-nents such as data centres hosts virtual machines (VMs)and resource provisioning policies It supports modelling

Hindawi Publishing Corporatione Scientific World JournalVolume 2016 Article ID 3896065 14 pageshttpdxdoiorg10115520163896065

2 The Scientific World Journal

and simulation of cloud computing environments consist-ing of both single and internetworked clouds (federationof clouds) It exposes custom interfaces for implementingscheduling and load balancing policies of jobs into VMsand provisioning techniques for allocation of VMs underinternetworked cloud computing scenarios It can leveragevirtualized services even on the fly based on requirements(workload patterns and QoS) varying with time In thepresent work the custom-built static dynamic schedulingand custom-built load balancing are implemented as animproved weighted round robin (IWRR) to achieve thehigher performance and utilization of VMs under varyingload patterns This intern produced the comparatively fasterresponse time to the clientrsquos request on the application jobs(1) Objective The Cloud computing has to assign the compu-tational tasks to the most suitable virtual machines from thedynamic pool of the VMs by considering the requirementsof each task and the load of the VMs The requests fromthe clients are directed to any of the data centers in thecloud Then again the same requests are directed by thedata center to the most suitable VMs based on the cloudmanagement policies depending on the load of the individualVMs The two most frequently used scheduling principles ina nonpreemptive system are round robin and the weightedround robin (WRR) policiesThe round robin policy does notconsider the resource capabilities priority and length of thetasks So the higher priority and lengthy tasks end upwith thehigher response times The weighted round robin considersthe resource capabilities of the VMs and assigns highernumber of tasks to the higher capacity VMs based on theweightage given to each of the VMs But it failed to considerthe length of the tasks to select the appropriate VM whereasthe proposed and implemented algorithm (improved WRRalgorithm) additionally considers the length and priority ofthe tasks in addition and selects the appropriate VM toexecute the tasks for the lower response times

The objective is to optimize the performance of virtualmachines using the combination of static and dynamic loadbalancing by identifying the length of the jobs resourcecapabilities interdependency of multiple tasks effectivelypredicting the underutilized VMs and avoiding the overloadon any of the VMsThis additional parameter of ldquojob lengthrdquoconsideration can help schedule the jobs into the right VMsat any moment and is able to deliver the response in a veryminimum execution time The effective scheduling on thisalgorithm will also minimize the overload on a VM andsubsequently it will also minimize the task migrations

The performance of the improved WRR algorithm wasanalyzed and evaluations of the algorithm with respect to theexisting round robin and weighted round robin algorithmwere carried out This work considers that the job containsmultiple tasks and the tasks have interdependency betweenthem A job can use multiple VMs for its various tasks tocomplete its entire processing instruction Also the task canuse the multiple processing elements of a single VM based onthe configuration and availability

(2) Organization of the Work The paper is organized asfollows Section 2 discusses related works Section 3 discusses

scheduling and load balancing with design and algorithmsSection 4 provides model for our design Section 5 providesexperimental results and performance analysis Section 6concludes our research work and points out future work

2 Related Works

Load balancing of nonpreemptive dependent tasks on vir-tual machines (VMs) is an important characteristic of taskscheduling in clouds Whenever certain VMs are overloadedthe load has to be shared with the under loaded VMsto achieve the optimal resource utilization for the leastcompletion time of tasks Moreover the overhead impact onidentifying the resource utilization and task migration hasto be considered in the load balancing algorithms Broadlythe VM uses two different task execution mechanisms likespace shared and time shared In space shared mechanismthe tasks will be executed one after the other It impliesthat only one task per CPUcore is executed in its CPUThe remaining tasks assigned to that VM should be in thewaiting queue As a result the task migration in the loadbalancing will be easier on this space shared mechanism byidentifying a task in the waiting queue of the overloaded VMand assigning it to the underloaded VM Nevertheless intime shared mechanism the tasks are executed concurrentlyin a time sliced manner which resembles the execution oftasks in parallel mode Here the task migration in the loadbalancing will be highly complicated due to the time slicedexecution of all the tasks So almost 90 of the time acertain percentage amount of instructions of the tasks willbe in the completed state on the time sliced mechanismThe decision of identifying the task to be migrated from thehigher loaded VM to lower loaded VM is very expensivedue to the loss of the previously completed portion in thehigher loaded VM and the jobrsquos earlier execution impacton the other jobs execution time in the higher loaded VMSo scheduling and load balancing algorithm should attainthe optimalminimal migration of tasks with equal loaddistribution between the resources based on its resourcecapability without any idle time of any of the resources atany point of time in the overall combined resource executiontime This methodprocess helps attain the optimalminimalexecution time in the cloud environment Algorithm shouldalso consider the unpredictable nature of job arrivals andits allocation to the suitable VMs by considering the jobswith multitasks and its interdependencies between themAlgorithm should be suitable for both homogenous andheterogeneous environments on varied job lengthsWith thisobjective in mind the literatures has been analyzed and theproposal of the algorithm has been reached

In [2] the Honey Bee Behavior inspired load balancingalgorithmwas proposed which aims to achieve well balancedload across VMs to maximize the throughput and to balancethe priorities of tasks on the VMs Hence the amount ofwaiting time of the tasks in the queue is minimal Usingthis algorithm average execution time and reduction inwaiting time of tasks on queuewere improvedThis algorithmworks for heterogeneous type of systems and for balancingnonpreemptive independent tasks

The Scientific World Journal 3

In [3] the importance and significance of performanceoptimization and power reduction in data centers for cloudcomputing and queuing model for a group of heteroge-neous multicore servers with different sizes and speedswere discussed In particular it addresses the problem ofoptimal power allocation and load distribution for multipleheterogeneous multicore server processors across clouds anddata centers Nevertheless it is only a feasibility study formodelling power

The elasticity of cloud infrastructures enables a suitableplatform for execution of deadline-constrained workflowapplications [4] To mitigate effects of performance variationof resources on soft deadlines of workflow applicationsan algorithm that uses idle time of provisioned resourcesand budget surplus to replicate tasks is proposed Thisreduces the total execution time of applications as thebudget available for replication increases Static job arrivalis also modelled whereas overhead involvement of duplicateexecutions and run time arrival of jobs is not taken intoaccount

ldquoSkewnessrdquo [1] is the metric to measure the unevennessof a server with multidimensional resource utilization Byminimizing skewness the different types of workloads havebeen combined to improve the overall utilization of serverresources The significant contributions of this work arethat they developed a resource allocation system that canavoid overload in the system effectively while minimizingthe number of servers used They designed a load predictionalgorithm that can capture the future resource usages ofapplications accurately without looking inside the VMs Thealgorithm can capture the rising trend of resource usagepatterns and help reduce the placement churn significantlyQoS parameters such as response time or completion time oftasks are not discussed

In [5] an enhanced scheduling in weighted roundrobin for the cloud infrastructure services was proposedwhich considers job length and resource capabilities Thistype of algorithm minimizes the response time of thejobs by optimally utilizing the participating VMs usingstatic and dynamic scheduling by identifying the lengthof the jobs and resource capabilities and effectively pre-dicting the underutilized VMs and avoiding the over-load on any of the VMs The multilevel interdependenttasks have been considered Load balancing in the heav-ily loaded scenarios for the task migrations has not beenconsidered

In [6ndash8] scheduling algorithm for dependent task ingrid was proposed Efficient mapping of the DAG basedapplication was proposed by [9 10] This algorithm isbased on the list scheduling approach A noncritical pathearliest-finish scheduling algorithm for heterogeneous com-puting was proposed by [11] This algorithm shows thata higher performance can be achieved by applying tothe heterogeneous computing environment Similar typeof problem was discussed in [12] Stochastic hill climbingapproach was used for load distribution in cloud comput-ing [13] in which the soft computing based approach hasbeen compared with round robin and First Come FirstServe

User

Job queue

Dependency task queue

Independent taskqueue

Interface

Task manager

Scheduler

Load balancerResource manager

Resources

Figure 1 Scheduling and load balancing design

A dynamic workflow scheduling technique for grid andcloud computing environment [14] minimizes the work-flow execution time and reduces the scheduling overheadScheduling of scientific workflows using genetic algorithmcalled Chaos Genetic algorithmwas discussed in [15] to solvethe scheduling problem considering both userrsquos budget anddeadline This algorithm produces better results within ashorter time Similar type of problems was discussed by [16ndash19]

In [20] job scheduling algorithm in cloud environ-ment was discussed by considering priority of jobs as amain QoS parameter Moreover this algorithm considersthree important issues like complexity consistency andmakespan Keeping the objective in mind literature hasbeen analyzed and the proposal of the algorithm has beenreached

3 Scheduling and Load Balancing

Figure 1 shows the scheduling and load balancing design inwhich the scheduler has the logic to find themost suitableVMand assign the tasks toVMs based on the proposed algorithmThe scheduler places the run time arrival jobs in the mostsuitable VMs based on the least utilized VM at that particularjob arrival time

Load Balancer decides the migration of task from aheavily loaded VM to an idle VM or least loaded VM at runtime whenever it finds an idle VM or least loaded VM byutilizing the resources current status information Resourcemonitor communicates with all the VMs resource prober

4 The Scientific World Journal

and collects the VM capabilities current load on each VMand number of jobs in executionwaiting queue in each VMThe task requirement is provided by the user which includesthe length of the tasks to be executed and transfers therequirements to the scheduler for its operative decisions

31 Scheduling and Load Balancing Design Job request isgiven by the user through the interface and passed to taskmanager for dependency and independent task analysisThismodule receives the job and verifies whether the job is acomplete independent task or contains multiple tasks If itcontains multiple tasks then it verifies the interdependencybetween the multiple tasks The dependency task queue andindependent task queue are found The dependent tasks willbe notified to the scheduler so that parent tasks are scheduledafter child tasks are executed Dependency task queue willcontain the tasks which depends on the other tasks presentin the VMs Once all the child tasks present in this queuecompleted its execution the parent task will be taken for theexecution by assigning it to the VM whereas independenttask queue contains independent tasks Independent taskqueue and dependency task are input to the scheduler Thescheduler selects the appropriate VM based on IWRR algo-rithmThis scheduler collects the resources information fromthe resource manager It calculates the processing capacity ofeach of the VMs and then it applies the proposed algorithmto find the appropriate VM for the given job Additionallyevery VM is maintaining the JobExecutionList JobPauseListand JobWaitingList information specific to it The JobExe-cutionList contains the current executing job list and theJobPausedList contains the temporarily paused jobs in theVM Similarly the JobWaitingList Queue contains the waitingjobs on the specific VM but this will be executed uponreceiving the JobExecutionList JobPauseList and JobWait-ingList from each of the VMs calculation of the least utilizedVM is carried out for every request arrival Then this leastutilized VM information will be returned to the schedulerResource manager communicates with all the VMs to collecteach of its capabilities by getting its number of the processingelements and its processing capacity to each of its elementsThis resource manager additionally calculates the weightageto each of the VMs based on the processing capacity allottedto it This also identifies the memory configured available ineach of the VMs Load balancer calculates the ratio betweenthe number of jobs running and the number of VMs If theratio is less than 1 then it communicates the schedulerto identify a VM for the job else it will calculate theload on each of the VMs using the job execution list ofthe VMs If the utilization is less than the 20 then theleast utilized VM will be allotted else the scheduler willbe communicated to identify the most suitable VM for thejob Once the appropriate VM has been identified the Jobwill be assigned to that VM The configured data centersinclude hosts and their VM with corresponding processingelements form the set of resources available for computingThe resources are probed for idleness and for heavy load sothat the job requests are effectively allocated to an appropriateresource

32 Computation of Load Imbalance Factor The sumof loadsof all virtual machines is defined as

119871 =

119896

sum

119894=1

119897119894 (1)

where 119894 represents the number of VMs in a data centerThe load per unit capacity is defined as

LPC = 119871sum119898

119894=1119888119894

Threshold 119879119894 = LPC lowast 119888119894(2)

where 119888119894 is the capacity of the nodeThe load imbalance factor of a particular virtual machine

is given by

If VM

lt

1003816100381610038161003816100381610038161003816100381610038161003816

119879119894 minus

119896

sum

V=1119871V

1003816100381610038161003816100381610038161003816100381610038161003816

Underloaded

gt

1003816100381610038161003816100381610038161003816100381610038161003816

119879119894 minus

119896

sum

V=1119871V

1003816100381610038161003816100381610038161003816100381610038161003816

Overloaded

=

1003816100381610038161003816100381610038161003816100381610038161003816

119879119894 minus

119896

sum

119894=1

119897119894

1003816100381610038161003816100381610038161003816100381610038161003816

Balanced

(3)

The migration of task from the overloaded VM to under-loaded VM can be allowed until the load on the overloadedVM drops below the threshold and the difference is 120583119894

A virtual machine is identified as underloaded where thesum of loads of all the VMs is below the threshold valueof that VM The underloaded VM accepts the load fromthe overloaded VM until the load on the VM exceeds thethreshold and the difference is 120582119895 as shown below

The transfer of load from the overloaded VM is carriedout until its load is less than the threshold The underloadedVM can accept load only up to its threshold thus avoidingit being overloadedThis implies that the amount of load thatcan be transferred from the underloadedVM should be in therange of 120583 and 120582

33 Algorithms The two most frequently used schedulingprinciples in a nonpreemptive system are round Robin andweighted round robin policies Improved weighted roundrobin is the proposed algorithm Existing algorithms areimplemented for comparative analysis

331 Round Robin Algorithm The round robin algorithmallocates task to the next VM in the queue irrespective of theload on that VMThe Round Robin policy does not considerthe resource capabilities priority and the length of the tasksSo the higher priority and the lengthy tasks end up with thehigher response times

332 Weighted Round Robin Algorithm Theweighted roundrobin considers the resource capabilities of the VMs andassigns higher number of tasks to the higher capacity VMsbased on the weightage given to each of the VMs But it failedto consider the length of the tasks to select the appropriateVM

The Scientific World Journal 5

333 Improved Weighted Round Robin Algorithm The pro-posed improved weighted round robin algorithm is the mostoptimal algorithmand it allocates the jobs to themost suitableVMs based on the VMrsquos information like its processingcapacity load on the VMs and length of the arrived taskswith its priority The static scheduling of this algorithm usesthe processing capacity of the VMs the number of incomingtasks and the length of each task to decide the allocation onthe appropriate VM

The dynamic scheduling (at run time) of this algorithmadditionally uses the load on each of the VMs along with theinformation mentioned above to decide the allocation of thetask to the appropriate VMThere is a probability at run timethat in some of the cases the task may take longer executiontime than the initial calculation due to the execution of morenumber of cycles (like a loop) on the same instructions basedon the complicated run time data

In such situations the load balancer rescues the schedul-ing controller and rearranges the jobs according to the idleslot available in the other unutilizedunderutilized VMs bymoving a waiting job from the heavily loaded VMs The loadbalancer identifies the unutilizedunderutilizedVMs throughresource prober whenever a task is completed in any of theVMs If there is no unutilized VM then the load balancerwill not take up any taskmigration among the VMs If it findsany unutilizedunderutilizedVM then it willmigrate the taskfrom the overloadedVM to the unutilizedunderutilizedVMThe load balancer analyses the resourcersquos (VM) load only onthe completion of any of the tasks on any of the VMs It neverexamines the resourcersquos (VM) load independently at any timeto circumvent the overhead on the VMs This will help inreducing the number of task migrations between the VMsand the number of resource probe executions in the VMs

34 Implementation Aspect of the Algorithm The systemimplementation consists of five major modules

(a) Static scheduler (initial placements)(b) Dynamic scheduler (run time placements)(c) Load balancer (decision on job migration at run

time)(d) Task interdependent scheduler(e) Resource monitor

The static scheduler has the function to find the mostsuitable VM and assign the tasks to VMs based on thealgorithms (simple round robin weighted round robin andimproved weighted round robin) applied in the schedulerThe dynamic scheduler has the function to place the runtime arrival jobs to the most suitable VMs based on theleast utilized VM at that particular job arrival time Loadbalancerscheduler controller decides the migration of taskfrom a heavily loaded VM to an idle VM or least loaded VMat run time whenever it finds an idle VM or least loadedVM by utilizing the resource monitor information Resourcemonitor communicates with all the VMs resource probersand collects the VM capabilities current load on each VMand number of jobs in executionwaiting queues in each

VM to decide the appropriate VMs to the jobs The taskrequirement estimator identifies the length of the tasks tobe executed and transfers the estimated results to the loadbalancer for its operative decisions

Figure 2 illustrates the system architecture in which thesystem consists of the data center broker and multiple datacentersThe data center can host any number of hosts and thisintern can host any number of VMs in each of the hosts basedon its capacity The data center broker has the importantcomponents to schedule and load-balance the jobs effectivelywhereas the algorithms of these components vary accordingto the round robin weighted round robin and the improvedweighted round robin load balancing

341 Dynamic Scheduler in IWRR Load Balancer Dynamicscheduling in IWRR load balancer is achieved by Initializa-tion mapping (scheduling) load balance and execution asexplained in Algorithm 1 Initialization is done by collectingthe pending MI execution time from each of the createdVMs and arranging it in ascending order of pending timefollowed by arranging the run time of the arrived tasks inqueue based on the priority Mapping (scheduling) involvesselection of task which is in top of the queue and calculationof its completion time in each VM Then task is assignedto the most appropriate VM based on completion andpending execution time Load balancing is done by addingthe corresponding tasks and execution time to the VMspending time Then rearrange the VM utilized list basedon the latest load which is followed by sending the task toVM processing queue and adding the task to the assignedlist When all cloudlets are assigned to VMs the tasks areexecuted in assigned VMs

342 Load Balancer in IWRR Load balancer initializes bycollecting the pending execution time from each of thecreated VMs then arranging it in ascending order to identifythe number of tasks in each VM and arrange it in increasingorder queue Mapping (scheduling) is done by getting a taskfrom VM with higher pending time and then identifies themost suitable VM to execute this task by calculating thecompletion time of this task in all the VMs and assigningthe selected task to the identified VM Finally load balancingis accomplished by rearranging the order based on the newexecution time in each VM (refer to Algorithm 2)

343 Task Dependency Queue in Multilevel InterdependentTasks Multilevel interdependency tasks are explained inFigure 3

4 Model

Let VM = (VM1VM2 VM119898) be the set ldquo119898rdquo of virtualmachines which should process ldquo119899rdquo tasks represented by theset 119879 = (1198791 1198792 119879119899) All the VMs are running in paralleland are unrelated and each VM runs on its own resourcesThere is no sharing of its own resources by other VMsWe schedule nonpreemptive dependent tasks to these VMs

6 The Scientific World Journal

Client

Data center brokerScheduling controller and load balancer Static scheduler Dynamic scheduler Resource prober

Multitask and task dependent scheduler

Data centre-1

Host-1

VM1 VM2

Host-2 Host-3 Host-4

VM3 VM4

Data centre-2

VM5 VM6 VM7 VM8

Figure 2 System architecture

Start

Identify the child tasks of the arrived tasks

If child tasks

Place the parent task into the dependent queue

Select a child task from the collection of childs to a parent and

run it in loop

Run the task by using thestaticdynamic scheduler

Update the parent task of completed status in dependency

queue

If parent task

End

Yes

No

No

size gt 0 size gt 0

Figure 3 Flow chart of multilevel interdependency tasks

The Scientific World Journal 7

(1) Identify the Pending Execution Time in each of the VMs by collecting the Pending Execution length from executing waiting amppaused list(a) Set pendingJobsTotLength = JobsRemainingLengthInExecList + JobsRemainingLengthInWaitList +

JobsRemainingLengthInPauseList(b) 119862V119898 is the processing capacity of the VM(c) Set pendingETime = pendingJobsTotLength119862V119898

(2) Arrange the VMs based on the least pending execution time to the highest pending execution time and group it in case twoVMs fall in the same pending length This Map should contain pending execution time as key and itrsquos associated VMs as a value(a) Sort the VMMap by the Pending Execution Time of each VM

(3) Re-arrange the incoming Jobs based on the length amp priority of the Jobs(a) Sort the JobSubmittedList based on length amp priority

(4) Initiate the vmIndex jobIndex variable amp totalJobs(a) Set vmIndex = 0(b) Set totalJobs = length of JobSubmittedList(c) Set totalVMsCount = size of VMMap(d) Set jobIndex = 0(e) Set jobToVMratio = totalJobstotalVMsCount

(5) Assign the incoming jobs to the VMs based on the least Pending Execution Time in the VMs amp its processing capacity(a) While (true)

Set job = JobSubmittedListget(jobIndex)Set jobLength = lengthOf(job)Set newCompletiontimeMap = EmptyMapFor startNumber from 0 by 1 to totalVMsCount do

Set vm = VMMapgetValue(startNumber)Set probableNewCompTime = jobLength119862V119898 + VMMapgetKey(startNumber)newCompletiontimeMapadd(probableNewCompTime vm)

SortByCompletionTime(newCompletiontimeMap)Set selectedVM = newCompletiontimeMapgetValue(0)selectedVMassign(job)For startNumber from 0 by 1 to totalVMsCount do

Set vm = VMMapgetValue(startNumber)If (vm equals selectedVM)

Set currentLength = VMMapgetKey(startNumber)Set newCurrentLength = currentLength + newCompletiontimeMapgetKey(0)VMMapremoveItem(startNumber)VMMapadd(newCurrentLength vm)

EndIf

sortByCompletionTime(VMMap)Increase the jobIndex by 1If (jobIndex equals totalJobs)

Break(b) End While

(6) Remove all the assigned Jobs from the JobSubmittedList

Algorithm 1 IWRR dynamic scheduler

in which ldquo119899rdquo tasks assigned to ldquo119898rdquo VMs are represented as anLP model from (4) to (5)

Processing Time Let PT119894119895 be the processing time of assigningtask ldquo119894rdquo to VM ldquo119895rdquo and define

119909119894119895 =

1 if task ldquo119894rdquo is assigned

0 otherwise(4)

Then the linear programming model is given as

Minimize 119885 =119899

sum

119894=1

119898

sum

119895=1

PT119894119895119909119894119895

Subject to119899

sum

119894=1

119909119894119895 = 1 119895 = 1 2 119898

119909119894119895 = 0 or 1

(5)

Resource Utilization Maximizing the resource utilizationis another important objective which is derived from (6)

8 The Scientific World Journal

(1) Identify the number of executingpending tasks in each VM and arrange it in increasing order on a Queue(a) Set numTaskInQueue = Number of ExecutingWaiting Tasks in each VM and arrange it in increasing order

(2) If the number of tasks in the first item of the queue is greater than or equal to ldquo1rdquo then terminate the Load Balancing logicexecution else proceed to the 3rd step(a) If (numTaskInQueuefirst() ge1) then

Return(3) If the number of tasks in the last item of the queue is less than or equal to ldquo1rdquo then terminate the Load Balancing logic

execution else proceed to the 4th step(a) If (numTaskInQueuelast()le1) then

Return(4) Identify the Pending Execution Time in each of the VMs by adding the Pending Execution length from executing

waiting amp paused list and then divided the value by the processing capacity of the VM(a) Set pendingJobsTotLength = JobsRemainingLengthInExecList + JobsRemainingLengthInWaitList +

JobsRemainingLengthInPauseList(b) Set pendingExecutionTime = pendingJobsTotLength119862V119898

(5) Arrange the VMs based on the least pending time to the highest pending time and group it in case two VMs fallin the same pending time(a) Sort the VMMap by the Pending Execution time of each VM

(6) Remove a task from the higher pending time VM which contains more than one task and assign this task to the lowerpending time VM which has no task to process(a) While (true)

Set OverLoadedVM = VMMapget(VMMapsize())Set LowLoadedVM = VMMapget(0)Varlowerposition = 1Varupperposition = 1

(b) While(true)If (OverLoadedVMtaskSize() gt 1 ampampLowLoadedVMtaskSize() lt 1)

BreakElse if (OverLoadedVMtaskSize() gt 1)

LowLoadedVM = VMMapget(lowerposition)Lowerposition++

Else if (LowLoadedVMtaskSize() lt 1)OverLoadedVM = VMMapget(VMMapsize() - upperposition)Upperposition++

ElseBreak The Outer While Loop

(c) End WhileSet migratableTask = OverLoadedVMgetMigratableTask()LowLoadedVMassign(migratableTask)Break

(d) End While(7) Re execute from the step 1(8) Then the steps 2 and 3 will decide the load balancing further(9) This load balancing will be called after every task completion irrespective of any VMs

Algorithm 2 IWRR load balancer

and (7) Achieving high resource utilization becomes achallenge Now average utilization is defined as [21]

Average utilization =sum119895isinVMs 119862119879119895

Makespan lowastNumber of VMs (6)

where makespan can be expressed as

Makespan = max119862119879119895

119895 isin VMs (7)

Capacity of a VM Consider

119862VM = penum lowast pemips (8)

where 119862VM is the capacity of the VM (see (8)) penum is thenumber of processing elements in the VM and pemips is themillion instructions per second of a PE

Capacity of All the VMs Consider

119862 =

119898

sum

119895=1

119862VM119895 (9)

where 119862 is the summation of capacities of all VMs thecapacity allotted to the applicationenvironment (refer to(9))

The Scientific World Journal 9

Task Length Consider

TL = 119879mips lowast 119879pe (10)

Job Length Consider

JL =119901

sum

119896=1

TL119894 (11)

where ldquo119901rdquo is the number of interdependent tasks for the job

Task Load Ratio Task load ratio is calculated in (12) and (13)to identify and allocate the tasks to virtual machines It isdefined as

TLR119894119895 =TL119894119862VM119895

119894 = 1 2 119899 tasks 119895 = 1 2 119898 Virtual machines

(12)

where TL119894 is the task length which is estimated at thebeginning of the execution and119862VM is the capacity of theVMConsider

If TLR119894119895 =

0 assign the task to VM

Otherwise Do not assign(13)

5 Experiment Results andPerformance Analysis

The performance of the IWRR algorithm has been analyzedbased on the results of simulation done in the CloudSimThe classes of the CloudSim simulator have been extended(overridden) to utilize the newly written algorithm In thefollowing illustrations the response time number of jobmigrations cumulative idle time of all tasks and the num-ber of delayed tasks are analyzed in the RR WRR andIWRR algorithms under the combination of heterogeneousand homogenous job lengths with heterogeneous resourceconditions Configuration details are given in Table 1

51 Homogeneous Tasks on Heterogeneous Resources (VMs)

511 Comparison of Overall Execution Time

Analysis The following is the order of highest to lowestperformance of the algorithms in the provided homogenousjobs on heterogeneous environment

(a) improved weighted round robin with job length (b)weighted round robin and (c) round robin

Figures 4 and 5 proved that the IWRR by job lengthdelivers a faster completion time than the other 2 loadbalancing algorithms (RR and WRR) in the heterogeneousresources (VMs) and homogenous jobs The IWRRrsquos staticscheduler algorithm considers the job length along withprocessing capacity of the heterogeneous VMs to assign thejob So more number of jobs gets assigned to the highercapacity VMs in the homogenous jobs on heterogeneousenvironments This helps complete the job in a shorter time

Task overall completion time

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

times104

0

5

10

15

20

Com

plet

ion

time (

s)

Figure 4 Execution completion time (space shared)

Task overall completion time

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

times104

0

5

10

15

20

Com

plet

ion

time (

s)

Figure 5 Execution completion time (time shared)

The dynamic scheduler considers the load of all its configuredVMs and its tentative completion time of the current loadhas been identifiedThen the scheduler calculates the arrivedjobrsquos estimated completion time in each of the configuredVMs and adds this calculated timing with the existing loadrsquoscompletion time on each VM Now the least possible com-pletion time has been identified from the above calculationsfor this particular job in one of the VMs and then the job hasbeen assigned to this VM So this algorithm is most suitableto the heterogeneous environment data centers

The load balancer in the IWRRwith job length runs at theend of each taskrsquos completion If the load balancer finds any ofthe VMs completes all its assigned tasks then it will identifythe highly loaded VM from the group and it calculates thepossible completion time of those jobs present in the highlyloaded VM and the least loadedidle VM If the least loadedVM can finish any of the jobs present in the highly loadedVM in the shortest possible time then that job will be movedto the least loaded VM

The WRR considers the ratio of the VM capacity to thetotal VM capacity and it assigns the proportionate number ofarrived jobs into the VM So it performs in the next level Butif any lengthy jobs are assigned to the low capacity VMs basedon the above calculation then this will delay the executioncompletion time

The simple RR has not considered any variables about theenvironment VM capabilities and the job lengths It simply

10 The Scientific World Journal

Table 1 Cloud setup configuration details

Sl number Entity Quantity Purpose

1 Data center 1 Data center having the physical hosts inthe test environment

2 Number of hosts in DC

500 hosts (200Nos-4-CoreHyperThreadedOpteron270200 Nos-4-CoreHyperThreadedOpteron2218 and 100 Nos8-Core HyperThreaded XeonE5430)

Number of physical hosts used in theexperiment

3 Number of processelements 8816

Number of executing elements in each ofthe hosts The host has 8 or 16 processingelements

4 PE processing capacity 174247355MIPS Each host has any one of the processingcapacities

5 Host ram capacity 1632GB Each host has any of these RAMmemories

6 Number of VM 10 to 100 with an increment of 10 Number of virtual machines used in theexperiment

7 Number of PE to VM 1 Processing element allotted in each VM

8 VMrsquos PE processingcapacity 1503009012093112105225 Virtual machinersquos processing capacity

9 VM RAM capacity 1920MB The RAMrsquos memory capacity of the VM

10 VMmanager XenThe operating system runs on thephysical machine to manage the VMs Itprovides the virtualization

11 Number of PE in Tasks 1 The jobtaskrsquos maximum usableprocessing element

12 Task lengthinstructions 500000 to 200000000

Tasks length in million instructions Theheterogeneous job length test having thevariations from the mentioned minimumto maximum

assigns the jobs to theVM lists one after another in an orderedmanner So its completion time of the jobs is higher than theother 2 algorithms

512 Comparison of Task Migration The task migrations arevery minimal in the IWRR algorithm due to extensive staticand dynamic scheduler algorithm in identifying the mostappropriate VM to each of the jobs which is illustrated inFigures 6 and 7 So the load balancer has been unable tofind the further optimization to complete the task in theshortest time But in the case of WRR and RR algorithmsthe static and dynamic scheduler has not considered the joblengths Instead it considers only the resource capabilitiesand the arrived job list So the load balancer has been ableto find the further optimization at run time and it shifts thejobs from higher loaded VM to the underutilized VMs Thisintern produces the higher task migrations in the weightedround robin and round robin algorithmsThe number of taskmigrations in the lower number of resources is high in theWRR and RR algorithms

513 Comparison of Delayed Tasks and Combined Idle Timeof All Tasks (Space Shared) The number of delayed tasksand the combined idle time of all tasks are higher in

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of task migrations

0

5

10

15

Num

ber o

f tas

k m

igra

tions

Figure 6 Number of task migrations (space shared)

the IWRR than the other two algorithms which is analyzedfrom Figures 8 and 9 This increase happened due to theallocation of more tasks in the higher capacity VMs At anypoint of time only one job can run in the space sparedCPUPE even if it has a higher capacity PE So if anotherjob got allocated to the same VM due to its higher processingcapacity then that job has to be in waiting state until therunning job gets completed This increases the number of

The Scientific World Journal 11

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of task migrations

02468

1012

Num

ber o

f tas

k m

igra

tions

Figure 7 Number of task migrations (time shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of delayed tasks

0

50

100

150

Del

ayed

task

s

Figure 8 Number of delayed tasks (space shared)

delayed tasks and the combined idle time in the IWRRalgorithm But in the other two algorithms the jobs getassigned to even the lower capacity VMs without accuratelypredicting the possible completion time in various VMs Sothe number of delayed tasks and combined idle time of alltasks are lower in RR and WRR

514 Comparison of Million Instructions Reexecuteddue to Task Migration

Analysis The job migrations from one VM to another VMlead to the jobrsquos execution termination in one of the VMsOtherwise the current state of the execution has to be copiedover to another VM to proceed from the left out locationin the previous allotted VM In this work the current stateof the job at the time of job migration will be lost So thejob will be reexecuted from the start of its instructions inthe migrated VM This kind of execution wastage comes inthe time shared CPU rather than the space shared CPU Theinstruction reexecution will be higher in the RR and WRRalgorithms due to the higher number of task migrations inRR and WRR (refer to Figure 10)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Combined idle time of all tasks times104

0

100

200

300

400

Idle

tim

e (s)

Figure 9 Idle time of all tasks (space shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Million instructions reexecuted by task migrationtimes10

4

0

500

1000

1500

2000

Instr

uctio

ns re

exec

uted

Figure 10 Million instructions reexecuted (time shared)

52 Heterogeneous Tasks on Heterogeneous Resources (VMs)

521 Comparison of Overall Execution Time

Analysis The following is the order of highest to lowest per-formance of the algorithms in the provided heterogeneousenvironment

(a) improved weighted round robin with job length (b)weighted round robin (c) round robin

Figures 11 and 12 proved that the improved weightedround robin by job length delivers a faster completion timethan the other two load balancing algorithms (RR andWRR)in the heterogeneous resources (VMs) and heterogeneousjobsThe IWRRrsquos static scheduler algorithm considers the joblength along with processing capacity of the heterogeneousVMs to assign the job So the lengthy jobs get assigned tothe higher capacity VMs in the heterogeneous environmentsThis helps complete the job in a shorter time The dynamicscheduler considers the load of all its configured VMs and itstentative completion time of the current load has been identi-fiedThen the scheduler calculates the arrived jobrsquos estimatedcompletion time in each of the configured VMs and adds thiscalculated timing with the existing loadrsquos completion time oneach VM Now the least possible completion time has beenidentified from the above calculations for this particular jobin one of the VMs and then the job has been assigned to thisVM So this algorithm is most suitable to the heterogeneousenvironment data centers

12 The Scientific World Journal

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Task overall completion time times104

0

5

10

15

Com

plet

ion

time (

s)

Figure 11 Execution completion time (space shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Task overall completion time times104

0

5

10

15

20

Com

plet

ion

time (

s)

Figure 12 Execution completion time (time shared)

The load balancer in the IWRRwith job length runs at theend of each taskrsquos completion If the load balancer finds any ofthe VMs completes all its assigned tasks then it will identifythe highly loaded VM from the group and it calculates thepossible completion time of those jobs present in the highlyloaded VM and the least loadedidle VM If the least loadedVM can finish any of the jobs present in the highly loadedVM in the shortest possible time then that job will be movedto the least loaded VM The WRR considers the ratio ofthe VM capacity to the total VM capacity and it assigns theproportionate number of arrived jobs into the VM So itperforms in the next level But if any lengthy jobs are assignedto the low capacity VMs based on the above calculation thenthis will delay the execution completion time The simple RRhas not considered any variables about the environment VMcapabilities and the job lengths It simply assigns the jobsto the VM lists one after another in an ordered manner Soits completion time of the jobs is higher than the other twoalgorithms

522 Comparison of Task Migration

Analysis The task migrations are very minimal in the IWRRalgorithm due to extensive static and dynamic scheduleralgorithm in identifying the most appropriate VM to each ofthe jobs which is derived from Figures 13 and 14 So the loadbalancer has been unable to find the further optimizationto complete the task in the shortest time But in the case of

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of task migrations

0

5

10

15

20

Num

ber o

f tas

k m

igra

tions

Figure 13 Number of task migrations (space shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of task migrations

0

2

4

6

8

Num

ber o

f tas

k m

igra

tions

Figure 14 Number of task migrations (time shared)

WRR and RR algorithms the static and dynamic schedulerhas not considered the job lengths Instead it considers onlythe resource capabilities and the arrived job list So the loadbalancer has been able to find the further optimization atrun time and it shifts the jobs from higher loaded VM tothe underutilized VMs This intern produces the higher taskmigrations in the WRR and RR algorithms Additionallythese numbers of task migrations are high in the lowernumber of resources in the WRR and RR algorithms

523 Comparison of Delayed Tasks and Combined IdleTime of All Tasks

Analysis Figures 15 and 16 explain that the number of delayedtasks and the combined idle time of all tasks are higher in theIWRR than the other two algorithmsThis increase happeneddue to the allocation of more tasks in the higher capacityVMs At any point of time only one job can run in thespace spared CPUPE even if it has a higher capacity PESo if another job got allocated to the same VM due to itshigher processing capacity then that job has to be in waitingstate until the running job gets completed This increases thenumber of delayed tasks and the combined idle time in theIWRRalgorithm But in the other two algorithms the jobs getassigned even to the lower capacity VMs without accuratelypredicting the possible completion time in various VMs

The Scientific World Journal 13

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of delayed tasks

020406080

100120

Del

ayed

task

s

Figure 15 Number of delayed tasks (space shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Combined idle time of all tasks times10

4

0

100

200

300

400

Idle

tim

e (s)

Figure 16 Idle time of all tasks (space shared)

So the number of delayed tasks and combined idle time ofall tasks are lower in RR and WRR

524 Comparison of Million Instructions Reexecuteddue to Task Migration

Analysis The job migrations from one VM to another VMlead to the jobrsquos execution termination in one of the VMsOtherwise the current state of the execution has to be copiedover to another VM to proceed from the left out location inthe previous allotted VM In this project the current state ofthe job at the time of jobmigrationwill be lost So the jobwillbe reexecuted from the start of its instructions in themigratedVMThis kind of execution wastage comes in the time sharedCPUThe instruction reexecutionwill be higher in theRR andWRR algorithms due to the higher number of taskmigrationsin RR and WRR which is shown in Figure 17

6 Conclusion and Future Enhancements

In this work the improved weighted round robin algorithmconsiders the capabilities of each VM and the task length ofeach requested job to assign the jobs into the most appro-priate VMsThis improved weighted round robin algorithmsare having three different stages to handle the three differentscenarios in the environment life cycle The static scheduleralgorithm pays attention to the initial placement of the jobs

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Million instructions reexecuted by task migration

0

500

1000

1500

Instr

uctio

ns re

exec

uted times10

4

Figure 17 Million instructions reexecuted (time shared)

which distributes the job requests to the participating VMsevenly based on the VMrsquos capabilities and the length of therequested job The dynamic scheduler considers the load ofall its configured VMs and its tentative completion time ofthe current load has been identified along with the arrivedjobrsquos estimated completion time in each of the configuredVMs After this the least possible completion time has beenidentified from the above calculations for this particular jobin one of the VMs and then the job has been assigned to thisVMThe load balancer in the improvedweighted round robinruns at the end of each taskrsquos completion This always makesthe loads evenly distributed across all the VMs at the end ofeach taskrsquos completion and thus eliminates any idle time inthe participating resources (VMs)

The performance analysis and experiment results of thisalgorithm proved that the improved weighted round robinalgorithm ismost suitable to the heterogeneoushomogenousjobs with heterogeneous resources (VMs) compared to theother round robin and weighted round robin algorithmsThis algorithm considers the response time as the main QoSparameter

As part of the future enhancements we can considermul-tiple PEs in the participating heterogeneous VMs along withthe heterogeneous multiple PEs capable jobs with distributedcomputing capabilities in the improvedweighted round robinalgorithm Additionally the load balancing can also considertransferring the state of jobs between the VMs in the jobmigrations These above considerations can help in furtherreducing the job completion time in all the algorithms

This work had considered the overall completion time ofall the participating jobs in different algorithms Instead inthe future enhancements the completion time of each job canbe compared in the different scheduling and load balancingalgorithms The algorithms can be fine-tuned further toachieve the better consistent results on all the differentperspectives Similarly the comparison results should betaken for the different job arrival patterns on all the threedifferent scheduling and load balancing algorithms

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

14 The Scientific World Journal

Acknowledgments

The authors would like to thank Dr S Jayaprakash formerprofessor IIT Madras and Mr R Bhaskar for their continu-ous support towards the successful outcome of this work

References

[1] Z Xiao W Song and Q Chen ldquoDynamic resource allocationusing virtual machines for cloud computing environmentrdquoIEEE Transactions on Parallel and Distributed Systems vol 24no 6 pp 1107ndash1117 2013

[2] L D Dhinesh Babu and P Venkata Krishna ldquoHoney bee behav-ior inspired load balancing of tasks in cloud computing envi-ronmentsrdquo Applied Soft Computing Journal vol 13 no 5 pp2292ndash2303 2013

[3] J Cao K Li and I Stojmenovic ldquoOptimal power allocation andload distribution for multiple heterogeneous multicore serverprocessors across clouds and data centersrdquo IEEE Transactionson Computers vol 63 no 1 pp 45ndash58 2014

[4] R N Calheiros and R Buyya ldquoMeeting deadlines of scientificworkflows in public clouds with tasks replicationrdquo IEEE Trans-actions on Parallel and Distributed Systems vol 25 no 7 pp1787ndash1796 2014

[5] R Basker V Rhymend Uthariaraj and D Chitra Devi ldquoAnenhanced scheduling in weighted round robin for the cloudinfrastructure servicesrdquo International Journal of Recent Advancein Engineering amp Technology vol 2 no 3 pp 81ndash86 2014

[6] Z Yu F Menng and H Chen ldquoAn efficient list schedulingalgorithm of dependent task in gridrdquo in Proceedings of the3rd IEEE International Conference on Computer Science andInformation Technology (ICCSIT rsquo10) IEEE Chengdu ChinaJuly 2010

[7] H M Fard and H Deldari ldquoAn economic approach forscheduling dependent tasks in grid computingrdquo in Proceedingsof the 11th IEEE International Conference on ComputationalScience and Engineering (CSEWorkshops rsquo08) pp 71ndash76 IEEESan Paulo Brazil July 2008

[8] W Kadri B Yagoubi and M Meddeber ldquoEfficient dependenttasks assignment algorithm for grid computing environmentrdquoin Proceedings of the 2nd International Symposium onModellingand Implementation of Complex Systems (MISC rsquo12) Constan-tine Algeria May 2012

[9] S Ijaz E U Munir W Anwar andW Nasir ldquoEfficient schedul-ing strategy for task graphs in heterogeneous computing envi-ronmentrdquo The International Arab Journal of Information Tech-nology vol 10 no 5 2013

[10] Y Xu K Li LHe andT K Truong ldquoADAG scheduling schemeon heterogeneous computing systems using double molecularstructure-based chemical reaction optimizationrdquo Journal ofParallel andDistributed Computing vol 73 no 9 pp 1306ndash13222013

[11] L-T Lee C-W Chen H-Y Chang C-C Tang and K-CPan ldquoA non-critical path earliest-finish algorithm for inter-dependent tasks in heterogeneous computing environmentsrdquo inProceedings of the 11th IEEE International Conference on HighPerformance Computing and Communications (HPCC rsquo09) pp603ndash608 Seoul Republic of Korea June 2009

[12] B Xu C Zhao E Hu and B Hu ldquoJob scheduling algorithmbased on Berger model in cloud environmentrdquo Advances inEngineering Software vol 42 no 7 pp 419ndash425 2011

[13] B Mondal K Dasgupta and P Dutta ldquoLoad balancing in cloudcomputing using stochastic hill climbing-a soft computingapproachrdquo Procedia Technology vol 4 pp 783ndash789 2012

[14] M Rahman R Hassan R Ranjan and R Buyya ldquoAdaptiveworkflow scheduling for dynamic grid and cloud computingenvironmentrdquo Concurrency and Computation Practice andExperience vol 25 no 13 pp 1816ndash1842 2013

[15] G Gharooni-fard F Moein-darbari H Deldari and A Mor-varidi ldquoScheduling of scientific workflows using a chaos-genetic algorithmrdquo Procedia Computer Science vol 1 no 1 pp1445ndash1454 2010 International Conference on ComputationalScience ICCS 2010

[16] C Lin and S Lu ldquoScheduling scientific workflows elastically forcloud computingrdquo in Proceedings of the IEEE 4th InternationalConference on Cloud Computing Washington DC USA July2011

[17] Vijindra and S Shenai ldquoSurvey on scheduling issues in cloudcomputingrdquo Procedia Engineering vol 38 pp 2881ndash2888 2012Proceedings of the International Conference on ModellingOptimization and Computing

[18] M Xu L Cui H Wang and Y Bi ldquoA multiple QoS constrainedscheduling strategy of multiple workflows for cloud comput-ingrdquo in Proceedings of the IEEE International Symposium onParallel and Distributed Processing with Applications (ISPA rsquo09)pp 629ndash634 IEEE Chengdu China August 2009

[19] C Lin S Lu X Fei et al ldquoA reference architecture for scientificworkflow management systems and the VIEW SOA solutionrdquoIEEE Transactions on Services Computing vol 2 no 1 pp 79ndash92 2009

[20] S Ghanbari and M Othman ldquoA priority based job schedulingalgorithm in cloud computingrdquo in Proceedings of the Inter-national Conference on Advances Science and ContemporaryEngineering pp 778ndash785 October 2012

[21] F Xhafa and A Abraham Mata-Heuristics for Grid SchedulingProblems Springer Berlin Germany 2008

Submit your manuscripts athttpwwwhindawicom

Computer Games Technology

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Distributed Sensor Networks

International Journal of

Advances in

FuzzySystems

Hindawi Publishing Corporationhttpwwwhindawicom

Volume 2014

International Journal of

ReconfigurableComputing

Hindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Applied Computational Intelligence and Soft Computing

thinspAdvancesthinspinthinsp

Artificial Intelligence

HindawithinspPublishingthinspCorporationhttpwwwhindawicom Volumethinsp2014

Advances inSoftware EngineeringHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Journal of

Computer Networks and Communications

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation

httpwwwhindawicom Volume 2014

Advances in

Multimedia

International Journal of

Biomedical Imaging

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

ArtificialNeural Systems

Advances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Computational Intelligence and Neuroscience

Industrial EngineeringJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Human-ComputerInteraction

Advances in

Computer EngineeringAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Page 2: Research Article Load Balancing in Cloud …downloads.hindawi.com/journals/tswj/2016/3896065.pdf1. Introduction Cloud computing is a computing paradigm for managing and delivering

2 The Scientific World Journal

and simulation of cloud computing environments consist-ing of both single and internetworked clouds (federationof clouds) It exposes custom interfaces for implementingscheduling and load balancing policies of jobs into VMsand provisioning techniques for allocation of VMs underinternetworked cloud computing scenarios It can leveragevirtualized services even on the fly based on requirements(workload patterns and QoS) varying with time In thepresent work the custom-built static dynamic schedulingand custom-built load balancing are implemented as animproved weighted round robin (IWRR) to achieve thehigher performance and utilization of VMs under varyingload patterns This intern produced the comparatively fasterresponse time to the clientrsquos request on the application jobs(1) Objective The Cloud computing has to assign the compu-tational tasks to the most suitable virtual machines from thedynamic pool of the VMs by considering the requirementsof each task and the load of the VMs The requests fromthe clients are directed to any of the data centers in thecloud Then again the same requests are directed by thedata center to the most suitable VMs based on the cloudmanagement policies depending on the load of the individualVMs The two most frequently used scheduling principles ina nonpreemptive system are round robin and the weightedround robin (WRR) policiesThe round robin policy does notconsider the resource capabilities priority and length of thetasks So the higher priority and lengthy tasks end upwith thehigher response times The weighted round robin considersthe resource capabilities of the VMs and assigns highernumber of tasks to the higher capacity VMs based on theweightage given to each of the VMs But it failed to considerthe length of the tasks to select the appropriate VM whereasthe proposed and implemented algorithm (improved WRRalgorithm) additionally considers the length and priority ofthe tasks in addition and selects the appropriate VM toexecute the tasks for the lower response times

The objective is to optimize the performance of virtualmachines using the combination of static and dynamic loadbalancing by identifying the length of the jobs resourcecapabilities interdependency of multiple tasks effectivelypredicting the underutilized VMs and avoiding the overloadon any of the VMsThis additional parameter of ldquojob lengthrdquoconsideration can help schedule the jobs into the right VMsat any moment and is able to deliver the response in a veryminimum execution time The effective scheduling on thisalgorithm will also minimize the overload on a VM andsubsequently it will also minimize the task migrations

The performance of the improved WRR algorithm wasanalyzed and evaluations of the algorithm with respect to theexisting round robin and weighted round robin algorithmwere carried out This work considers that the job containsmultiple tasks and the tasks have interdependency betweenthem A job can use multiple VMs for its various tasks tocomplete its entire processing instruction Also the task canuse the multiple processing elements of a single VM based onthe configuration and availability

(2) Organization of the Work The paper is organized asfollows Section 2 discusses related works Section 3 discusses

scheduling and load balancing with design and algorithmsSection 4 provides model for our design Section 5 providesexperimental results and performance analysis Section 6concludes our research work and points out future work

2 Related Works

Load balancing of nonpreemptive dependent tasks on vir-tual machines (VMs) is an important characteristic of taskscheduling in clouds Whenever certain VMs are overloadedthe load has to be shared with the under loaded VMsto achieve the optimal resource utilization for the leastcompletion time of tasks Moreover the overhead impact onidentifying the resource utilization and task migration hasto be considered in the load balancing algorithms Broadlythe VM uses two different task execution mechanisms likespace shared and time shared In space shared mechanismthe tasks will be executed one after the other It impliesthat only one task per CPUcore is executed in its CPUThe remaining tasks assigned to that VM should be in thewaiting queue As a result the task migration in the loadbalancing will be easier on this space shared mechanism byidentifying a task in the waiting queue of the overloaded VMand assigning it to the underloaded VM Nevertheless intime shared mechanism the tasks are executed concurrentlyin a time sliced manner which resembles the execution oftasks in parallel mode Here the task migration in the loadbalancing will be highly complicated due to the time slicedexecution of all the tasks So almost 90 of the time acertain percentage amount of instructions of the tasks willbe in the completed state on the time sliced mechanismThe decision of identifying the task to be migrated from thehigher loaded VM to lower loaded VM is very expensivedue to the loss of the previously completed portion in thehigher loaded VM and the jobrsquos earlier execution impacton the other jobs execution time in the higher loaded VMSo scheduling and load balancing algorithm should attainthe optimalminimal migration of tasks with equal loaddistribution between the resources based on its resourcecapability without any idle time of any of the resources atany point of time in the overall combined resource executiontime This methodprocess helps attain the optimalminimalexecution time in the cloud environment Algorithm shouldalso consider the unpredictable nature of job arrivals andits allocation to the suitable VMs by considering the jobswith multitasks and its interdependencies between themAlgorithm should be suitable for both homogenous andheterogeneous environments on varied job lengthsWith thisobjective in mind the literatures has been analyzed and theproposal of the algorithm has been reached

In [2] the Honey Bee Behavior inspired load balancingalgorithmwas proposed which aims to achieve well balancedload across VMs to maximize the throughput and to balancethe priorities of tasks on the VMs Hence the amount ofwaiting time of the tasks in the queue is minimal Usingthis algorithm average execution time and reduction inwaiting time of tasks on queuewere improvedThis algorithmworks for heterogeneous type of systems and for balancingnonpreemptive independent tasks

The Scientific World Journal 3

In [3] the importance and significance of performanceoptimization and power reduction in data centers for cloudcomputing and queuing model for a group of heteroge-neous multicore servers with different sizes and speedswere discussed In particular it addresses the problem ofoptimal power allocation and load distribution for multipleheterogeneous multicore server processors across clouds anddata centers Nevertheless it is only a feasibility study formodelling power

The elasticity of cloud infrastructures enables a suitableplatform for execution of deadline-constrained workflowapplications [4] To mitigate effects of performance variationof resources on soft deadlines of workflow applicationsan algorithm that uses idle time of provisioned resourcesand budget surplus to replicate tasks is proposed Thisreduces the total execution time of applications as thebudget available for replication increases Static job arrivalis also modelled whereas overhead involvement of duplicateexecutions and run time arrival of jobs is not taken intoaccount

ldquoSkewnessrdquo [1] is the metric to measure the unevennessof a server with multidimensional resource utilization Byminimizing skewness the different types of workloads havebeen combined to improve the overall utilization of serverresources The significant contributions of this work arethat they developed a resource allocation system that canavoid overload in the system effectively while minimizingthe number of servers used They designed a load predictionalgorithm that can capture the future resource usages ofapplications accurately without looking inside the VMs Thealgorithm can capture the rising trend of resource usagepatterns and help reduce the placement churn significantlyQoS parameters such as response time or completion time oftasks are not discussed

In [5] an enhanced scheduling in weighted roundrobin for the cloud infrastructure services was proposedwhich considers job length and resource capabilities Thistype of algorithm minimizes the response time of thejobs by optimally utilizing the participating VMs usingstatic and dynamic scheduling by identifying the lengthof the jobs and resource capabilities and effectively pre-dicting the underutilized VMs and avoiding the over-load on any of the VMs The multilevel interdependenttasks have been considered Load balancing in the heav-ily loaded scenarios for the task migrations has not beenconsidered

In [6ndash8] scheduling algorithm for dependent task ingrid was proposed Efficient mapping of the DAG basedapplication was proposed by [9 10] This algorithm isbased on the list scheduling approach A noncritical pathearliest-finish scheduling algorithm for heterogeneous com-puting was proposed by [11] This algorithm shows thata higher performance can be achieved by applying tothe heterogeneous computing environment Similar typeof problem was discussed in [12] Stochastic hill climbingapproach was used for load distribution in cloud comput-ing [13] in which the soft computing based approach hasbeen compared with round robin and First Come FirstServe

User

Job queue

Dependency task queue

Independent taskqueue

Interface

Task manager

Scheduler

Load balancerResource manager

Resources

Figure 1 Scheduling and load balancing design

A dynamic workflow scheduling technique for grid andcloud computing environment [14] minimizes the work-flow execution time and reduces the scheduling overheadScheduling of scientific workflows using genetic algorithmcalled Chaos Genetic algorithmwas discussed in [15] to solvethe scheduling problem considering both userrsquos budget anddeadline This algorithm produces better results within ashorter time Similar type of problems was discussed by [16ndash19]

In [20] job scheduling algorithm in cloud environ-ment was discussed by considering priority of jobs as amain QoS parameter Moreover this algorithm considersthree important issues like complexity consistency andmakespan Keeping the objective in mind literature hasbeen analyzed and the proposal of the algorithm has beenreached

3 Scheduling and Load Balancing

Figure 1 shows the scheduling and load balancing design inwhich the scheduler has the logic to find themost suitableVMand assign the tasks toVMs based on the proposed algorithmThe scheduler places the run time arrival jobs in the mostsuitable VMs based on the least utilized VM at that particularjob arrival time

Load Balancer decides the migration of task from aheavily loaded VM to an idle VM or least loaded VM at runtime whenever it finds an idle VM or least loaded VM byutilizing the resources current status information Resourcemonitor communicates with all the VMs resource prober

4 The Scientific World Journal

and collects the VM capabilities current load on each VMand number of jobs in executionwaiting queue in each VMThe task requirement is provided by the user which includesthe length of the tasks to be executed and transfers therequirements to the scheduler for its operative decisions

31 Scheduling and Load Balancing Design Job request isgiven by the user through the interface and passed to taskmanager for dependency and independent task analysisThismodule receives the job and verifies whether the job is acomplete independent task or contains multiple tasks If itcontains multiple tasks then it verifies the interdependencybetween the multiple tasks The dependency task queue andindependent task queue are found The dependent tasks willbe notified to the scheduler so that parent tasks are scheduledafter child tasks are executed Dependency task queue willcontain the tasks which depends on the other tasks presentin the VMs Once all the child tasks present in this queuecompleted its execution the parent task will be taken for theexecution by assigning it to the VM whereas independenttask queue contains independent tasks Independent taskqueue and dependency task are input to the scheduler Thescheduler selects the appropriate VM based on IWRR algo-rithmThis scheduler collects the resources information fromthe resource manager It calculates the processing capacity ofeach of the VMs and then it applies the proposed algorithmto find the appropriate VM for the given job Additionallyevery VM is maintaining the JobExecutionList JobPauseListand JobWaitingList information specific to it The JobExe-cutionList contains the current executing job list and theJobPausedList contains the temporarily paused jobs in theVM Similarly the JobWaitingList Queue contains the waitingjobs on the specific VM but this will be executed uponreceiving the JobExecutionList JobPauseList and JobWait-ingList from each of the VMs calculation of the least utilizedVM is carried out for every request arrival Then this leastutilized VM information will be returned to the schedulerResource manager communicates with all the VMs to collecteach of its capabilities by getting its number of the processingelements and its processing capacity to each of its elementsThis resource manager additionally calculates the weightageto each of the VMs based on the processing capacity allottedto it This also identifies the memory configured available ineach of the VMs Load balancer calculates the ratio betweenthe number of jobs running and the number of VMs If theratio is less than 1 then it communicates the schedulerto identify a VM for the job else it will calculate theload on each of the VMs using the job execution list ofthe VMs If the utilization is less than the 20 then theleast utilized VM will be allotted else the scheduler willbe communicated to identify the most suitable VM for thejob Once the appropriate VM has been identified the Jobwill be assigned to that VM The configured data centersinclude hosts and their VM with corresponding processingelements form the set of resources available for computingThe resources are probed for idleness and for heavy load sothat the job requests are effectively allocated to an appropriateresource

32 Computation of Load Imbalance Factor The sumof loadsof all virtual machines is defined as

119871 =

119896

sum

119894=1

119897119894 (1)

where 119894 represents the number of VMs in a data centerThe load per unit capacity is defined as

LPC = 119871sum119898

119894=1119888119894

Threshold 119879119894 = LPC lowast 119888119894(2)

where 119888119894 is the capacity of the nodeThe load imbalance factor of a particular virtual machine

is given by

If VM

lt

1003816100381610038161003816100381610038161003816100381610038161003816

119879119894 minus

119896

sum

V=1119871V

1003816100381610038161003816100381610038161003816100381610038161003816

Underloaded

gt

1003816100381610038161003816100381610038161003816100381610038161003816

119879119894 minus

119896

sum

V=1119871V

1003816100381610038161003816100381610038161003816100381610038161003816

Overloaded

=

1003816100381610038161003816100381610038161003816100381610038161003816

119879119894 minus

119896

sum

119894=1

119897119894

1003816100381610038161003816100381610038161003816100381610038161003816

Balanced

(3)

The migration of task from the overloaded VM to under-loaded VM can be allowed until the load on the overloadedVM drops below the threshold and the difference is 120583119894

A virtual machine is identified as underloaded where thesum of loads of all the VMs is below the threshold valueof that VM The underloaded VM accepts the load fromthe overloaded VM until the load on the VM exceeds thethreshold and the difference is 120582119895 as shown below

The transfer of load from the overloaded VM is carriedout until its load is less than the threshold The underloadedVM can accept load only up to its threshold thus avoidingit being overloadedThis implies that the amount of load thatcan be transferred from the underloadedVM should be in therange of 120583 and 120582

33 Algorithms The two most frequently used schedulingprinciples in a nonpreemptive system are round Robin andweighted round robin policies Improved weighted roundrobin is the proposed algorithm Existing algorithms areimplemented for comparative analysis

331 Round Robin Algorithm The round robin algorithmallocates task to the next VM in the queue irrespective of theload on that VMThe Round Robin policy does not considerthe resource capabilities priority and the length of the tasksSo the higher priority and the lengthy tasks end up with thehigher response times

332 Weighted Round Robin Algorithm Theweighted roundrobin considers the resource capabilities of the VMs andassigns higher number of tasks to the higher capacity VMsbased on the weightage given to each of the VMs But it failedto consider the length of the tasks to select the appropriateVM

The Scientific World Journal 5

333 Improved Weighted Round Robin Algorithm The pro-posed improved weighted round robin algorithm is the mostoptimal algorithmand it allocates the jobs to themost suitableVMs based on the VMrsquos information like its processingcapacity load on the VMs and length of the arrived taskswith its priority The static scheduling of this algorithm usesthe processing capacity of the VMs the number of incomingtasks and the length of each task to decide the allocation onthe appropriate VM

The dynamic scheduling (at run time) of this algorithmadditionally uses the load on each of the VMs along with theinformation mentioned above to decide the allocation of thetask to the appropriate VMThere is a probability at run timethat in some of the cases the task may take longer executiontime than the initial calculation due to the execution of morenumber of cycles (like a loop) on the same instructions basedon the complicated run time data

In such situations the load balancer rescues the schedul-ing controller and rearranges the jobs according to the idleslot available in the other unutilizedunderutilized VMs bymoving a waiting job from the heavily loaded VMs The loadbalancer identifies the unutilizedunderutilizedVMs throughresource prober whenever a task is completed in any of theVMs If there is no unutilized VM then the load balancerwill not take up any taskmigration among the VMs If it findsany unutilizedunderutilizedVM then it willmigrate the taskfrom the overloadedVM to the unutilizedunderutilizedVMThe load balancer analyses the resourcersquos (VM) load only onthe completion of any of the tasks on any of the VMs It neverexamines the resourcersquos (VM) load independently at any timeto circumvent the overhead on the VMs This will help inreducing the number of task migrations between the VMsand the number of resource probe executions in the VMs

34 Implementation Aspect of the Algorithm The systemimplementation consists of five major modules

(a) Static scheduler (initial placements)(b) Dynamic scheduler (run time placements)(c) Load balancer (decision on job migration at run

time)(d) Task interdependent scheduler(e) Resource monitor

The static scheduler has the function to find the mostsuitable VM and assign the tasks to VMs based on thealgorithms (simple round robin weighted round robin andimproved weighted round robin) applied in the schedulerThe dynamic scheduler has the function to place the runtime arrival jobs to the most suitable VMs based on theleast utilized VM at that particular job arrival time Loadbalancerscheduler controller decides the migration of taskfrom a heavily loaded VM to an idle VM or least loaded VMat run time whenever it finds an idle VM or least loadedVM by utilizing the resource monitor information Resourcemonitor communicates with all the VMs resource probersand collects the VM capabilities current load on each VMand number of jobs in executionwaiting queues in each

VM to decide the appropriate VMs to the jobs The taskrequirement estimator identifies the length of the tasks tobe executed and transfers the estimated results to the loadbalancer for its operative decisions

Figure 2 illustrates the system architecture in which thesystem consists of the data center broker and multiple datacentersThe data center can host any number of hosts and thisintern can host any number of VMs in each of the hosts basedon its capacity The data center broker has the importantcomponents to schedule and load-balance the jobs effectivelywhereas the algorithms of these components vary accordingto the round robin weighted round robin and the improvedweighted round robin load balancing

341 Dynamic Scheduler in IWRR Load Balancer Dynamicscheduling in IWRR load balancer is achieved by Initializa-tion mapping (scheduling) load balance and execution asexplained in Algorithm 1 Initialization is done by collectingthe pending MI execution time from each of the createdVMs and arranging it in ascending order of pending timefollowed by arranging the run time of the arrived tasks inqueue based on the priority Mapping (scheduling) involvesselection of task which is in top of the queue and calculationof its completion time in each VM Then task is assignedto the most appropriate VM based on completion andpending execution time Load balancing is done by addingthe corresponding tasks and execution time to the VMspending time Then rearrange the VM utilized list basedon the latest load which is followed by sending the task toVM processing queue and adding the task to the assignedlist When all cloudlets are assigned to VMs the tasks areexecuted in assigned VMs

342 Load Balancer in IWRR Load balancer initializes bycollecting the pending execution time from each of thecreated VMs then arranging it in ascending order to identifythe number of tasks in each VM and arrange it in increasingorder queue Mapping (scheduling) is done by getting a taskfrom VM with higher pending time and then identifies themost suitable VM to execute this task by calculating thecompletion time of this task in all the VMs and assigningthe selected task to the identified VM Finally load balancingis accomplished by rearranging the order based on the newexecution time in each VM (refer to Algorithm 2)

343 Task Dependency Queue in Multilevel InterdependentTasks Multilevel interdependency tasks are explained inFigure 3

4 Model

Let VM = (VM1VM2 VM119898) be the set ldquo119898rdquo of virtualmachines which should process ldquo119899rdquo tasks represented by theset 119879 = (1198791 1198792 119879119899) All the VMs are running in paralleland are unrelated and each VM runs on its own resourcesThere is no sharing of its own resources by other VMsWe schedule nonpreemptive dependent tasks to these VMs

6 The Scientific World Journal

Client

Data center brokerScheduling controller and load balancer Static scheduler Dynamic scheduler Resource prober

Multitask and task dependent scheduler

Data centre-1

Host-1

VM1 VM2

Host-2 Host-3 Host-4

VM3 VM4

Data centre-2

VM5 VM6 VM7 VM8

Figure 2 System architecture

Start

Identify the child tasks of the arrived tasks

If child tasks

Place the parent task into the dependent queue

Select a child task from the collection of childs to a parent and

run it in loop

Run the task by using thestaticdynamic scheduler

Update the parent task of completed status in dependency

queue

If parent task

End

Yes

No

No

size gt 0 size gt 0

Figure 3 Flow chart of multilevel interdependency tasks

The Scientific World Journal 7

(1) Identify the Pending Execution Time in each of the VMs by collecting the Pending Execution length from executing waiting amppaused list(a) Set pendingJobsTotLength = JobsRemainingLengthInExecList + JobsRemainingLengthInWaitList +

JobsRemainingLengthInPauseList(b) 119862V119898 is the processing capacity of the VM(c) Set pendingETime = pendingJobsTotLength119862V119898

(2) Arrange the VMs based on the least pending execution time to the highest pending execution time and group it in case twoVMs fall in the same pending length This Map should contain pending execution time as key and itrsquos associated VMs as a value(a) Sort the VMMap by the Pending Execution Time of each VM

(3) Re-arrange the incoming Jobs based on the length amp priority of the Jobs(a) Sort the JobSubmittedList based on length amp priority

(4) Initiate the vmIndex jobIndex variable amp totalJobs(a) Set vmIndex = 0(b) Set totalJobs = length of JobSubmittedList(c) Set totalVMsCount = size of VMMap(d) Set jobIndex = 0(e) Set jobToVMratio = totalJobstotalVMsCount

(5) Assign the incoming jobs to the VMs based on the least Pending Execution Time in the VMs amp its processing capacity(a) While (true)

Set job = JobSubmittedListget(jobIndex)Set jobLength = lengthOf(job)Set newCompletiontimeMap = EmptyMapFor startNumber from 0 by 1 to totalVMsCount do

Set vm = VMMapgetValue(startNumber)Set probableNewCompTime = jobLength119862V119898 + VMMapgetKey(startNumber)newCompletiontimeMapadd(probableNewCompTime vm)

SortByCompletionTime(newCompletiontimeMap)Set selectedVM = newCompletiontimeMapgetValue(0)selectedVMassign(job)For startNumber from 0 by 1 to totalVMsCount do

Set vm = VMMapgetValue(startNumber)If (vm equals selectedVM)

Set currentLength = VMMapgetKey(startNumber)Set newCurrentLength = currentLength + newCompletiontimeMapgetKey(0)VMMapremoveItem(startNumber)VMMapadd(newCurrentLength vm)

EndIf

sortByCompletionTime(VMMap)Increase the jobIndex by 1If (jobIndex equals totalJobs)

Break(b) End While

(6) Remove all the assigned Jobs from the JobSubmittedList

Algorithm 1 IWRR dynamic scheduler

in which ldquo119899rdquo tasks assigned to ldquo119898rdquo VMs are represented as anLP model from (4) to (5)

Processing Time Let PT119894119895 be the processing time of assigningtask ldquo119894rdquo to VM ldquo119895rdquo and define

119909119894119895 =

1 if task ldquo119894rdquo is assigned

0 otherwise(4)

Then the linear programming model is given as

Minimize 119885 =119899

sum

119894=1

119898

sum

119895=1

PT119894119895119909119894119895

Subject to119899

sum

119894=1

119909119894119895 = 1 119895 = 1 2 119898

119909119894119895 = 0 or 1

(5)

Resource Utilization Maximizing the resource utilizationis another important objective which is derived from (6)

8 The Scientific World Journal

(1) Identify the number of executingpending tasks in each VM and arrange it in increasing order on a Queue(a) Set numTaskInQueue = Number of ExecutingWaiting Tasks in each VM and arrange it in increasing order

(2) If the number of tasks in the first item of the queue is greater than or equal to ldquo1rdquo then terminate the Load Balancing logicexecution else proceed to the 3rd step(a) If (numTaskInQueuefirst() ge1) then

Return(3) If the number of tasks in the last item of the queue is less than or equal to ldquo1rdquo then terminate the Load Balancing logic

execution else proceed to the 4th step(a) If (numTaskInQueuelast()le1) then

Return(4) Identify the Pending Execution Time in each of the VMs by adding the Pending Execution length from executing

waiting amp paused list and then divided the value by the processing capacity of the VM(a) Set pendingJobsTotLength = JobsRemainingLengthInExecList + JobsRemainingLengthInWaitList +

JobsRemainingLengthInPauseList(b) Set pendingExecutionTime = pendingJobsTotLength119862V119898

(5) Arrange the VMs based on the least pending time to the highest pending time and group it in case two VMs fallin the same pending time(a) Sort the VMMap by the Pending Execution time of each VM

(6) Remove a task from the higher pending time VM which contains more than one task and assign this task to the lowerpending time VM which has no task to process(a) While (true)

Set OverLoadedVM = VMMapget(VMMapsize())Set LowLoadedVM = VMMapget(0)Varlowerposition = 1Varupperposition = 1

(b) While(true)If (OverLoadedVMtaskSize() gt 1 ampampLowLoadedVMtaskSize() lt 1)

BreakElse if (OverLoadedVMtaskSize() gt 1)

LowLoadedVM = VMMapget(lowerposition)Lowerposition++

Else if (LowLoadedVMtaskSize() lt 1)OverLoadedVM = VMMapget(VMMapsize() - upperposition)Upperposition++

ElseBreak The Outer While Loop

(c) End WhileSet migratableTask = OverLoadedVMgetMigratableTask()LowLoadedVMassign(migratableTask)Break

(d) End While(7) Re execute from the step 1(8) Then the steps 2 and 3 will decide the load balancing further(9) This load balancing will be called after every task completion irrespective of any VMs

Algorithm 2 IWRR load balancer

and (7) Achieving high resource utilization becomes achallenge Now average utilization is defined as [21]

Average utilization =sum119895isinVMs 119862119879119895

Makespan lowastNumber of VMs (6)

where makespan can be expressed as

Makespan = max119862119879119895

119895 isin VMs (7)

Capacity of a VM Consider

119862VM = penum lowast pemips (8)

where 119862VM is the capacity of the VM (see (8)) penum is thenumber of processing elements in the VM and pemips is themillion instructions per second of a PE

Capacity of All the VMs Consider

119862 =

119898

sum

119895=1

119862VM119895 (9)

where 119862 is the summation of capacities of all VMs thecapacity allotted to the applicationenvironment (refer to(9))

The Scientific World Journal 9

Task Length Consider

TL = 119879mips lowast 119879pe (10)

Job Length Consider

JL =119901

sum

119896=1

TL119894 (11)

where ldquo119901rdquo is the number of interdependent tasks for the job

Task Load Ratio Task load ratio is calculated in (12) and (13)to identify and allocate the tasks to virtual machines It isdefined as

TLR119894119895 =TL119894119862VM119895

119894 = 1 2 119899 tasks 119895 = 1 2 119898 Virtual machines

(12)

where TL119894 is the task length which is estimated at thebeginning of the execution and119862VM is the capacity of theVMConsider

If TLR119894119895 =

0 assign the task to VM

Otherwise Do not assign(13)

5 Experiment Results andPerformance Analysis

The performance of the IWRR algorithm has been analyzedbased on the results of simulation done in the CloudSimThe classes of the CloudSim simulator have been extended(overridden) to utilize the newly written algorithm In thefollowing illustrations the response time number of jobmigrations cumulative idle time of all tasks and the num-ber of delayed tasks are analyzed in the RR WRR andIWRR algorithms under the combination of heterogeneousand homogenous job lengths with heterogeneous resourceconditions Configuration details are given in Table 1

51 Homogeneous Tasks on Heterogeneous Resources (VMs)

511 Comparison of Overall Execution Time

Analysis The following is the order of highest to lowestperformance of the algorithms in the provided homogenousjobs on heterogeneous environment

(a) improved weighted round robin with job length (b)weighted round robin and (c) round robin

Figures 4 and 5 proved that the IWRR by job lengthdelivers a faster completion time than the other 2 loadbalancing algorithms (RR and WRR) in the heterogeneousresources (VMs) and homogenous jobs The IWRRrsquos staticscheduler algorithm considers the job length along withprocessing capacity of the heterogeneous VMs to assign thejob So more number of jobs gets assigned to the highercapacity VMs in the homogenous jobs on heterogeneousenvironments This helps complete the job in a shorter time

Task overall completion time

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

times104

0

5

10

15

20

Com

plet

ion

time (

s)

Figure 4 Execution completion time (space shared)

Task overall completion time

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

times104

0

5

10

15

20

Com

plet

ion

time (

s)

Figure 5 Execution completion time (time shared)

The dynamic scheduler considers the load of all its configuredVMs and its tentative completion time of the current loadhas been identifiedThen the scheduler calculates the arrivedjobrsquos estimated completion time in each of the configuredVMs and adds this calculated timing with the existing loadrsquoscompletion time on each VM Now the least possible com-pletion time has been identified from the above calculationsfor this particular job in one of the VMs and then the job hasbeen assigned to this VM So this algorithm is most suitableto the heterogeneous environment data centers

The load balancer in the IWRRwith job length runs at theend of each taskrsquos completion If the load balancer finds any ofthe VMs completes all its assigned tasks then it will identifythe highly loaded VM from the group and it calculates thepossible completion time of those jobs present in the highlyloaded VM and the least loadedidle VM If the least loadedVM can finish any of the jobs present in the highly loadedVM in the shortest possible time then that job will be movedto the least loaded VM

The WRR considers the ratio of the VM capacity to thetotal VM capacity and it assigns the proportionate number ofarrived jobs into the VM So it performs in the next level Butif any lengthy jobs are assigned to the low capacity VMs basedon the above calculation then this will delay the executioncompletion time

The simple RR has not considered any variables about theenvironment VM capabilities and the job lengths It simply

10 The Scientific World Journal

Table 1 Cloud setup configuration details

Sl number Entity Quantity Purpose

1 Data center 1 Data center having the physical hosts inthe test environment

2 Number of hosts in DC

500 hosts (200Nos-4-CoreHyperThreadedOpteron270200 Nos-4-CoreHyperThreadedOpteron2218 and 100 Nos8-Core HyperThreaded XeonE5430)

Number of physical hosts used in theexperiment

3 Number of processelements 8816

Number of executing elements in each ofthe hosts The host has 8 or 16 processingelements

4 PE processing capacity 174247355MIPS Each host has any one of the processingcapacities

5 Host ram capacity 1632GB Each host has any of these RAMmemories

6 Number of VM 10 to 100 with an increment of 10 Number of virtual machines used in theexperiment

7 Number of PE to VM 1 Processing element allotted in each VM

8 VMrsquos PE processingcapacity 1503009012093112105225 Virtual machinersquos processing capacity

9 VM RAM capacity 1920MB The RAMrsquos memory capacity of the VM

10 VMmanager XenThe operating system runs on thephysical machine to manage the VMs Itprovides the virtualization

11 Number of PE in Tasks 1 The jobtaskrsquos maximum usableprocessing element

12 Task lengthinstructions 500000 to 200000000

Tasks length in million instructions Theheterogeneous job length test having thevariations from the mentioned minimumto maximum

assigns the jobs to theVM lists one after another in an orderedmanner So its completion time of the jobs is higher than theother 2 algorithms

512 Comparison of Task Migration The task migrations arevery minimal in the IWRR algorithm due to extensive staticand dynamic scheduler algorithm in identifying the mostappropriate VM to each of the jobs which is illustrated inFigures 6 and 7 So the load balancer has been unable tofind the further optimization to complete the task in theshortest time But in the case of WRR and RR algorithmsthe static and dynamic scheduler has not considered the joblengths Instead it considers only the resource capabilitiesand the arrived job list So the load balancer has been ableto find the further optimization at run time and it shifts thejobs from higher loaded VM to the underutilized VMs Thisintern produces the higher task migrations in the weightedround robin and round robin algorithmsThe number of taskmigrations in the lower number of resources is high in theWRR and RR algorithms

513 Comparison of Delayed Tasks and Combined Idle Timeof All Tasks (Space Shared) The number of delayed tasksand the combined idle time of all tasks are higher in

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of task migrations

0

5

10

15

Num

ber o

f tas

k m

igra

tions

Figure 6 Number of task migrations (space shared)

the IWRR than the other two algorithms which is analyzedfrom Figures 8 and 9 This increase happened due to theallocation of more tasks in the higher capacity VMs At anypoint of time only one job can run in the space sparedCPUPE even if it has a higher capacity PE So if anotherjob got allocated to the same VM due to its higher processingcapacity then that job has to be in waiting state until therunning job gets completed This increases the number of

The Scientific World Journal 11

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of task migrations

02468

1012

Num

ber o

f tas

k m

igra

tions

Figure 7 Number of task migrations (time shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of delayed tasks

0

50

100

150

Del

ayed

task

s

Figure 8 Number of delayed tasks (space shared)

delayed tasks and the combined idle time in the IWRRalgorithm But in the other two algorithms the jobs getassigned to even the lower capacity VMs without accuratelypredicting the possible completion time in various VMs Sothe number of delayed tasks and combined idle time of alltasks are lower in RR and WRR

514 Comparison of Million Instructions Reexecuteddue to Task Migration

Analysis The job migrations from one VM to another VMlead to the jobrsquos execution termination in one of the VMsOtherwise the current state of the execution has to be copiedover to another VM to proceed from the left out locationin the previous allotted VM In this work the current stateof the job at the time of job migration will be lost So thejob will be reexecuted from the start of its instructions inthe migrated VM This kind of execution wastage comes inthe time shared CPU rather than the space shared CPU Theinstruction reexecution will be higher in the RR and WRRalgorithms due to the higher number of task migrations inRR and WRR (refer to Figure 10)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Combined idle time of all tasks times104

0

100

200

300

400

Idle

tim

e (s)

Figure 9 Idle time of all tasks (space shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Million instructions reexecuted by task migrationtimes10

4

0

500

1000

1500

2000

Instr

uctio

ns re

exec

uted

Figure 10 Million instructions reexecuted (time shared)

52 Heterogeneous Tasks on Heterogeneous Resources (VMs)

521 Comparison of Overall Execution Time

Analysis The following is the order of highest to lowest per-formance of the algorithms in the provided heterogeneousenvironment

(a) improved weighted round robin with job length (b)weighted round robin (c) round robin

Figures 11 and 12 proved that the improved weightedround robin by job length delivers a faster completion timethan the other two load balancing algorithms (RR andWRR)in the heterogeneous resources (VMs) and heterogeneousjobsThe IWRRrsquos static scheduler algorithm considers the joblength along with processing capacity of the heterogeneousVMs to assign the job So the lengthy jobs get assigned tothe higher capacity VMs in the heterogeneous environmentsThis helps complete the job in a shorter time The dynamicscheduler considers the load of all its configured VMs and itstentative completion time of the current load has been identi-fiedThen the scheduler calculates the arrived jobrsquos estimatedcompletion time in each of the configured VMs and adds thiscalculated timing with the existing loadrsquos completion time oneach VM Now the least possible completion time has beenidentified from the above calculations for this particular jobin one of the VMs and then the job has been assigned to thisVM So this algorithm is most suitable to the heterogeneousenvironment data centers

12 The Scientific World Journal

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Task overall completion time times104

0

5

10

15

Com

plet

ion

time (

s)

Figure 11 Execution completion time (space shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Task overall completion time times104

0

5

10

15

20

Com

plet

ion

time (

s)

Figure 12 Execution completion time (time shared)

The load balancer in the IWRRwith job length runs at theend of each taskrsquos completion If the load balancer finds any ofthe VMs completes all its assigned tasks then it will identifythe highly loaded VM from the group and it calculates thepossible completion time of those jobs present in the highlyloaded VM and the least loadedidle VM If the least loadedVM can finish any of the jobs present in the highly loadedVM in the shortest possible time then that job will be movedto the least loaded VM The WRR considers the ratio ofthe VM capacity to the total VM capacity and it assigns theproportionate number of arrived jobs into the VM So itperforms in the next level But if any lengthy jobs are assignedto the low capacity VMs based on the above calculation thenthis will delay the execution completion time The simple RRhas not considered any variables about the environment VMcapabilities and the job lengths It simply assigns the jobsto the VM lists one after another in an ordered manner Soits completion time of the jobs is higher than the other twoalgorithms

522 Comparison of Task Migration

Analysis The task migrations are very minimal in the IWRRalgorithm due to extensive static and dynamic scheduleralgorithm in identifying the most appropriate VM to each ofthe jobs which is derived from Figures 13 and 14 So the loadbalancer has been unable to find the further optimizationto complete the task in the shortest time But in the case of

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of task migrations

0

5

10

15

20

Num

ber o

f tas

k m

igra

tions

Figure 13 Number of task migrations (space shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of task migrations

0

2

4

6

8

Num

ber o

f tas

k m

igra

tions

Figure 14 Number of task migrations (time shared)

WRR and RR algorithms the static and dynamic schedulerhas not considered the job lengths Instead it considers onlythe resource capabilities and the arrived job list So the loadbalancer has been able to find the further optimization atrun time and it shifts the jobs from higher loaded VM tothe underutilized VMs This intern produces the higher taskmigrations in the WRR and RR algorithms Additionallythese numbers of task migrations are high in the lowernumber of resources in the WRR and RR algorithms

523 Comparison of Delayed Tasks and Combined IdleTime of All Tasks

Analysis Figures 15 and 16 explain that the number of delayedtasks and the combined idle time of all tasks are higher in theIWRR than the other two algorithmsThis increase happeneddue to the allocation of more tasks in the higher capacityVMs At any point of time only one job can run in thespace spared CPUPE even if it has a higher capacity PESo if another job got allocated to the same VM due to itshigher processing capacity then that job has to be in waitingstate until the running job gets completed This increases thenumber of delayed tasks and the combined idle time in theIWRRalgorithm But in the other two algorithms the jobs getassigned even to the lower capacity VMs without accuratelypredicting the possible completion time in various VMs

The Scientific World Journal 13

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of delayed tasks

020406080

100120

Del

ayed

task

s

Figure 15 Number of delayed tasks (space shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Combined idle time of all tasks times10

4

0

100

200

300

400

Idle

tim

e (s)

Figure 16 Idle time of all tasks (space shared)

So the number of delayed tasks and combined idle time ofall tasks are lower in RR and WRR

524 Comparison of Million Instructions Reexecuteddue to Task Migration

Analysis The job migrations from one VM to another VMlead to the jobrsquos execution termination in one of the VMsOtherwise the current state of the execution has to be copiedover to another VM to proceed from the left out location inthe previous allotted VM In this project the current state ofthe job at the time of jobmigrationwill be lost So the jobwillbe reexecuted from the start of its instructions in themigratedVMThis kind of execution wastage comes in the time sharedCPUThe instruction reexecutionwill be higher in theRR andWRR algorithms due to the higher number of taskmigrationsin RR and WRR which is shown in Figure 17

6 Conclusion and Future Enhancements

In this work the improved weighted round robin algorithmconsiders the capabilities of each VM and the task length ofeach requested job to assign the jobs into the most appro-priate VMsThis improved weighted round robin algorithmsare having three different stages to handle the three differentscenarios in the environment life cycle The static scheduleralgorithm pays attention to the initial placement of the jobs

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Million instructions reexecuted by task migration

0

500

1000

1500

Instr

uctio

ns re

exec

uted times10

4

Figure 17 Million instructions reexecuted (time shared)

which distributes the job requests to the participating VMsevenly based on the VMrsquos capabilities and the length of therequested job The dynamic scheduler considers the load ofall its configured VMs and its tentative completion time ofthe current load has been identified along with the arrivedjobrsquos estimated completion time in each of the configuredVMs After this the least possible completion time has beenidentified from the above calculations for this particular jobin one of the VMs and then the job has been assigned to thisVMThe load balancer in the improvedweighted round robinruns at the end of each taskrsquos completion This always makesthe loads evenly distributed across all the VMs at the end ofeach taskrsquos completion and thus eliminates any idle time inthe participating resources (VMs)

The performance analysis and experiment results of thisalgorithm proved that the improved weighted round robinalgorithm ismost suitable to the heterogeneoushomogenousjobs with heterogeneous resources (VMs) compared to theother round robin and weighted round robin algorithmsThis algorithm considers the response time as the main QoSparameter

As part of the future enhancements we can considermul-tiple PEs in the participating heterogeneous VMs along withthe heterogeneous multiple PEs capable jobs with distributedcomputing capabilities in the improvedweighted round robinalgorithm Additionally the load balancing can also considertransferring the state of jobs between the VMs in the jobmigrations These above considerations can help in furtherreducing the job completion time in all the algorithms

This work had considered the overall completion time ofall the participating jobs in different algorithms Instead inthe future enhancements the completion time of each job canbe compared in the different scheduling and load balancingalgorithms The algorithms can be fine-tuned further toachieve the better consistent results on all the differentperspectives Similarly the comparison results should betaken for the different job arrival patterns on all the threedifferent scheduling and load balancing algorithms

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

14 The Scientific World Journal

Acknowledgments

The authors would like to thank Dr S Jayaprakash formerprofessor IIT Madras and Mr R Bhaskar for their continu-ous support towards the successful outcome of this work

References

[1] Z Xiao W Song and Q Chen ldquoDynamic resource allocationusing virtual machines for cloud computing environmentrdquoIEEE Transactions on Parallel and Distributed Systems vol 24no 6 pp 1107ndash1117 2013

[2] L D Dhinesh Babu and P Venkata Krishna ldquoHoney bee behav-ior inspired load balancing of tasks in cloud computing envi-ronmentsrdquo Applied Soft Computing Journal vol 13 no 5 pp2292ndash2303 2013

[3] J Cao K Li and I Stojmenovic ldquoOptimal power allocation andload distribution for multiple heterogeneous multicore serverprocessors across clouds and data centersrdquo IEEE Transactionson Computers vol 63 no 1 pp 45ndash58 2014

[4] R N Calheiros and R Buyya ldquoMeeting deadlines of scientificworkflows in public clouds with tasks replicationrdquo IEEE Trans-actions on Parallel and Distributed Systems vol 25 no 7 pp1787ndash1796 2014

[5] R Basker V Rhymend Uthariaraj and D Chitra Devi ldquoAnenhanced scheduling in weighted round robin for the cloudinfrastructure servicesrdquo International Journal of Recent Advancein Engineering amp Technology vol 2 no 3 pp 81ndash86 2014

[6] Z Yu F Menng and H Chen ldquoAn efficient list schedulingalgorithm of dependent task in gridrdquo in Proceedings of the3rd IEEE International Conference on Computer Science andInformation Technology (ICCSIT rsquo10) IEEE Chengdu ChinaJuly 2010

[7] H M Fard and H Deldari ldquoAn economic approach forscheduling dependent tasks in grid computingrdquo in Proceedingsof the 11th IEEE International Conference on ComputationalScience and Engineering (CSEWorkshops rsquo08) pp 71ndash76 IEEESan Paulo Brazil July 2008

[8] W Kadri B Yagoubi and M Meddeber ldquoEfficient dependenttasks assignment algorithm for grid computing environmentrdquoin Proceedings of the 2nd International Symposium onModellingand Implementation of Complex Systems (MISC rsquo12) Constan-tine Algeria May 2012

[9] S Ijaz E U Munir W Anwar andW Nasir ldquoEfficient schedul-ing strategy for task graphs in heterogeneous computing envi-ronmentrdquo The International Arab Journal of Information Tech-nology vol 10 no 5 2013

[10] Y Xu K Li LHe andT K Truong ldquoADAG scheduling schemeon heterogeneous computing systems using double molecularstructure-based chemical reaction optimizationrdquo Journal ofParallel andDistributed Computing vol 73 no 9 pp 1306ndash13222013

[11] L-T Lee C-W Chen H-Y Chang C-C Tang and K-CPan ldquoA non-critical path earliest-finish algorithm for inter-dependent tasks in heterogeneous computing environmentsrdquo inProceedings of the 11th IEEE International Conference on HighPerformance Computing and Communications (HPCC rsquo09) pp603ndash608 Seoul Republic of Korea June 2009

[12] B Xu C Zhao E Hu and B Hu ldquoJob scheduling algorithmbased on Berger model in cloud environmentrdquo Advances inEngineering Software vol 42 no 7 pp 419ndash425 2011

[13] B Mondal K Dasgupta and P Dutta ldquoLoad balancing in cloudcomputing using stochastic hill climbing-a soft computingapproachrdquo Procedia Technology vol 4 pp 783ndash789 2012

[14] M Rahman R Hassan R Ranjan and R Buyya ldquoAdaptiveworkflow scheduling for dynamic grid and cloud computingenvironmentrdquo Concurrency and Computation Practice andExperience vol 25 no 13 pp 1816ndash1842 2013

[15] G Gharooni-fard F Moein-darbari H Deldari and A Mor-varidi ldquoScheduling of scientific workflows using a chaos-genetic algorithmrdquo Procedia Computer Science vol 1 no 1 pp1445ndash1454 2010 International Conference on ComputationalScience ICCS 2010

[16] C Lin and S Lu ldquoScheduling scientific workflows elastically forcloud computingrdquo in Proceedings of the IEEE 4th InternationalConference on Cloud Computing Washington DC USA July2011

[17] Vijindra and S Shenai ldquoSurvey on scheduling issues in cloudcomputingrdquo Procedia Engineering vol 38 pp 2881ndash2888 2012Proceedings of the International Conference on ModellingOptimization and Computing

[18] M Xu L Cui H Wang and Y Bi ldquoA multiple QoS constrainedscheduling strategy of multiple workflows for cloud comput-ingrdquo in Proceedings of the IEEE International Symposium onParallel and Distributed Processing with Applications (ISPA rsquo09)pp 629ndash634 IEEE Chengdu China August 2009

[19] C Lin S Lu X Fei et al ldquoA reference architecture for scientificworkflow management systems and the VIEW SOA solutionrdquoIEEE Transactions on Services Computing vol 2 no 1 pp 79ndash92 2009

[20] S Ghanbari and M Othman ldquoA priority based job schedulingalgorithm in cloud computingrdquo in Proceedings of the Inter-national Conference on Advances Science and ContemporaryEngineering pp 778ndash785 October 2012

[21] F Xhafa and A Abraham Mata-Heuristics for Grid SchedulingProblems Springer Berlin Germany 2008

Submit your manuscripts athttpwwwhindawicom

Computer Games Technology

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Distributed Sensor Networks

International Journal of

Advances in

FuzzySystems

Hindawi Publishing Corporationhttpwwwhindawicom

Volume 2014

International Journal of

ReconfigurableComputing

Hindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Applied Computational Intelligence and Soft Computing

thinspAdvancesthinspinthinsp

Artificial Intelligence

HindawithinspPublishingthinspCorporationhttpwwwhindawicom Volumethinsp2014

Advances inSoftware EngineeringHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Journal of

Computer Networks and Communications

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation

httpwwwhindawicom Volume 2014

Advances in

Multimedia

International Journal of

Biomedical Imaging

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

ArtificialNeural Systems

Advances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Computational Intelligence and Neuroscience

Industrial EngineeringJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Human-ComputerInteraction

Advances in

Computer EngineeringAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Page 3: Research Article Load Balancing in Cloud …downloads.hindawi.com/journals/tswj/2016/3896065.pdf1. Introduction Cloud computing is a computing paradigm for managing and delivering

The Scientific World Journal 3

In [3] the importance and significance of performanceoptimization and power reduction in data centers for cloudcomputing and queuing model for a group of heteroge-neous multicore servers with different sizes and speedswere discussed In particular it addresses the problem ofoptimal power allocation and load distribution for multipleheterogeneous multicore server processors across clouds anddata centers Nevertheless it is only a feasibility study formodelling power

The elasticity of cloud infrastructures enables a suitableplatform for execution of deadline-constrained workflowapplications [4] To mitigate effects of performance variationof resources on soft deadlines of workflow applicationsan algorithm that uses idle time of provisioned resourcesand budget surplus to replicate tasks is proposed Thisreduces the total execution time of applications as thebudget available for replication increases Static job arrivalis also modelled whereas overhead involvement of duplicateexecutions and run time arrival of jobs is not taken intoaccount

ldquoSkewnessrdquo [1] is the metric to measure the unevennessof a server with multidimensional resource utilization Byminimizing skewness the different types of workloads havebeen combined to improve the overall utilization of serverresources The significant contributions of this work arethat they developed a resource allocation system that canavoid overload in the system effectively while minimizingthe number of servers used They designed a load predictionalgorithm that can capture the future resource usages ofapplications accurately without looking inside the VMs Thealgorithm can capture the rising trend of resource usagepatterns and help reduce the placement churn significantlyQoS parameters such as response time or completion time oftasks are not discussed

In [5] an enhanced scheduling in weighted roundrobin for the cloud infrastructure services was proposedwhich considers job length and resource capabilities Thistype of algorithm minimizes the response time of thejobs by optimally utilizing the participating VMs usingstatic and dynamic scheduling by identifying the lengthof the jobs and resource capabilities and effectively pre-dicting the underutilized VMs and avoiding the over-load on any of the VMs The multilevel interdependenttasks have been considered Load balancing in the heav-ily loaded scenarios for the task migrations has not beenconsidered

In [6ndash8] scheduling algorithm for dependent task ingrid was proposed Efficient mapping of the DAG basedapplication was proposed by [9 10] This algorithm isbased on the list scheduling approach A noncritical pathearliest-finish scheduling algorithm for heterogeneous com-puting was proposed by [11] This algorithm shows thata higher performance can be achieved by applying tothe heterogeneous computing environment Similar typeof problem was discussed in [12] Stochastic hill climbingapproach was used for load distribution in cloud comput-ing [13] in which the soft computing based approach hasbeen compared with round robin and First Come FirstServe

User

Job queue

Dependency task queue

Independent taskqueue

Interface

Task manager

Scheduler

Load balancerResource manager

Resources

Figure 1 Scheduling and load balancing design

A dynamic workflow scheduling technique for grid andcloud computing environment [14] minimizes the work-flow execution time and reduces the scheduling overheadScheduling of scientific workflows using genetic algorithmcalled Chaos Genetic algorithmwas discussed in [15] to solvethe scheduling problem considering both userrsquos budget anddeadline This algorithm produces better results within ashorter time Similar type of problems was discussed by [16ndash19]

In [20] job scheduling algorithm in cloud environ-ment was discussed by considering priority of jobs as amain QoS parameter Moreover this algorithm considersthree important issues like complexity consistency andmakespan Keeping the objective in mind literature hasbeen analyzed and the proposal of the algorithm has beenreached

3 Scheduling and Load Balancing

Figure 1 shows the scheduling and load balancing design inwhich the scheduler has the logic to find themost suitableVMand assign the tasks toVMs based on the proposed algorithmThe scheduler places the run time arrival jobs in the mostsuitable VMs based on the least utilized VM at that particularjob arrival time

Load Balancer decides the migration of task from aheavily loaded VM to an idle VM or least loaded VM at runtime whenever it finds an idle VM or least loaded VM byutilizing the resources current status information Resourcemonitor communicates with all the VMs resource prober

4 The Scientific World Journal

and collects the VM capabilities current load on each VMand number of jobs in executionwaiting queue in each VMThe task requirement is provided by the user which includesthe length of the tasks to be executed and transfers therequirements to the scheduler for its operative decisions

31 Scheduling and Load Balancing Design Job request isgiven by the user through the interface and passed to taskmanager for dependency and independent task analysisThismodule receives the job and verifies whether the job is acomplete independent task or contains multiple tasks If itcontains multiple tasks then it verifies the interdependencybetween the multiple tasks The dependency task queue andindependent task queue are found The dependent tasks willbe notified to the scheduler so that parent tasks are scheduledafter child tasks are executed Dependency task queue willcontain the tasks which depends on the other tasks presentin the VMs Once all the child tasks present in this queuecompleted its execution the parent task will be taken for theexecution by assigning it to the VM whereas independenttask queue contains independent tasks Independent taskqueue and dependency task are input to the scheduler Thescheduler selects the appropriate VM based on IWRR algo-rithmThis scheduler collects the resources information fromthe resource manager It calculates the processing capacity ofeach of the VMs and then it applies the proposed algorithmto find the appropriate VM for the given job Additionallyevery VM is maintaining the JobExecutionList JobPauseListand JobWaitingList information specific to it The JobExe-cutionList contains the current executing job list and theJobPausedList contains the temporarily paused jobs in theVM Similarly the JobWaitingList Queue contains the waitingjobs on the specific VM but this will be executed uponreceiving the JobExecutionList JobPauseList and JobWait-ingList from each of the VMs calculation of the least utilizedVM is carried out for every request arrival Then this leastutilized VM information will be returned to the schedulerResource manager communicates with all the VMs to collecteach of its capabilities by getting its number of the processingelements and its processing capacity to each of its elementsThis resource manager additionally calculates the weightageto each of the VMs based on the processing capacity allottedto it This also identifies the memory configured available ineach of the VMs Load balancer calculates the ratio betweenthe number of jobs running and the number of VMs If theratio is less than 1 then it communicates the schedulerto identify a VM for the job else it will calculate theload on each of the VMs using the job execution list ofthe VMs If the utilization is less than the 20 then theleast utilized VM will be allotted else the scheduler willbe communicated to identify the most suitable VM for thejob Once the appropriate VM has been identified the Jobwill be assigned to that VM The configured data centersinclude hosts and their VM with corresponding processingelements form the set of resources available for computingThe resources are probed for idleness and for heavy load sothat the job requests are effectively allocated to an appropriateresource

32 Computation of Load Imbalance Factor The sumof loadsof all virtual machines is defined as

119871 =

119896

sum

119894=1

119897119894 (1)

where 119894 represents the number of VMs in a data centerThe load per unit capacity is defined as

LPC = 119871sum119898

119894=1119888119894

Threshold 119879119894 = LPC lowast 119888119894(2)

where 119888119894 is the capacity of the nodeThe load imbalance factor of a particular virtual machine

is given by

If VM

lt

1003816100381610038161003816100381610038161003816100381610038161003816

119879119894 minus

119896

sum

V=1119871V

1003816100381610038161003816100381610038161003816100381610038161003816

Underloaded

gt

1003816100381610038161003816100381610038161003816100381610038161003816

119879119894 minus

119896

sum

V=1119871V

1003816100381610038161003816100381610038161003816100381610038161003816

Overloaded

=

1003816100381610038161003816100381610038161003816100381610038161003816

119879119894 minus

119896

sum

119894=1

119897119894

1003816100381610038161003816100381610038161003816100381610038161003816

Balanced

(3)

The migration of task from the overloaded VM to under-loaded VM can be allowed until the load on the overloadedVM drops below the threshold and the difference is 120583119894

A virtual machine is identified as underloaded where thesum of loads of all the VMs is below the threshold valueof that VM The underloaded VM accepts the load fromthe overloaded VM until the load on the VM exceeds thethreshold and the difference is 120582119895 as shown below

The transfer of load from the overloaded VM is carriedout until its load is less than the threshold The underloadedVM can accept load only up to its threshold thus avoidingit being overloadedThis implies that the amount of load thatcan be transferred from the underloadedVM should be in therange of 120583 and 120582

33 Algorithms The two most frequently used schedulingprinciples in a nonpreemptive system are round Robin andweighted round robin policies Improved weighted roundrobin is the proposed algorithm Existing algorithms areimplemented for comparative analysis

331 Round Robin Algorithm The round robin algorithmallocates task to the next VM in the queue irrespective of theload on that VMThe Round Robin policy does not considerthe resource capabilities priority and the length of the tasksSo the higher priority and the lengthy tasks end up with thehigher response times

332 Weighted Round Robin Algorithm Theweighted roundrobin considers the resource capabilities of the VMs andassigns higher number of tasks to the higher capacity VMsbased on the weightage given to each of the VMs But it failedto consider the length of the tasks to select the appropriateVM

The Scientific World Journal 5

333 Improved Weighted Round Robin Algorithm The pro-posed improved weighted round robin algorithm is the mostoptimal algorithmand it allocates the jobs to themost suitableVMs based on the VMrsquos information like its processingcapacity load on the VMs and length of the arrived taskswith its priority The static scheduling of this algorithm usesthe processing capacity of the VMs the number of incomingtasks and the length of each task to decide the allocation onthe appropriate VM

The dynamic scheduling (at run time) of this algorithmadditionally uses the load on each of the VMs along with theinformation mentioned above to decide the allocation of thetask to the appropriate VMThere is a probability at run timethat in some of the cases the task may take longer executiontime than the initial calculation due to the execution of morenumber of cycles (like a loop) on the same instructions basedon the complicated run time data

In such situations the load balancer rescues the schedul-ing controller and rearranges the jobs according to the idleslot available in the other unutilizedunderutilized VMs bymoving a waiting job from the heavily loaded VMs The loadbalancer identifies the unutilizedunderutilizedVMs throughresource prober whenever a task is completed in any of theVMs If there is no unutilized VM then the load balancerwill not take up any taskmigration among the VMs If it findsany unutilizedunderutilizedVM then it willmigrate the taskfrom the overloadedVM to the unutilizedunderutilizedVMThe load balancer analyses the resourcersquos (VM) load only onthe completion of any of the tasks on any of the VMs It neverexamines the resourcersquos (VM) load independently at any timeto circumvent the overhead on the VMs This will help inreducing the number of task migrations between the VMsand the number of resource probe executions in the VMs

34 Implementation Aspect of the Algorithm The systemimplementation consists of five major modules

(a) Static scheduler (initial placements)(b) Dynamic scheduler (run time placements)(c) Load balancer (decision on job migration at run

time)(d) Task interdependent scheduler(e) Resource monitor

The static scheduler has the function to find the mostsuitable VM and assign the tasks to VMs based on thealgorithms (simple round robin weighted round robin andimproved weighted round robin) applied in the schedulerThe dynamic scheduler has the function to place the runtime arrival jobs to the most suitable VMs based on theleast utilized VM at that particular job arrival time Loadbalancerscheduler controller decides the migration of taskfrom a heavily loaded VM to an idle VM or least loaded VMat run time whenever it finds an idle VM or least loadedVM by utilizing the resource monitor information Resourcemonitor communicates with all the VMs resource probersand collects the VM capabilities current load on each VMand number of jobs in executionwaiting queues in each

VM to decide the appropriate VMs to the jobs The taskrequirement estimator identifies the length of the tasks tobe executed and transfers the estimated results to the loadbalancer for its operative decisions

Figure 2 illustrates the system architecture in which thesystem consists of the data center broker and multiple datacentersThe data center can host any number of hosts and thisintern can host any number of VMs in each of the hosts basedon its capacity The data center broker has the importantcomponents to schedule and load-balance the jobs effectivelywhereas the algorithms of these components vary accordingto the round robin weighted round robin and the improvedweighted round robin load balancing

341 Dynamic Scheduler in IWRR Load Balancer Dynamicscheduling in IWRR load balancer is achieved by Initializa-tion mapping (scheduling) load balance and execution asexplained in Algorithm 1 Initialization is done by collectingthe pending MI execution time from each of the createdVMs and arranging it in ascending order of pending timefollowed by arranging the run time of the arrived tasks inqueue based on the priority Mapping (scheduling) involvesselection of task which is in top of the queue and calculationof its completion time in each VM Then task is assignedto the most appropriate VM based on completion andpending execution time Load balancing is done by addingthe corresponding tasks and execution time to the VMspending time Then rearrange the VM utilized list basedon the latest load which is followed by sending the task toVM processing queue and adding the task to the assignedlist When all cloudlets are assigned to VMs the tasks areexecuted in assigned VMs

342 Load Balancer in IWRR Load balancer initializes bycollecting the pending execution time from each of thecreated VMs then arranging it in ascending order to identifythe number of tasks in each VM and arrange it in increasingorder queue Mapping (scheduling) is done by getting a taskfrom VM with higher pending time and then identifies themost suitable VM to execute this task by calculating thecompletion time of this task in all the VMs and assigningthe selected task to the identified VM Finally load balancingis accomplished by rearranging the order based on the newexecution time in each VM (refer to Algorithm 2)

343 Task Dependency Queue in Multilevel InterdependentTasks Multilevel interdependency tasks are explained inFigure 3

4 Model

Let VM = (VM1VM2 VM119898) be the set ldquo119898rdquo of virtualmachines which should process ldquo119899rdquo tasks represented by theset 119879 = (1198791 1198792 119879119899) All the VMs are running in paralleland are unrelated and each VM runs on its own resourcesThere is no sharing of its own resources by other VMsWe schedule nonpreemptive dependent tasks to these VMs

6 The Scientific World Journal

Client

Data center brokerScheduling controller and load balancer Static scheduler Dynamic scheduler Resource prober

Multitask and task dependent scheduler

Data centre-1

Host-1

VM1 VM2

Host-2 Host-3 Host-4

VM3 VM4

Data centre-2

VM5 VM6 VM7 VM8

Figure 2 System architecture

Start

Identify the child tasks of the arrived tasks

If child tasks

Place the parent task into the dependent queue

Select a child task from the collection of childs to a parent and

run it in loop

Run the task by using thestaticdynamic scheduler

Update the parent task of completed status in dependency

queue

If parent task

End

Yes

No

No

size gt 0 size gt 0

Figure 3 Flow chart of multilevel interdependency tasks

The Scientific World Journal 7

(1) Identify the Pending Execution Time in each of the VMs by collecting the Pending Execution length from executing waiting amppaused list(a) Set pendingJobsTotLength = JobsRemainingLengthInExecList + JobsRemainingLengthInWaitList +

JobsRemainingLengthInPauseList(b) 119862V119898 is the processing capacity of the VM(c) Set pendingETime = pendingJobsTotLength119862V119898

(2) Arrange the VMs based on the least pending execution time to the highest pending execution time and group it in case twoVMs fall in the same pending length This Map should contain pending execution time as key and itrsquos associated VMs as a value(a) Sort the VMMap by the Pending Execution Time of each VM

(3) Re-arrange the incoming Jobs based on the length amp priority of the Jobs(a) Sort the JobSubmittedList based on length amp priority

(4) Initiate the vmIndex jobIndex variable amp totalJobs(a) Set vmIndex = 0(b) Set totalJobs = length of JobSubmittedList(c) Set totalVMsCount = size of VMMap(d) Set jobIndex = 0(e) Set jobToVMratio = totalJobstotalVMsCount

(5) Assign the incoming jobs to the VMs based on the least Pending Execution Time in the VMs amp its processing capacity(a) While (true)

Set job = JobSubmittedListget(jobIndex)Set jobLength = lengthOf(job)Set newCompletiontimeMap = EmptyMapFor startNumber from 0 by 1 to totalVMsCount do

Set vm = VMMapgetValue(startNumber)Set probableNewCompTime = jobLength119862V119898 + VMMapgetKey(startNumber)newCompletiontimeMapadd(probableNewCompTime vm)

SortByCompletionTime(newCompletiontimeMap)Set selectedVM = newCompletiontimeMapgetValue(0)selectedVMassign(job)For startNumber from 0 by 1 to totalVMsCount do

Set vm = VMMapgetValue(startNumber)If (vm equals selectedVM)

Set currentLength = VMMapgetKey(startNumber)Set newCurrentLength = currentLength + newCompletiontimeMapgetKey(0)VMMapremoveItem(startNumber)VMMapadd(newCurrentLength vm)

EndIf

sortByCompletionTime(VMMap)Increase the jobIndex by 1If (jobIndex equals totalJobs)

Break(b) End While

(6) Remove all the assigned Jobs from the JobSubmittedList

Algorithm 1 IWRR dynamic scheduler

in which ldquo119899rdquo tasks assigned to ldquo119898rdquo VMs are represented as anLP model from (4) to (5)

Processing Time Let PT119894119895 be the processing time of assigningtask ldquo119894rdquo to VM ldquo119895rdquo and define

119909119894119895 =

1 if task ldquo119894rdquo is assigned

0 otherwise(4)

Then the linear programming model is given as

Minimize 119885 =119899

sum

119894=1

119898

sum

119895=1

PT119894119895119909119894119895

Subject to119899

sum

119894=1

119909119894119895 = 1 119895 = 1 2 119898

119909119894119895 = 0 or 1

(5)

Resource Utilization Maximizing the resource utilizationis another important objective which is derived from (6)

8 The Scientific World Journal

(1) Identify the number of executingpending tasks in each VM and arrange it in increasing order on a Queue(a) Set numTaskInQueue = Number of ExecutingWaiting Tasks in each VM and arrange it in increasing order

(2) If the number of tasks in the first item of the queue is greater than or equal to ldquo1rdquo then terminate the Load Balancing logicexecution else proceed to the 3rd step(a) If (numTaskInQueuefirst() ge1) then

Return(3) If the number of tasks in the last item of the queue is less than or equal to ldquo1rdquo then terminate the Load Balancing logic

execution else proceed to the 4th step(a) If (numTaskInQueuelast()le1) then

Return(4) Identify the Pending Execution Time in each of the VMs by adding the Pending Execution length from executing

waiting amp paused list and then divided the value by the processing capacity of the VM(a) Set pendingJobsTotLength = JobsRemainingLengthInExecList + JobsRemainingLengthInWaitList +

JobsRemainingLengthInPauseList(b) Set pendingExecutionTime = pendingJobsTotLength119862V119898

(5) Arrange the VMs based on the least pending time to the highest pending time and group it in case two VMs fallin the same pending time(a) Sort the VMMap by the Pending Execution time of each VM

(6) Remove a task from the higher pending time VM which contains more than one task and assign this task to the lowerpending time VM which has no task to process(a) While (true)

Set OverLoadedVM = VMMapget(VMMapsize())Set LowLoadedVM = VMMapget(0)Varlowerposition = 1Varupperposition = 1

(b) While(true)If (OverLoadedVMtaskSize() gt 1 ampampLowLoadedVMtaskSize() lt 1)

BreakElse if (OverLoadedVMtaskSize() gt 1)

LowLoadedVM = VMMapget(lowerposition)Lowerposition++

Else if (LowLoadedVMtaskSize() lt 1)OverLoadedVM = VMMapget(VMMapsize() - upperposition)Upperposition++

ElseBreak The Outer While Loop

(c) End WhileSet migratableTask = OverLoadedVMgetMigratableTask()LowLoadedVMassign(migratableTask)Break

(d) End While(7) Re execute from the step 1(8) Then the steps 2 and 3 will decide the load balancing further(9) This load balancing will be called after every task completion irrespective of any VMs

Algorithm 2 IWRR load balancer

and (7) Achieving high resource utilization becomes achallenge Now average utilization is defined as [21]

Average utilization =sum119895isinVMs 119862119879119895

Makespan lowastNumber of VMs (6)

where makespan can be expressed as

Makespan = max119862119879119895

119895 isin VMs (7)

Capacity of a VM Consider

119862VM = penum lowast pemips (8)

where 119862VM is the capacity of the VM (see (8)) penum is thenumber of processing elements in the VM and pemips is themillion instructions per second of a PE

Capacity of All the VMs Consider

119862 =

119898

sum

119895=1

119862VM119895 (9)

where 119862 is the summation of capacities of all VMs thecapacity allotted to the applicationenvironment (refer to(9))

The Scientific World Journal 9

Task Length Consider

TL = 119879mips lowast 119879pe (10)

Job Length Consider

JL =119901

sum

119896=1

TL119894 (11)

where ldquo119901rdquo is the number of interdependent tasks for the job

Task Load Ratio Task load ratio is calculated in (12) and (13)to identify and allocate the tasks to virtual machines It isdefined as

TLR119894119895 =TL119894119862VM119895

119894 = 1 2 119899 tasks 119895 = 1 2 119898 Virtual machines

(12)

where TL119894 is the task length which is estimated at thebeginning of the execution and119862VM is the capacity of theVMConsider

If TLR119894119895 =

0 assign the task to VM

Otherwise Do not assign(13)

5 Experiment Results andPerformance Analysis

The performance of the IWRR algorithm has been analyzedbased on the results of simulation done in the CloudSimThe classes of the CloudSim simulator have been extended(overridden) to utilize the newly written algorithm In thefollowing illustrations the response time number of jobmigrations cumulative idle time of all tasks and the num-ber of delayed tasks are analyzed in the RR WRR andIWRR algorithms under the combination of heterogeneousand homogenous job lengths with heterogeneous resourceconditions Configuration details are given in Table 1

51 Homogeneous Tasks on Heterogeneous Resources (VMs)

511 Comparison of Overall Execution Time

Analysis The following is the order of highest to lowestperformance of the algorithms in the provided homogenousjobs on heterogeneous environment

(a) improved weighted round robin with job length (b)weighted round robin and (c) round robin

Figures 4 and 5 proved that the IWRR by job lengthdelivers a faster completion time than the other 2 loadbalancing algorithms (RR and WRR) in the heterogeneousresources (VMs) and homogenous jobs The IWRRrsquos staticscheduler algorithm considers the job length along withprocessing capacity of the heterogeneous VMs to assign thejob So more number of jobs gets assigned to the highercapacity VMs in the homogenous jobs on heterogeneousenvironments This helps complete the job in a shorter time

Task overall completion time

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

times104

0

5

10

15

20

Com

plet

ion

time (

s)

Figure 4 Execution completion time (space shared)

Task overall completion time

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

times104

0

5

10

15

20

Com

plet

ion

time (

s)

Figure 5 Execution completion time (time shared)

The dynamic scheduler considers the load of all its configuredVMs and its tentative completion time of the current loadhas been identifiedThen the scheduler calculates the arrivedjobrsquos estimated completion time in each of the configuredVMs and adds this calculated timing with the existing loadrsquoscompletion time on each VM Now the least possible com-pletion time has been identified from the above calculationsfor this particular job in one of the VMs and then the job hasbeen assigned to this VM So this algorithm is most suitableto the heterogeneous environment data centers

The load balancer in the IWRRwith job length runs at theend of each taskrsquos completion If the load balancer finds any ofthe VMs completes all its assigned tasks then it will identifythe highly loaded VM from the group and it calculates thepossible completion time of those jobs present in the highlyloaded VM and the least loadedidle VM If the least loadedVM can finish any of the jobs present in the highly loadedVM in the shortest possible time then that job will be movedto the least loaded VM

The WRR considers the ratio of the VM capacity to thetotal VM capacity and it assigns the proportionate number ofarrived jobs into the VM So it performs in the next level Butif any lengthy jobs are assigned to the low capacity VMs basedon the above calculation then this will delay the executioncompletion time

The simple RR has not considered any variables about theenvironment VM capabilities and the job lengths It simply

10 The Scientific World Journal

Table 1 Cloud setup configuration details

Sl number Entity Quantity Purpose

1 Data center 1 Data center having the physical hosts inthe test environment

2 Number of hosts in DC

500 hosts (200Nos-4-CoreHyperThreadedOpteron270200 Nos-4-CoreHyperThreadedOpteron2218 and 100 Nos8-Core HyperThreaded XeonE5430)

Number of physical hosts used in theexperiment

3 Number of processelements 8816

Number of executing elements in each ofthe hosts The host has 8 or 16 processingelements

4 PE processing capacity 174247355MIPS Each host has any one of the processingcapacities

5 Host ram capacity 1632GB Each host has any of these RAMmemories

6 Number of VM 10 to 100 with an increment of 10 Number of virtual machines used in theexperiment

7 Number of PE to VM 1 Processing element allotted in each VM

8 VMrsquos PE processingcapacity 1503009012093112105225 Virtual machinersquos processing capacity

9 VM RAM capacity 1920MB The RAMrsquos memory capacity of the VM

10 VMmanager XenThe operating system runs on thephysical machine to manage the VMs Itprovides the virtualization

11 Number of PE in Tasks 1 The jobtaskrsquos maximum usableprocessing element

12 Task lengthinstructions 500000 to 200000000

Tasks length in million instructions Theheterogeneous job length test having thevariations from the mentioned minimumto maximum

assigns the jobs to theVM lists one after another in an orderedmanner So its completion time of the jobs is higher than theother 2 algorithms

512 Comparison of Task Migration The task migrations arevery minimal in the IWRR algorithm due to extensive staticand dynamic scheduler algorithm in identifying the mostappropriate VM to each of the jobs which is illustrated inFigures 6 and 7 So the load balancer has been unable tofind the further optimization to complete the task in theshortest time But in the case of WRR and RR algorithmsthe static and dynamic scheduler has not considered the joblengths Instead it considers only the resource capabilitiesand the arrived job list So the load balancer has been ableto find the further optimization at run time and it shifts thejobs from higher loaded VM to the underutilized VMs Thisintern produces the higher task migrations in the weightedround robin and round robin algorithmsThe number of taskmigrations in the lower number of resources is high in theWRR and RR algorithms

513 Comparison of Delayed Tasks and Combined Idle Timeof All Tasks (Space Shared) The number of delayed tasksand the combined idle time of all tasks are higher in

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of task migrations

0

5

10

15

Num

ber o

f tas

k m

igra

tions

Figure 6 Number of task migrations (space shared)

the IWRR than the other two algorithms which is analyzedfrom Figures 8 and 9 This increase happened due to theallocation of more tasks in the higher capacity VMs At anypoint of time only one job can run in the space sparedCPUPE even if it has a higher capacity PE So if anotherjob got allocated to the same VM due to its higher processingcapacity then that job has to be in waiting state until therunning job gets completed This increases the number of

The Scientific World Journal 11

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of task migrations

02468

1012

Num

ber o

f tas

k m

igra

tions

Figure 7 Number of task migrations (time shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of delayed tasks

0

50

100

150

Del

ayed

task

s

Figure 8 Number of delayed tasks (space shared)

delayed tasks and the combined idle time in the IWRRalgorithm But in the other two algorithms the jobs getassigned to even the lower capacity VMs without accuratelypredicting the possible completion time in various VMs Sothe number of delayed tasks and combined idle time of alltasks are lower in RR and WRR

514 Comparison of Million Instructions Reexecuteddue to Task Migration

Analysis The job migrations from one VM to another VMlead to the jobrsquos execution termination in one of the VMsOtherwise the current state of the execution has to be copiedover to another VM to proceed from the left out locationin the previous allotted VM In this work the current stateof the job at the time of job migration will be lost So thejob will be reexecuted from the start of its instructions inthe migrated VM This kind of execution wastage comes inthe time shared CPU rather than the space shared CPU Theinstruction reexecution will be higher in the RR and WRRalgorithms due to the higher number of task migrations inRR and WRR (refer to Figure 10)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Combined idle time of all tasks times104

0

100

200

300

400

Idle

tim

e (s)

Figure 9 Idle time of all tasks (space shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Million instructions reexecuted by task migrationtimes10

4

0

500

1000

1500

2000

Instr

uctio

ns re

exec

uted

Figure 10 Million instructions reexecuted (time shared)

52 Heterogeneous Tasks on Heterogeneous Resources (VMs)

521 Comparison of Overall Execution Time

Analysis The following is the order of highest to lowest per-formance of the algorithms in the provided heterogeneousenvironment

(a) improved weighted round robin with job length (b)weighted round robin (c) round robin

Figures 11 and 12 proved that the improved weightedround robin by job length delivers a faster completion timethan the other two load balancing algorithms (RR andWRR)in the heterogeneous resources (VMs) and heterogeneousjobsThe IWRRrsquos static scheduler algorithm considers the joblength along with processing capacity of the heterogeneousVMs to assign the job So the lengthy jobs get assigned tothe higher capacity VMs in the heterogeneous environmentsThis helps complete the job in a shorter time The dynamicscheduler considers the load of all its configured VMs and itstentative completion time of the current load has been identi-fiedThen the scheduler calculates the arrived jobrsquos estimatedcompletion time in each of the configured VMs and adds thiscalculated timing with the existing loadrsquos completion time oneach VM Now the least possible completion time has beenidentified from the above calculations for this particular jobin one of the VMs and then the job has been assigned to thisVM So this algorithm is most suitable to the heterogeneousenvironment data centers

12 The Scientific World Journal

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Task overall completion time times104

0

5

10

15

Com

plet

ion

time (

s)

Figure 11 Execution completion time (space shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Task overall completion time times104

0

5

10

15

20

Com

plet

ion

time (

s)

Figure 12 Execution completion time (time shared)

The load balancer in the IWRRwith job length runs at theend of each taskrsquos completion If the load balancer finds any ofthe VMs completes all its assigned tasks then it will identifythe highly loaded VM from the group and it calculates thepossible completion time of those jobs present in the highlyloaded VM and the least loadedidle VM If the least loadedVM can finish any of the jobs present in the highly loadedVM in the shortest possible time then that job will be movedto the least loaded VM The WRR considers the ratio ofthe VM capacity to the total VM capacity and it assigns theproportionate number of arrived jobs into the VM So itperforms in the next level But if any lengthy jobs are assignedto the low capacity VMs based on the above calculation thenthis will delay the execution completion time The simple RRhas not considered any variables about the environment VMcapabilities and the job lengths It simply assigns the jobsto the VM lists one after another in an ordered manner Soits completion time of the jobs is higher than the other twoalgorithms

522 Comparison of Task Migration

Analysis The task migrations are very minimal in the IWRRalgorithm due to extensive static and dynamic scheduleralgorithm in identifying the most appropriate VM to each ofthe jobs which is derived from Figures 13 and 14 So the loadbalancer has been unable to find the further optimizationto complete the task in the shortest time But in the case of

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of task migrations

0

5

10

15

20

Num

ber o

f tas

k m

igra

tions

Figure 13 Number of task migrations (space shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of task migrations

0

2

4

6

8

Num

ber o

f tas

k m

igra

tions

Figure 14 Number of task migrations (time shared)

WRR and RR algorithms the static and dynamic schedulerhas not considered the job lengths Instead it considers onlythe resource capabilities and the arrived job list So the loadbalancer has been able to find the further optimization atrun time and it shifts the jobs from higher loaded VM tothe underutilized VMs This intern produces the higher taskmigrations in the WRR and RR algorithms Additionallythese numbers of task migrations are high in the lowernumber of resources in the WRR and RR algorithms

523 Comparison of Delayed Tasks and Combined IdleTime of All Tasks

Analysis Figures 15 and 16 explain that the number of delayedtasks and the combined idle time of all tasks are higher in theIWRR than the other two algorithmsThis increase happeneddue to the allocation of more tasks in the higher capacityVMs At any point of time only one job can run in thespace spared CPUPE even if it has a higher capacity PESo if another job got allocated to the same VM due to itshigher processing capacity then that job has to be in waitingstate until the running job gets completed This increases thenumber of delayed tasks and the combined idle time in theIWRRalgorithm But in the other two algorithms the jobs getassigned even to the lower capacity VMs without accuratelypredicting the possible completion time in various VMs

The Scientific World Journal 13

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of delayed tasks

020406080

100120

Del

ayed

task

s

Figure 15 Number of delayed tasks (space shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Combined idle time of all tasks times10

4

0

100

200

300

400

Idle

tim

e (s)

Figure 16 Idle time of all tasks (space shared)

So the number of delayed tasks and combined idle time ofall tasks are lower in RR and WRR

524 Comparison of Million Instructions Reexecuteddue to Task Migration

Analysis The job migrations from one VM to another VMlead to the jobrsquos execution termination in one of the VMsOtherwise the current state of the execution has to be copiedover to another VM to proceed from the left out location inthe previous allotted VM In this project the current state ofthe job at the time of jobmigrationwill be lost So the jobwillbe reexecuted from the start of its instructions in themigratedVMThis kind of execution wastage comes in the time sharedCPUThe instruction reexecutionwill be higher in theRR andWRR algorithms due to the higher number of taskmigrationsin RR and WRR which is shown in Figure 17

6 Conclusion and Future Enhancements

In this work the improved weighted round robin algorithmconsiders the capabilities of each VM and the task length ofeach requested job to assign the jobs into the most appro-priate VMsThis improved weighted round robin algorithmsare having three different stages to handle the three differentscenarios in the environment life cycle The static scheduleralgorithm pays attention to the initial placement of the jobs

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Million instructions reexecuted by task migration

0

500

1000

1500

Instr

uctio

ns re

exec

uted times10

4

Figure 17 Million instructions reexecuted (time shared)

which distributes the job requests to the participating VMsevenly based on the VMrsquos capabilities and the length of therequested job The dynamic scheduler considers the load ofall its configured VMs and its tentative completion time ofthe current load has been identified along with the arrivedjobrsquos estimated completion time in each of the configuredVMs After this the least possible completion time has beenidentified from the above calculations for this particular jobin one of the VMs and then the job has been assigned to thisVMThe load balancer in the improvedweighted round robinruns at the end of each taskrsquos completion This always makesthe loads evenly distributed across all the VMs at the end ofeach taskrsquos completion and thus eliminates any idle time inthe participating resources (VMs)

The performance analysis and experiment results of thisalgorithm proved that the improved weighted round robinalgorithm ismost suitable to the heterogeneoushomogenousjobs with heterogeneous resources (VMs) compared to theother round robin and weighted round robin algorithmsThis algorithm considers the response time as the main QoSparameter

As part of the future enhancements we can considermul-tiple PEs in the participating heterogeneous VMs along withthe heterogeneous multiple PEs capable jobs with distributedcomputing capabilities in the improvedweighted round robinalgorithm Additionally the load balancing can also considertransferring the state of jobs between the VMs in the jobmigrations These above considerations can help in furtherreducing the job completion time in all the algorithms

This work had considered the overall completion time ofall the participating jobs in different algorithms Instead inthe future enhancements the completion time of each job canbe compared in the different scheduling and load balancingalgorithms The algorithms can be fine-tuned further toachieve the better consistent results on all the differentperspectives Similarly the comparison results should betaken for the different job arrival patterns on all the threedifferent scheduling and load balancing algorithms

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

14 The Scientific World Journal

Acknowledgments

The authors would like to thank Dr S Jayaprakash formerprofessor IIT Madras and Mr R Bhaskar for their continu-ous support towards the successful outcome of this work

References

[1] Z Xiao W Song and Q Chen ldquoDynamic resource allocationusing virtual machines for cloud computing environmentrdquoIEEE Transactions on Parallel and Distributed Systems vol 24no 6 pp 1107ndash1117 2013

[2] L D Dhinesh Babu and P Venkata Krishna ldquoHoney bee behav-ior inspired load balancing of tasks in cloud computing envi-ronmentsrdquo Applied Soft Computing Journal vol 13 no 5 pp2292ndash2303 2013

[3] J Cao K Li and I Stojmenovic ldquoOptimal power allocation andload distribution for multiple heterogeneous multicore serverprocessors across clouds and data centersrdquo IEEE Transactionson Computers vol 63 no 1 pp 45ndash58 2014

[4] R N Calheiros and R Buyya ldquoMeeting deadlines of scientificworkflows in public clouds with tasks replicationrdquo IEEE Trans-actions on Parallel and Distributed Systems vol 25 no 7 pp1787ndash1796 2014

[5] R Basker V Rhymend Uthariaraj and D Chitra Devi ldquoAnenhanced scheduling in weighted round robin for the cloudinfrastructure servicesrdquo International Journal of Recent Advancein Engineering amp Technology vol 2 no 3 pp 81ndash86 2014

[6] Z Yu F Menng and H Chen ldquoAn efficient list schedulingalgorithm of dependent task in gridrdquo in Proceedings of the3rd IEEE International Conference on Computer Science andInformation Technology (ICCSIT rsquo10) IEEE Chengdu ChinaJuly 2010

[7] H M Fard and H Deldari ldquoAn economic approach forscheduling dependent tasks in grid computingrdquo in Proceedingsof the 11th IEEE International Conference on ComputationalScience and Engineering (CSEWorkshops rsquo08) pp 71ndash76 IEEESan Paulo Brazil July 2008

[8] W Kadri B Yagoubi and M Meddeber ldquoEfficient dependenttasks assignment algorithm for grid computing environmentrdquoin Proceedings of the 2nd International Symposium onModellingand Implementation of Complex Systems (MISC rsquo12) Constan-tine Algeria May 2012

[9] S Ijaz E U Munir W Anwar andW Nasir ldquoEfficient schedul-ing strategy for task graphs in heterogeneous computing envi-ronmentrdquo The International Arab Journal of Information Tech-nology vol 10 no 5 2013

[10] Y Xu K Li LHe andT K Truong ldquoADAG scheduling schemeon heterogeneous computing systems using double molecularstructure-based chemical reaction optimizationrdquo Journal ofParallel andDistributed Computing vol 73 no 9 pp 1306ndash13222013

[11] L-T Lee C-W Chen H-Y Chang C-C Tang and K-CPan ldquoA non-critical path earliest-finish algorithm for inter-dependent tasks in heterogeneous computing environmentsrdquo inProceedings of the 11th IEEE International Conference on HighPerformance Computing and Communications (HPCC rsquo09) pp603ndash608 Seoul Republic of Korea June 2009

[12] B Xu C Zhao E Hu and B Hu ldquoJob scheduling algorithmbased on Berger model in cloud environmentrdquo Advances inEngineering Software vol 42 no 7 pp 419ndash425 2011

[13] B Mondal K Dasgupta and P Dutta ldquoLoad balancing in cloudcomputing using stochastic hill climbing-a soft computingapproachrdquo Procedia Technology vol 4 pp 783ndash789 2012

[14] M Rahman R Hassan R Ranjan and R Buyya ldquoAdaptiveworkflow scheduling for dynamic grid and cloud computingenvironmentrdquo Concurrency and Computation Practice andExperience vol 25 no 13 pp 1816ndash1842 2013

[15] G Gharooni-fard F Moein-darbari H Deldari and A Mor-varidi ldquoScheduling of scientific workflows using a chaos-genetic algorithmrdquo Procedia Computer Science vol 1 no 1 pp1445ndash1454 2010 International Conference on ComputationalScience ICCS 2010

[16] C Lin and S Lu ldquoScheduling scientific workflows elastically forcloud computingrdquo in Proceedings of the IEEE 4th InternationalConference on Cloud Computing Washington DC USA July2011

[17] Vijindra and S Shenai ldquoSurvey on scheduling issues in cloudcomputingrdquo Procedia Engineering vol 38 pp 2881ndash2888 2012Proceedings of the International Conference on ModellingOptimization and Computing

[18] M Xu L Cui H Wang and Y Bi ldquoA multiple QoS constrainedscheduling strategy of multiple workflows for cloud comput-ingrdquo in Proceedings of the IEEE International Symposium onParallel and Distributed Processing with Applications (ISPA rsquo09)pp 629ndash634 IEEE Chengdu China August 2009

[19] C Lin S Lu X Fei et al ldquoA reference architecture for scientificworkflow management systems and the VIEW SOA solutionrdquoIEEE Transactions on Services Computing vol 2 no 1 pp 79ndash92 2009

[20] S Ghanbari and M Othman ldquoA priority based job schedulingalgorithm in cloud computingrdquo in Proceedings of the Inter-national Conference on Advances Science and ContemporaryEngineering pp 778ndash785 October 2012

[21] F Xhafa and A Abraham Mata-Heuristics for Grid SchedulingProblems Springer Berlin Germany 2008

Submit your manuscripts athttpwwwhindawicom

Computer Games Technology

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Distributed Sensor Networks

International Journal of

Advances in

FuzzySystems

Hindawi Publishing Corporationhttpwwwhindawicom

Volume 2014

International Journal of

ReconfigurableComputing

Hindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Applied Computational Intelligence and Soft Computing

thinspAdvancesthinspinthinsp

Artificial Intelligence

HindawithinspPublishingthinspCorporationhttpwwwhindawicom Volumethinsp2014

Advances inSoftware EngineeringHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Journal of

Computer Networks and Communications

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation

httpwwwhindawicom Volume 2014

Advances in

Multimedia

International Journal of

Biomedical Imaging

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

ArtificialNeural Systems

Advances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Computational Intelligence and Neuroscience

Industrial EngineeringJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Human-ComputerInteraction

Advances in

Computer EngineeringAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Page 4: Research Article Load Balancing in Cloud …downloads.hindawi.com/journals/tswj/2016/3896065.pdf1. Introduction Cloud computing is a computing paradigm for managing and delivering

4 The Scientific World Journal

and collects the VM capabilities current load on each VMand number of jobs in executionwaiting queue in each VMThe task requirement is provided by the user which includesthe length of the tasks to be executed and transfers therequirements to the scheduler for its operative decisions

31 Scheduling and Load Balancing Design Job request isgiven by the user through the interface and passed to taskmanager for dependency and independent task analysisThismodule receives the job and verifies whether the job is acomplete independent task or contains multiple tasks If itcontains multiple tasks then it verifies the interdependencybetween the multiple tasks The dependency task queue andindependent task queue are found The dependent tasks willbe notified to the scheduler so that parent tasks are scheduledafter child tasks are executed Dependency task queue willcontain the tasks which depends on the other tasks presentin the VMs Once all the child tasks present in this queuecompleted its execution the parent task will be taken for theexecution by assigning it to the VM whereas independenttask queue contains independent tasks Independent taskqueue and dependency task are input to the scheduler Thescheduler selects the appropriate VM based on IWRR algo-rithmThis scheduler collects the resources information fromthe resource manager It calculates the processing capacity ofeach of the VMs and then it applies the proposed algorithmto find the appropriate VM for the given job Additionallyevery VM is maintaining the JobExecutionList JobPauseListand JobWaitingList information specific to it The JobExe-cutionList contains the current executing job list and theJobPausedList contains the temporarily paused jobs in theVM Similarly the JobWaitingList Queue contains the waitingjobs on the specific VM but this will be executed uponreceiving the JobExecutionList JobPauseList and JobWait-ingList from each of the VMs calculation of the least utilizedVM is carried out for every request arrival Then this leastutilized VM information will be returned to the schedulerResource manager communicates with all the VMs to collecteach of its capabilities by getting its number of the processingelements and its processing capacity to each of its elementsThis resource manager additionally calculates the weightageto each of the VMs based on the processing capacity allottedto it This also identifies the memory configured available ineach of the VMs Load balancer calculates the ratio betweenthe number of jobs running and the number of VMs If theratio is less than 1 then it communicates the schedulerto identify a VM for the job else it will calculate theload on each of the VMs using the job execution list ofthe VMs If the utilization is less than the 20 then theleast utilized VM will be allotted else the scheduler willbe communicated to identify the most suitable VM for thejob Once the appropriate VM has been identified the Jobwill be assigned to that VM The configured data centersinclude hosts and their VM with corresponding processingelements form the set of resources available for computingThe resources are probed for idleness and for heavy load sothat the job requests are effectively allocated to an appropriateresource

32 Computation of Load Imbalance Factor The sumof loadsof all virtual machines is defined as

119871 =

119896

sum

119894=1

119897119894 (1)

where 119894 represents the number of VMs in a data centerThe load per unit capacity is defined as

LPC = 119871sum119898

119894=1119888119894

Threshold 119879119894 = LPC lowast 119888119894(2)

where 119888119894 is the capacity of the nodeThe load imbalance factor of a particular virtual machine

is given by

If VM

lt

1003816100381610038161003816100381610038161003816100381610038161003816

119879119894 minus

119896

sum

V=1119871V

1003816100381610038161003816100381610038161003816100381610038161003816

Underloaded

gt

1003816100381610038161003816100381610038161003816100381610038161003816

119879119894 minus

119896

sum

V=1119871V

1003816100381610038161003816100381610038161003816100381610038161003816

Overloaded

=

1003816100381610038161003816100381610038161003816100381610038161003816

119879119894 minus

119896

sum

119894=1

119897119894

1003816100381610038161003816100381610038161003816100381610038161003816

Balanced

(3)

The migration of task from the overloaded VM to under-loaded VM can be allowed until the load on the overloadedVM drops below the threshold and the difference is 120583119894

A virtual machine is identified as underloaded where thesum of loads of all the VMs is below the threshold valueof that VM The underloaded VM accepts the load fromthe overloaded VM until the load on the VM exceeds thethreshold and the difference is 120582119895 as shown below

The transfer of load from the overloaded VM is carriedout until its load is less than the threshold The underloadedVM can accept load only up to its threshold thus avoidingit being overloadedThis implies that the amount of load thatcan be transferred from the underloadedVM should be in therange of 120583 and 120582

33 Algorithms The two most frequently used schedulingprinciples in a nonpreemptive system are round Robin andweighted round robin policies Improved weighted roundrobin is the proposed algorithm Existing algorithms areimplemented for comparative analysis

331 Round Robin Algorithm The round robin algorithmallocates task to the next VM in the queue irrespective of theload on that VMThe Round Robin policy does not considerthe resource capabilities priority and the length of the tasksSo the higher priority and the lengthy tasks end up with thehigher response times

332 Weighted Round Robin Algorithm Theweighted roundrobin considers the resource capabilities of the VMs andassigns higher number of tasks to the higher capacity VMsbased on the weightage given to each of the VMs But it failedto consider the length of the tasks to select the appropriateVM

The Scientific World Journal 5

333 Improved Weighted Round Robin Algorithm The pro-posed improved weighted round robin algorithm is the mostoptimal algorithmand it allocates the jobs to themost suitableVMs based on the VMrsquos information like its processingcapacity load on the VMs and length of the arrived taskswith its priority The static scheduling of this algorithm usesthe processing capacity of the VMs the number of incomingtasks and the length of each task to decide the allocation onthe appropriate VM

The dynamic scheduling (at run time) of this algorithmadditionally uses the load on each of the VMs along with theinformation mentioned above to decide the allocation of thetask to the appropriate VMThere is a probability at run timethat in some of the cases the task may take longer executiontime than the initial calculation due to the execution of morenumber of cycles (like a loop) on the same instructions basedon the complicated run time data

In such situations the load balancer rescues the schedul-ing controller and rearranges the jobs according to the idleslot available in the other unutilizedunderutilized VMs bymoving a waiting job from the heavily loaded VMs The loadbalancer identifies the unutilizedunderutilizedVMs throughresource prober whenever a task is completed in any of theVMs If there is no unutilized VM then the load balancerwill not take up any taskmigration among the VMs If it findsany unutilizedunderutilizedVM then it willmigrate the taskfrom the overloadedVM to the unutilizedunderutilizedVMThe load balancer analyses the resourcersquos (VM) load only onthe completion of any of the tasks on any of the VMs It neverexamines the resourcersquos (VM) load independently at any timeto circumvent the overhead on the VMs This will help inreducing the number of task migrations between the VMsand the number of resource probe executions in the VMs

34 Implementation Aspect of the Algorithm The systemimplementation consists of five major modules

(a) Static scheduler (initial placements)(b) Dynamic scheduler (run time placements)(c) Load balancer (decision on job migration at run

time)(d) Task interdependent scheduler(e) Resource monitor

The static scheduler has the function to find the mostsuitable VM and assign the tasks to VMs based on thealgorithms (simple round robin weighted round robin andimproved weighted round robin) applied in the schedulerThe dynamic scheduler has the function to place the runtime arrival jobs to the most suitable VMs based on theleast utilized VM at that particular job arrival time Loadbalancerscheduler controller decides the migration of taskfrom a heavily loaded VM to an idle VM or least loaded VMat run time whenever it finds an idle VM or least loadedVM by utilizing the resource monitor information Resourcemonitor communicates with all the VMs resource probersand collects the VM capabilities current load on each VMand number of jobs in executionwaiting queues in each

VM to decide the appropriate VMs to the jobs The taskrequirement estimator identifies the length of the tasks tobe executed and transfers the estimated results to the loadbalancer for its operative decisions

Figure 2 illustrates the system architecture in which thesystem consists of the data center broker and multiple datacentersThe data center can host any number of hosts and thisintern can host any number of VMs in each of the hosts basedon its capacity The data center broker has the importantcomponents to schedule and load-balance the jobs effectivelywhereas the algorithms of these components vary accordingto the round robin weighted round robin and the improvedweighted round robin load balancing

341 Dynamic Scheduler in IWRR Load Balancer Dynamicscheduling in IWRR load balancer is achieved by Initializa-tion mapping (scheduling) load balance and execution asexplained in Algorithm 1 Initialization is done by collectingthe pending MI execution time from each of the createdVMs and arranging it in ascending order of pending timefollowed by arranging the run time of the arrived tasks inqueue based on the priority Mapping (scheduling) involvesselection of task which is in top of the queue and calculationof its completion time in each VM Then task is assignedto the most appropriate VM based on completion andpending execution time Load balancing is done by addingthe corresponding tasks and execution time to the VMspending time Then rearrange the VM utilized list basedon the latest load which is followed by sending the task toVM processing queue and adding the task to the assignedlist When all cloudlets are assigned to VMs the tasks areexecuted in assigned VMs

342 Load Balancer in IWRR Load balancer initializes bycollecting the pending execution time from each of thecreated VMs then arranging it in ascending order to identifythe number of tasks in each VM and arrange it in increasingorder queue Mapping (scheduling) is done by getting a taskfrom VM with higher pending time and then identifies themost suitable VM to execute this task by calculating thecompletion time of this task in all the VMs and assigningthe selected task to the identified VM Finally load balancingis accomplished by rearranging the order based on the newexecution time in each VM (refer to Algorithm 2)

343 Task Dependency Queue in Multilevel InterdependentTasks Multilevel interdependency tasks are explained inFigure 3

4 Model

Let VM = (VM1VM2 VM119898) be the set ldquo119898rdquo of virtualmachines which should process ldquo119899rdquo tasks represented by theset 119879 = (1198791 1198792 119879119899) All the VMs are running in paralleland are unrelated and each VM runs on its own resourcesThere is no sharing of its own resources by other VMsWe schedule nonpreemptive dependent tasks to these VMs

6 The Scientific World Journal

Client

Data center brokerScheduling controller and load balancer Static scheduler Dynamic scheduler Resource prober

Multitask and task dependent scheduler

Data centre-1

Host-1

VM1 VM2

Host-2 Host-3 Host-4

VM3 VM4

Data centre-2

VM5 VM6 VM7 VM8

Figure 2 System architecture

Start

Identify the child tasks of the arrived tasks

If child tasks

Place the parent task into the dependent queue

Select a child task from the collection of childs to a parent and

run it in loop

Run the task by using thestaticdynamic scheduler

Update the parent task of completed status in dependency

queue

If parent task

End

Yes

No

No

size gt 0 size gt 0

Figure 3 Flow chart of multilevel interdependency tasks

The Scientific World Journal 7

(1) Identify the Pending Execution Time in each of the VMs by collecting the Pending Execution length from executing waiting amppaused list(a) Set pendingJobsTotLength = JobsRemainingLengthInExecList + JobsRemainingLengthInWaitList +

JobsRemainingLengthInPauseList(b) 119862V119898 is the processing capacity of the VM(c) Set pendingETime = pendingJobsTotLength119862V119898

(2) Arrange the VMs based on the least pending execution time to the highest pending execution time and group it in case twoVMs fall in the same pending length This Map should contain pending execution time as key and itrsquos associated VMs as a value(a) Sort the VMMap by the Pending Execution Time of each VM

(3) Re-arrange the incoming Jobs based on the length amp priority of the Jobs(a) Sort the JobSubmittedList based on length amp priority

(4) Initiate the vmIndex jobIndex variable amp totalJobs(a) Set vmIndex = 0(b) Set totalJobs = length of JobSubmittedList(c) Set totalVMsCount = size of VMMap(d) Set jobIndex = 0(e) Set jobToVMratio = totalJobstotalVMsCount

(5) Assign the incoming jobs to the VMs based on the least Pending Execution Time in the VMs amp its processing capacity(a) While (true)

Set job = JobSubmittedListget(jobIndex)Set jobLength = lengthOf(job)Set newCompletiontimeMap = EmptyMapFor startNumber from 0 by 1 to totalVMsCount do

Set vm = VMMapgetValue(startNumber)Set probableNewCompTime = jobLength119862V119898 + VMMapgetKey(startNumber)newCompletiontimeMapadd(probableNewCompTime vm)

SortByCompletionTime(newCompletiontimeMap)Set selectedVM = newCompletiontimeMapgetValue(0)selectedVMassign(job)For startNumber from 0 by 1 to totalVMsCount do

Set vm = VMMapgetValue(startNumber)If (vm equals selectedVM)

Set currentLength = VMMapgetKey(startNumber)Set newCurrentLength = currentLength + newCompletiontimeMapgetKey(0)VMMapremoveItem(startNumber)VMMapadd(newCurrentLength vm)

EndIf

sortByCompletionTime(VMMap)Increase the jobIndex by 1If (jobIndex equals totalJobs)

Break(b) End While

(6) Remove all the assigned Jobs from the JobSubmittedList

Algorithm 1 IWRR dynamic scheduler

in which ldquo119899rdquo tasks assigned to ldquo119898rdquo VMs are represented as anLP model from (4) to (5)

Processing Time Let PT119894119895 be the processing time of assigningtask ldquo119894rdquo to VM ldquo119895rdquo and define

119909119894119895 =

1 if task ldquo119894rdquo is assigned

0 otherwise(4)

Then the linear programming model is given as

Minimize 119885 =119899

sum

119894=1

119898

sum

119895=1

PT119894119895119909119894119895

Subject to119899

sum

119894=1

119909119894119895 = 1 119895 = 1 2 119898

119909119894119895 = 0 or 1

(5)

Resource Utilization Maximizing the resource utilizationis another important objective which is derived from (6)

8 The Scientific World Journal

(1) Identify the number of executingpending tasks in each VM and arrange it in increasing order on a Queue(a) Set numTaskInQueue = Number of ExecutingWaiting Tasks in each VM and arrange it in increasing order

(2) If the number of tasks in the first item of the queue is greater than or equal to ldquo1rdquo then terminate the Load Balancing logicexecution else proceed to the 3rd step(a) If (numTaskInQueuefirst() ge1) then

Return(3) If the number of tasks in the last item of the queue is less than or equal to ldquo1rdquo then terminate the Load Balancing logic

execution else proceed to the 4th step(a) If (numTaskInQueuelast()le1) then

Return(4) Identify the Pending Execution Time in each of the VMs by adding the Pending Execution length from executing

waiting amp paused list and then divided the value by the processing capacity of the VM(a) Set pendingJobsTotLength = JobsRemainingLengthInExecList + JobsRemainingLengthInWaitList +

JobsRemainingLengthInPauseList(b) Set pendingExecutionTime = pendingJobsTotLength119862V119898

(5) Arrange the VMs based on the least pending time to the highest pending time and group it in case two VMs fallin the same pending time(a) Sort the VMMap by the Pending Execution time of each VM

(6) Remove a task from the higher pending time VM which contains more than one task and assign this task to the lowerpending time VM which has no task to process(a) While (true)

Set OverLoadedVM = VMMapget(VMMapsize())Set LowLoadedVM = VMMapget(0)Varlowerposition = 1Varupperposition = 1

(b) While(true)If (OverLoadedVMtaskSize() gt 1 ampampLowLoadedVMtaskSize() lt 1)

BreakElse if (OverLoadedVMtaskSize() gt 1)

LowLoadedVM = VMMapget(lowerposition)Lowerposition++

Else if (LowLoadedVMtaskSize() lt 1)OverLoadedVM = VMMapget(VMMapsize() - upperposition)Upperposition++

ElseBreak The Outer While Loop

(c) End WhileSet migratableTask = OverLoadedVMgetMigratableTask()LowLoadedVMassign(migratableTask)Break

(d) End While(7) Re execute from the step 1(8) Then the steps 2 and 3 will decide the load balancing further(9) This load balancing will be called after every task completion irrespective of any VMs

Algorithm 2 IWRR load balancer

and (7) Achieving high resource utilization becomes achallenge Now average utilization is defined as [21]

Average utilization =sum119895isinVMs 119862119879119895

Makespan lowastNumber of VMs (6)

where makespan can be expressed as

Makespan = max119862119879119895

119895 isin VMs (7)

Capacity of a VM Consider

119862VM = penum lowast pemips (8)

where 119862VM is the capacity of the VM (see (8)) penum is thenumber of processing elements in the VM and pemips is themillion instructions per second of a PE

Capacity of All the VMs Consider

119862 =

119898

sum

119895=1

119862VM119895 (9)

where 119862 is the summation of capacities of all VMs thecapacity allotted to the applicationenvironment (refer to(9))

The Scientific World Journal 9

Task Length Consider

TL = 119879mips lowast 119879pe (10)

Job Length Consider

JL =119901

sum

119896=1

TL119894 (11)

where ldquo119901rdquo is the number of interdependent tasks for the job

Task Load Ratio Task load ratio is calculated in (12) and (13)to identify and allocate the tasks to virtual machines It isdefined as

TLR119894119895 =TL119894119862VM119895

119894 = 1 2 119899 tasks 119895 = 1 2 119898 Virtual machines

(12)

where TL119894 is the task length which is estimated at thebeginning of the execution and119862VM is the capacity of theVMConsider

If TLR119894119895 =

0 assign the task to VM

Otherwise Do not assign(13)

5 Experiment Results andPerformance Analysis

The performance of the IWRR algorithm has been analyzedbased on the results of simulation done in the CloudSimThe classes of the CloudSim simulator have been extended(overridden) to utilize the newly written algorithm In thefollowing illustrations the response time number of jobmigrations cumulative idle time of all tasks and the num-ber of delayed tasks are analyzed in the RR WRR andIWRR algorithms under the combination of heterogeneousand homogenous job lengths with heterogeneous resourceconditions Configuration details are given in Table 1

51 Homogeneous Tasks on Heterogeneous Resources (VMs)

511 Comparison of Overall Execution Time

Analysis The following is the order of highest to lowestperformance of the algorithms in the provided homogenousjobs on heterogeneous environment

(a) improved weighted round robin with job length (b)weighted round robin and (c) round robin

Figures 4 and 5 proved that the IWRR by job lengthdelivers a faster completion time than the other 2 loadbalancing algorithms (RR and WRR) in the heterogeneousresources (VMs) and homogenous jobs The IWRRrsquos staticscheduler algorithm considers the job length along withprocessing capacity of the heterogeneous VMs to assign thejob So more number of jobs gets assigned to the highercapacity VMs in the homogenous jobs on heterogeneousenvironments This helps complete the job in a shorter time

Task overall completion time

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

times104

0

5

10

15

20

Com

plet

ion

time (

s)

Figure 4 Execution completion time (space shared)

Task overall completion time

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

times104

0

5

10

15

20

Com

plet

ion

time (

s)

Figure 5 Execution completion time (time shared)

The dynamic scheduler considers the load of all its configuredVMs and its tentative completion time of the current loadhas been identifiedThen the scheduler calculates the arrivedjobrsquos estimated completion time in each of the configuredVMs and adds this calculated timing with the existing loadrsquoscompletion time on each VM Now the least possible com-pletion time has been identified from the above calculationsfor this particular job in one of the VMs and then the job hasbeen assigned to this VM So this algorithm is most suitableto the heterogeneous environment data centers

The load balancer in the IWRRwith job length runs at theend of each taskrsquos completion If the load balancer finds any ofthe VMs completes all its assigned tasks then it will identifythe highly loaded VM from the group and it calculates thepossible completion time of those jobs present in the highlyloaded VM and the least loadedidle VM If the least loadedVM can finish any of the jobs present in the highly loadedVM in the shortest possible time then that job will be movedto the least loaded VM

The WRR considers the ratio of the VM capacity to thetotal VM capacity and it assigns the proportionate number ofarrived jobs into the VM So it performs in the next level Butif any lengthy jobs are assigned to the low capacity VMs basedon the above calculation then this will delay the executioncompletion time

The simple RR has not considered any variables about theenvironment VM capabilities and the job lengths It simply

10 The Scientific World Journal

Table 1 Cloud setup configuration details

Sl number Entity Quantity Purpose

1 Data center 1 Data center having the physical hosts inthe test environment

2 Number of hosts in DC

500 hosts (200Nos-4-CoreHyperThreadedOpteron270200 Nos-4-CoreHyperThreadedOpteron2218 and 100 Nos8-Core HyperThreaded XeonE5430)

Number of physical hosts used in theexperiment

3 Number of processelements 8816

Number of executing elements in each ofthe hosts The host has 8 or 16 processingelements

4 PE processing capacity 174247355MIPS Each host has any one of the processingcapacities

5 Host ram capacity 1632GB Each host has any of these RAMmemories

6 Number of VM 10 to 100 with an increment of 10 Number of virtual machines used in theexperiment

7 Number of PE to VM 1 Processing element allotted in each VM

8 VMrsquos PE processingcapacity 1503009012093112105225 Virtual machinersquos processing capacity

9 VM RAM capacity 1920MB The RAMrsquos memory capacity of the VM

10 VMmanager XenThe operating system runs on thephysical machine to manage the VMs Itprovides the virtualization

11 Number of PE in Tasks 1 The jobtaskrsquos maximum usableprocessing element

12 Task lengthinstructions 500000 to 200000000

Tasks length in million instructions Theheterogeneous job length test having thevariations from the mentioned minimumto maximum

assigns the jobs to theVM lists one after another in an orderedmanner So its completion time of the jobs is higher than theother 2 algorithms

512 Comparison of Task Migration The task migrations arevery minimal in the IWRR algorithm due to extensive staticand dynamic scheduler algorithm in identifying the mostappropriate VM to each of the jobs which is illustrated inFigures 6 and 7 So the load balancer has been unable tofind the further optimization to complete the task in theshortest time But in the case of WRR and RR algorithmsthe static and dynamic scheduler has not considered the joblengths Instead it considers only the resource capabilitiesand the arrived job list So the load balancer has been ableto find the further optimization at run time and it shifts thejobs from higher loaded VM to the underutilized VMs Thisintern produces the higher task migrations in the weightedround robin and round robin algorithmsThe number of taskmigrations in the lower number of resources is high in theWRR and RR algorithms

513 Comparison of Delayed Tasks and Combined Idle Timeof All Tasks (Space Shared) The number of delayed tasksand the combined idle time of all tasks are higher in

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of task migrations

0

5

10

15

Num

ber o

f tas

k m

igra

tions

Figure 6 Number of task migrations (space shared)

the IWRR than the other two algorithms which is analyzedfrom Figures 8 and 9 This increase happened due to theallocation of more tasks in the higher capacity VMs At anypoint of time only one job can run in the space sparedCPUPE even if it has a higher capacity PE So if anotherjob got allocated to the same VM due to its higher processingcapacity then that job has to be in waiting state until therunning job gets completed This increases the number of

The Scientific World Journal 11

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of task migrations

02468

1012

Num

ber o

f tas

k m

igra

tions

Figure 7 Number of task migrations (time shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of delayed tasks

0

50

100

150

Del

ayed

task

s

Figure 8 Number of delayed tasks (space shared)

delayed tasks and the combined idle time in the IWRRalgorithm But in the other two algorithms the jobs getassigned to even the lower capacity VMs without accuratelypredicting the possible completion time in various VMs Sothe number of delayed tasks and combined idle time of alltasks are lower in RR and WRR

514 Comparison of Million Instructions Reexecuteddue to Task Migration

Analysis The job migrations from one VM to another VMlead to the jobrsquos execution termination in one of the VMsOtherwise the current state of the execution has to be copiedover to another VM to proceed from the left out locationin the previous allotted VM In this work the current stateof the job at the time of job migration will be lost So thejob will be reexecuted from the start of its instructions inthe migrated VM This kind of execution wastage comes inthe time shared CPU rather than the space shared CPU Theinstruction reexecution will be higher in the RR and WRRalgorithms due to the higher number of task migrations inRR and WRR (refer to Figure 10)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Combined idle time of all tasks times104

0

100

200

300

400

Idle

tim

e (s)

Figure 9 Idle time of all tasks (space shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Million instructions reexecuted by task migrationtimes10

4

0

500

1000

1500

2000

Instr

uctio

ns re

exec

uted

Figure 10 Million instructions reexecuted (time shared)

52 Heterogeneous Tasks on Heterogeneous Resources (VMs)

521 Comparison of Overall Execution Time

Analysis The following is the order of highest to lowest per-formance of the algorithms in the provided heterogeneousenvironment

(a) improved weighted round robin with job length (b)weighted round robin (c) round robin

Figures 11 and 12 proved that the improved weightedround robin by job length delivers a faster completion timethan the other two load balancing algorithms (RR andWRR)in the heterogeneous resources (VMs) and heterogeneousjobsThe IWRRrsquos static scheduler algorithm considers the joblength along with processing capacity of the heterogeneousVMs to assign the job So the lengthy jobs get assigned tothe higher capacity VMs in the heterogeneous environmentsThis helps complete the job in a shorter time The dynamicscheduler considers the load of all its configured VMs and itstentative completion time of the current load has been identi-fiedThen the scheduler calculates the arrived jobrsquos estimatedcompletion time in each of the configured VMs and adds thiscalculated timing with the existing loadrsquos completion time oneach VM Now the least possible completion time has beenidentified from the above calculations for this particular jobin one of the VMs and then the job has been assigned to thisVM So this algorithm is most suitable to the heterogeneousenvironment data centers

12 The Scientific World Journal

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Task overall completion time times104

0

5

10

15

Com

plet

ion

time (

s)

Figure 11 Execution completion time (space shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Task overall completion time times104

0

5

10

15

20

Com

plet

ion

time (

s)

Figure 12 Execution completion time (time shared)

The load balancer in the IWRRwith job length runs at theend of each taskrsquos completion If the load balancer finds any ofthe VMs completes all its assigned tasks then it will identifythe highly loaded VM from the group and it calculates thepossible completion time of those jobs present in the highlyloaded VM and the least loadedidle VM If the least loadedVM can finish any of the jobs present in the highly loadedVM in the shortest possible time then that job will be movedto the least loaded VM The WRR considers the ratio ofthe VM capacity to the total VM capacity and it assigns theproportionate number of arrived jobs into the VM So itperforms in the next level But if any lengthy jobs are assignedto the low capacity VMs based on the above calculation thenthis will delay the execution completion time The simple RRhas not considered any variables about the environment VMcapabilities and the job lengths It simply assigns the jobsto the VM lists one after another in an ordered manner Soits completion time of the jobs is higher than the other twoalgorithms

522 Comparison of Task Migration

Analysis The task migrations are very minimal in the IWRRalgorithm due to extensive static and dynamic scheduleralgorithm in identifying the most appropriate VM to each ofthe jobs which is derived from Figures 13 and 14 So the loadbalancer has been unable to find the further optimizationto complete the task in the shortest time But in the case of

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of task migrations

0

5

10

15

20

Num

ber o

f tas

k m

igra

tions

Figure 13 Number of task migrations (space shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of task migrations

0

2

4

6

8

Num

ber o

f tas

k m

igra

tions

Figure 14 Number of task migrations (time shared)

WRR and RR algorithms the static and dynamic schedulerhas not considered the job lengths Instead it considers onlythe resource capabilities and the arrived job list So the loadbalancer has been able to find the further optimization atrun time and it shifts the jobs from higher loaded VM tothe underutilized VMs This intern produces the higher taskmigrations in the WRR and RR algorithms Additionallythese numbers of task migrations are high in the lowernumber of resources in the WRR and RR algorithms

523 Comparison of Delayed Tasks and Combined IdleTime of All Tasks

Analysis Figures 15 and 16 explain that the number of delayedtasks and the combined idle time of all tasks are higher in theIWRR than the other two algorithmsThis increase happeneddue to the allocation of more tasks in the higher capacityVMs At any point of time only one job can run in thespace spared CPUPE even if it has a higher capacity PESo if another job got allocated to the same VM due to itshigher processing capacity then that job has to be in waitingstate until the running job gets completed This increases thenumber of delayed tasks and the combined idle time in theIWRRalgorithm But in the other two algorithms the jobs getassigned even to the lower capacity VMs without accuratelypredicting the possible completion time in various VMs

The Scientific World Journal 13

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of delayed tasks

020406080

100120

Del

ayed

task

s

Figure 15 Number of delayed tasks (space shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Combined idle time of all tasks times10

4

0

100

200

300

400

Idle

tim

e (s)

Figure 16 Idle time of all tasks (space shared)

So the number of delayed tasks and combined idle time ofall tasks are lower in RR and WRR

524 Comparison of Million Instructions Reexecuteddue to Task Migration

Analysis The job migrations from one VM to another VMlead to the jobrsquos execution termination in one of the VMsOtherwise the current state of the execution has to be copiedover to another VM to proceed from the left out location inthe previous allotted VM In this project the current state ofthe job at the time of jobmigrationwill be lost So the jobwillbe reexecuted from the start of its instructions in themigratedVMThis kind of execution wastage comes in the time sharedCPUThe instruction reexecutionwill be higher in theRR andWRR algorithms due to the higher number of taskmigrationsin RR and WRR which is shown in Figure 17

6 Conclusion and Future Enhancements

In this work the improved weighted round robin algorithmconsiders the capabilities of each VM and the task length ofeach requested job to assign the jobs into the most appro-priate VMsThis improved weighted round robin algorithmsare having three different stages to handle the three differentscenarios in the environment life cycle The static scheduleralgorithm pays attention to the initial placement of the jobs

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Million instructions reexecuted by task migration

0

500

1000

1500

Instr

uctio

ns re

exec

uted times10

4

Figure 17 Million instructions reexecuted (time shared)

which distributes the job requests to the participating VMsevenly based on the VMrsquos capabilities and the length of therequested job The dynamic scheduler considers the load ofall its configured VMs and its tentative completion time ofthe current load has been identified along with the arrivedjobrsquos estimated completion time in each of the configuredVMs After this the least possible completion time has beenidentified from the above calculations for this particular jobin one of the VMs and then the job has been assigned to thisVMThe load balancer in the improvedweighted round robinruns at the end of each taskrsquos completion This always makesthe loads evenly distributed across all the VMs at the end ofeach taskrsquos completion and thus eliminates any idle time inthe participating resources (VMs)

The performance analysis and experiment results of thisalgorithm proved that the improved weighted round robinalgorithm ismost suitable to the heterogeneoushomogenousjobs with heterogeneous resources (VMs) compared to theother round robin and weighted round robin algorithmsThis algorithm considers the response time as the main QoSparameter

As part of the future enhancements we can considermul-tiple PEs in the participating heterogeneous VMs along withthe heterogeneous multiple PEs capable jobs with distributedcomputing capabilities in the improvedweighted round robinalgorithm Additionally the load balancing can also considertransferring the state of jobs between the VMs in the jobmigrations These above considerations can help in furtherreducing the job completion time in all the algorithms

This work had considered the overall completion time ofall the participating jobs in different algorithms Instead inthe future enhancements the completion time of each job canbe compared in the different scheduling and load balancingalgorithms The algorithms can be fine-tuned further toachieve the better consistent results on all the differentperspectives Similarly the comparison results should betaken for the different job arrival patterns on all the threedifferent scheduling and load balancing algorithms

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

14 The Scientific World Journal

Acknowledgments

The authors would like to thank Dr S Jayaprakash formerprofessor IIT Madras and Mr R Bhaskar for their continu-ous support towards the successful outcome of this work

References

[1] Z Xiao W Song and Q Chen ldquoDynamic resource allocationusing virtual machines for cloud computing environmentrdquoIEEE Transactions on Parallel and Distributed Systems vol 24no 6 pp 1107ndash1117 2013

[2] L D Dhinesh Babu and P Venkata Krishna ldquoHoney bee behav-ior inspired load balancing of tasks in cloud computing envi-ronmentsrdquo Applied Soft Computing Journal vol 13 no 5 pp2292ndash2303 2013

[3] J Cao K Li and I Stojmenovic ldquoOptimal power allocation andload distribution for multiple heterogeneous multicore serverprocessors across clouds and data centersrdquo IEEE Transactionson Computers vol 63 no 1 pp 45ndash58 2014

[4] R N Calheiros and R Buyya ldquoMeeting deadlines of scientificworkflows in public clouds with tasks replicationrdquo IEEE Trans-actions on Parallel and Distributed Systems vol 25 no 7 pp1787ndash1796 2014

[5] R Basker V Rhymend Uthariaraj and D Chitra Devi ldquoAnenhanced scheduling in weighted round robin for the cloudinfrastructure servicesrdquo International Journal of Recent Advancein Engineering amp Technology vol 2 no 3 pp 81ndash86 2014

[6] Z Yu F Menng and H Chen ldquoAn efficient list schedulingalgorithm of dependent task in gridrdquo in Proceedings of the3rd IEEE International Conference on Computer Science andInformation Technology (ICCSIT rsquo10) IEEE Chengdu ChinaJuly 2010

[7] H M Fard and H Deldari ldquoAn economic approach forscheduling dependent tasks in grid computingrdquo in Proceedingsof the 11th IEEE International Conference on ComputationalScience and Engineering (CSEWorkshops rsquo08) pp 71ndash76 IEEESan Paulo Brazil July 2008

[8] W Kadri B Yagoubi and M Meddeber ldquoEfficient dependenttasks assignment algorithm for grid computing environmentrdquoin Proceedings of the 2nd International Symposium onModellingand Implementation of Complex Systems (MISC rsquo12) Constan-tine Algeria May 2012

[9] S Ijaz E U Munir W Anwar andW Nasir ldquoEfficient schedul-ing strategy for task graphs in heterogeneous computing envi-ronmentrdquo The International Arab Journal of Information Tech-nology vol 10 no 5 2013

[10] Y Xu K Li LHe andT K Truong ldquoADAG scheduling schemeon heterogeneous computing systems using double molecularstructure-based chemical reaction optimizationrdquo Journal ofParallel andDistributed Computing vol 73 no 9 pp 1306ndash13222013

[11] L-T Lee C-W Chen H-Y Chang C-C Tang and K-CPan ldquoA non-critical path earliest-finish algorithm for inter-dependent tasks in heterogeneous computing environmentsrdquo inProceedings of the 11th IEEE International Conference on HighPerformance Computing and Communications (HPCC rsquo09) pp603ndash608 Seoul Republic of Korea June 2009

[12] B Xu C Zhao E Hu and B Hu ldquoJob scheduling algorithmbased on Berger model in cloud environmentrdquo Advances inEngineering Software vol 42 no 7 pp 419ndash425 2011

[13] B Mondal K Dasgupta and P Dutta ldquoLoad balancing in cloudcomputing using stochastic hill climbing-a soft computingapproachrdquo Procedia Technology vol 4 pp 783ndash789 2012

[14] M Rahman R Hassan R Ranjan and R Buyya ldquoAdaptiveworkflow scheduling for dynamic grid and cloud computingenvironmentrdquo Concurrency and Computation Practice andExperience vol 25 no 13 pp 1816ndash1842 2013

[15] G Gharooni-fard F Moein-darbari H Deldari and A Mor-varidi ldquoScheduling of scientific workflows using a chaos-genetic algorithmrdquo Procedia Computer Science vol 1 no 1 pp1445ndash1454 2010 International Conference on ComputationalScience ICCS 2010

[16] C Lin and S Lu ldquoScheduling scientific workflows elastically forcloud computingrdquo in Proceedings of the IEEE 4th InternationalConference on Cloud Computing Washington DC USA July2011

[17] Vijindra and S Shenai ldquoSurvey on scheduling issues in cloudcomputingrdquo Procedia Engineering vol 38 pp 2881ndash2888 2012Proceedings of the International Conference on ModellingOptimization and Computing

[18] M Xu L Cui H Wang and Y Bi ldquoA multiple QoS constrainedscheduling strategy of multiple workflows for cloud comput-ingrdquo in Proceedings of the IEEE International Symposium onParallel and Distributed Processing with Applications (ISPA rsquo09)pp 629ndash634 IEEE Chengdu China August 2009

[19] C Lin S Lu X Fei et al ldquoA reference architecture for scientificworkflow management systems and the VIEW SOA solutionrdquoIEEE Transactions on Services Computing vol 2 no 1 pp 79ndash92 2009

[20] S Ghanbari and M Othman ldquoA priority based job schedulingalgorithm in cloud computingrdquo in Proceedings of the Inter-national Conference on Advances Science and ContemporaryEngineering pp 778ndash785 October 2012

[21] F Xhafa and A Abraham Mata-Heuristics for Grid SchedulingProblems Springer Berlin Germany 2008

Submit your manuscripts athttpwwwhindawicom

Computer Games Technology

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Distributed Sensor Networks

International Journal of

Advances in

FuzzySystems

Hindawi Publishing Corporationhttpwwwhindawicom

Volume 2014

International Journal of

ReconfigurableComputing

Hindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Applied Computational Intelligence and Soft Computing

thinspAdvancesthinspinthinsp

Artificial Intelligence

HindawithinspPublishingthinspCorporationhttpwwwhindawicom Volumethinsp2014

Advances inSoftware EngineeringHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Journal of

Computer Networks and Communications

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation

httpwwwhindawicom Volume 2014

Advances in

Multimedia

International Journal of

Biomedical Imaging

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

ArtificialNeural Systems

Advances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Computational Intelligence and Neuroscience

Industrial EngineeringJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Human-ComputerInteraction

Advances in

Computer EngineeringAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Page 5: Research Article Load Balancing in Cloud …downloads.hindawi.com/journals/tswj/2016/3896065.pdf1. Introduction Cloud computing is a computing paradigm for managing and delivering

The Scientific World Journal 5

333 Improved Weighted Round Robin Algorithm The pro-posed improved weighted round robin algorithm is the mostoptimal algorithmand it allocates the jobs to themost suitableVMs based on the VMrsquos information like its processingcapacity load on the VMs and length of the arrived taskswith its priority The static scheduling of this algorithm usesthe processing capacity of the VMs the number of incomingtasks and the length of each task to decide the allocation onthe appropriate VM

The dynamic scheduling (at run time) of this algorithmadditionally uses the load on each of the VMs along with theinformation mentioned above to decide the allocation of thetask to the appropriate VMThere is a probability at run timethat in some of the cases the task may take longer executiontime than the initial calculation due to the execution of morenumber of cycles (like a loop) on the same instructions basedon the complicated run time data

In such situations the load balancer rescues the schedul-ing controller and rearranges the jobs according to the idleslot available in the other unutilizedunderutilized VMs bymoving a waiting job from the heavily loaded VMs The loadbalancer identifies the unutilizedunderutilizedVMs throughresource prober whenever a task is completed in any of theVMs If there is no unutilized VM then the load balancerwill not take up any taskmigration among the VMs If it findsany unutilizedunderutilizedVM then it willmigrate the taskfrom the overloadedVM to the unutilizedunderutilizedVMThe load balancer analyses the resourcersquos (VM) load only onthe completion of any of the tasks on any of the VMs It neverexamines the resourcersquos (VM) load independently at any timeto circumvent the overhead on the VMs This will help inreducing the number of task migrations between the VMsand the number of resource probe executions in the VMs

34 Implementation Aspect of the Algorithm The systemimplementation consists of five major modules

(a) Static scheduler (initial placements)(b) Dynamic scheduler (run time placements)(c) Load balancer (decision on job migration at run

time)(d) Task interdependent scheduler(e) Resource monitor

The static scheduler has the function to find the mostsuitable VM and assign the tasks to VMs based on thealgorithms (simple round robin weighted round robin andimproved weighted round robin) applied in the schedulerThe dynamic scheduler has the function to place the runtime arrival jobs to the most suitable VMs based on theleast utilized VM at that particular job arrival time Loadbalancerscheduler controller decides the migration of taskfrom a heavily loaded VM to an idle VM or least loaded VMat run time whenever it finds an idle VM or least loadedVM by utilizing the resource monitor information Resourcemonitor communicates with all the VMs resource probersand collects the VM capabilities current load on each VMand number of jobs in executionwaiting queues in each

VM to decide the appropriate VMs to the jobs The taskrequirement estimator identifies the length of the tasks tobe executed and transfers the estimated results to the loadbalancer for its operative decisions

Figure 2 illustrates the system architecture in which thesystem consists of the data center broker and multiple datacentersThe data center can host any number of hosts and thisintern can host any number of VMs in each of the hosts basedon its capacity The data center broker has the importantcomponents to schedule and load-balance the jobs effectivelywhereas the algorithms of these components vary accordingto the round robin weighted round robin and the improvedweighted round robin load balancing

341 Dynamic Scheduler in IWRR Load Balancer Dynamicscheduling in IWRR load balancer is achieved by Initializa-tion mapping (scheduling) load balance and execution asexplained in Algorithm 1 Initialization is done by collectingthe pending MI execution time from each of the createdVMs and arranging it in ascending order of pending timefollowed by arranging the run time of the arrived tasks inqueue based on the priority Mapping (scheduling) involvesselection of task which is in top of the queue and calculationof its completion time in each VM Then task is assignedto the most appropriate VM based on completion andpending execution time Load balancing is done by addingthe corresponding tasks and execution time to the VMspending time Then rearrange the VM utilized list basedon the latest load which is followed by sending the task toVM processing queue and adding the task to the assignedlist When all cloudlets are assigned to VMs the tasks areexecuted in assigned VMs

342 Load Balancer in IWRR Load balancer initializes bycollecting the pending execution time from each of thecreated VMs then arranging it in ascending order to identifythe number of tasks in each VM and arrange it in increasingorder queue Mapping (scheduling) is done by getting a taskfrom VM with higher pending time and then identifies themost suitable VM to execute this task by calculating thecompletion time of this task in all the VMs and assigningthe selected task to the identified VM Finally load balancingis accomplished by rearranging the order based on the newexecution time in each VM (refer to Algorithm 2)

343 Task Dependency Queue in Multilevel InterdependentTasks Multilevel interdependency tasks are explained inFigure 3

4 Model

Let VM = (VM1VM2 VM119898) be the set ldquo119898rdquo of virtualmachines which should process ldquo119899rdquo tasks represented by theset 119879 = (1198791 1198792 119879119899) All the VMs are running in paralleland are unrelated and each VM runs on its own resourcesThere is no sharing of its own resources by other VMsWe schedule nonpreemptive dependent tasks to these VMs

6 The Scientific World Journal

Client

Data center brokerScheduling controller and load balancer Static scheduler Dynamic scheduler Resource prober

Multitask and task dependent scheduler

Data centre-1

Host-1

VM1 VM2

Host-2 Host-3 Host-4

VM3 VM4

Data centre-2

VM5 VM6 VM7 VM8

Figure 2 System architecture

Start

Identify the child tasks of the arrived tasks

If child tasks

Place the parent task into the dependent queue

Select a child task from the collection of childs to a parent and

run it in loop

Run the task by using thestaticdynamic scheduler

Update the parent task of completed status in dependency

queue

If parent task

End

Yes

No

No

size gt 0 size gt 0

Figure 3 Flow chart of multilevel interdependency tasks

The Scientific World Journal 7

(1) Identify the Pending Execution Time in each of the VMs by collecting the Pending Execution length from executing waiting amppaused list(a) Set pendingJobsTotLength = JobsRemainingLengthInExecList + JobsRemainingLengthInWaitList +

JobsRemainingLengthInPauseList(b) 119862V119898 is the processing capacity of the VM(c) Set pendingETime = pendingJobsTotLength119862V119898

(2) Arrange the VMs based on the least pending execution time to the highest pending execution time and group it in case twoVMs fall in the same pending length This Map should contain pending execution time as key and itrsquos associated VMs as a value(a) Sort the VMMap by the Pending Execution Time of each VM

(3) Re-arrange the incoming Jobs based on the length amp priority of the Jobs(a) Sort the JobSubmittedList based on length amp priority

(4) Initiate the vmIndex jobIndex variable amp totalJobs(a) Set vmIndex = 0(b) Set totalJobs = length of JobSubmittedList(c) Set totalVMsCount = size of VMMap(d) Set jobIndex = 0(e) Set jobToVMratio = totalJobstotalVMsCount

(5) Assign the incoming jobs to the VMs based on the least Pending Execution Time in the VMs amp its processing capacity(a) While (true)

Set job = JobSubmittedListget(jobIndex)Set jobLength = lengthOf(job)Set newCompletiontimeMap = EmptyMapFor startNumber from 0 by 1 to totalVMsCount do

Set vm = VMMapgetValue(startNumber)Set probableNewCompTime = jobLength119862V119898 + VMMapgetKey(startNumber)newCompletiontimeMapadd(probableNewCompTime vm)

SortByCompletionTime(newCompletiontimeMap)Set selectedVM = newCompletiontimeMapgetValue(0)selectedVMassign(job)For startNumber from 0 by 1 to totalVMsCount do

Set vm = VMMapgetValue(startNumber)If (vm equals selectedVM)

Set currentLength = VMMapgetKey(startNumber)Set newCurrentLength = currentLength + newCompletiontimeMapgetKey(0)VMMapremoveItem(startNumber)VMMapadd(newCurrentLength vm)

EndIf

sortByCompletionTime(VMMap)Increase the jobIndex by 1If (jobIndex equals totalJobs)

Break(b) End While

(6) Remove all the assigned Jobs from the JobSubmittedList

Algorithm 1 IWRR dynamic scheduler

in which ldquo119899rdquo tasks assigned to ldquo119898rdquo VMs are represented as anLP model from (4) to (5)

Processing Time Let PT119894119895 be the processing time of assigningtask ldquo119894rdquo to VM ldquo119895rdquo and define

119909119894119895 =

1 if task ldquo119894rdquo is assigned

0 otherwise(4)

Then the linear programming model is given as

Minimize 119885 =119899

sum

119894=1

119898

sum

119895=1

PT119894119895119909119894119895

Subject to119899

sum

119894=1

119909119894119895 = 1 119895 = 1 2 119898

119909119894119895 = 0 or 1

(5)

Resource Utilization Maximizing the resource utilizationis another important objective which is derived from (6)

8 The Scientific World Journal

(1) Identify the number of executingpending tasks in each VM and arrange it in increasing order on a Queue(a) Set numTaskInQueue = Number of ExecutingWaiting Tasks in each VM and arrange it in increasing order

(2) If the number of tasks in the first item of the queue is greater than or equal to ldquo1rdquo then terminate the Load Balancing logicexecution else proceed to the 3rd step(a) If (numTaskInQueuefirst() ge1) then

Return(3) If the number of tasks in the last item of the queue is less than or equal to ldquo1rdquo then terminate the Load Balancing logic

execution else proceed to the 4th step(a) If (numTaskInQueuelast()le1) then

Return(4) Identify the Pending Execution Time in each of the VMs by adding the Pending Execution length from executing

waiting amp paused list and then divided the value by the processing capacity of the VM(a) Set pendingJobsTotLength = JobsRemainingLengthInExecList + JobsRemainingLengthInWaitList +

JobsRemainingLengthInPauseList(b) Set pendingExecutionTime = pendingJobsTotLength119862V119898

(5) Arrange the VMs based on the least pending time to the highest pending time and group it in case two VMs fallin the same pending time(a) Sort the VMMap by the Pending Execution time of each VM

(6) Remove a task from the higher pending time VM which contains more than one task and assign this task to the lowerpending time VM which has no task to process(a) While (true)

Set OverLoadedVM = VMMapget(VMMapsize())Set LowLoadedVM = VMMapget(0)Varlowerposition = 1Varupperposition = 1

(b) While(true)If (OverLoadedVMtaskSize() gt 1 ampampLowLoadedVMtaskSize() lt 1)

BreakElse if (OverLoadedVMtaskSize() gt 1)

LowLoadedVM = VMMapget(lowerposition)Lowerposition++

Else if (LowLoadedVMtaskSize() lt 1)OverLoadedVM = VMMapget(VMMapsize() - upperposition)Upperposition++

ElseBreak The Outer While Loop

(c) End WhileSet migratableTask = OverLoadedVMgetMigratableTask()LowLoadedVMassign(migratableTask)Break

(d) End While(7) Re execute from the step 1(8) Then the steps 2 and 3 will decide the load balancing further(9) This load balancing will be called after every task completion irrespective of any VMs

Algorithm 2 IWRR load balancer

and (7) Achieving high resource utilization becomes achallenge Now average utilization is defined as [21]

Average utilization =sum119895isinVMs 119862119879119895

Makespan lowastNumber of VMs (6)

where makespan can be expressed as

Makespan = max119862119879119895

119895 isin VMs (7)

Capacity of a VM Consider

119862VM = penum lowast pemips (8)

where 119862VM is the capacity of the VM (see (8)) penum is thenumber of processing elements in the VM and pemips is themillion instructions per second of a PE

Capacity of All the VMs Consider

119862 =

119898

sum

119895=1

119862VM119895 (9)

where 119862 is the summation of capacities of all VMs thecapacity allotted to the applicationenvironment (refer to(9))

The Scientific World Journal 9

Task Length Consider

TL = 119879mips lowast 119879pe (10)

Job Length Consider

JL =119901

sum

119896=1

TL119894 (11)

where ldquo119901rdquo is the number of interdependent tasks for the job

Task Load Ratio Task load ratio is calculated in (12) and (13)to identify and allocate the tasks to virtual machines It isdefined as

TLR119894119895 =TL119894119862VM119895

119894 = 1 2 119899 tasks 119895 = 1 2 119898 Virtual machines

(12)

where TL119894 is the task length which is estimated at thebeginning of the execution and119862VM is the capacity of theVMConsider

If TLR119894119895 =

0 assign the task to VM

Otherwise Do not assign(13)

5 Experiment Results andPerformance Analysis

The performance of the IWRR algorithm has been analyzedbased on the results of simulation done in the CloudSimThe classes of the CloudSim simulator have been extended(overridden) to utilize the newly written algorithm In thefollowing illustrations the response time number of jobmigrations cumulative idle time of all tasks and the num-ber of delayed tasks are analyzed in the RR WRR andIWRR algorithms under the combination of heterogeneousand homogenous job lengths with heterogeneous resourceconditions Configuration details are given in Table 1

51 Homogeneous Tasks on Heterogeneous Resources (VMs)

511 Comparison of Overall Execution Time

Analysis The following is the order of highest to lowestperformance of the algorithms in the provided homogenousjobs on heterogeneous environment

(a) improved weighted round robin with job length (b)weighted round robin and (c) round robin

Figures 4 and 5 proved that the IWRR by job lengthdelivers a faster completion time than the other 2 loadbalancing algorithms (RR and WRR) in the heterogeneousresources (VMs) and homogenous jobs The IWRRrsquos staticscheduler algorithm considers the job length along withprocessing capacity of the heterogeneous VMs to assign thejob So more number of jobs gets assigned to the highercapacity VMs in the homogenous jobs on heterogeneousenvironments This helps complete the job in a shorter time

Task overall completion time

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

times104

0

5

10

15

20

Com

plet

ion

time (

s)

Figure 4 Execution completion time (space shared)

Task overall completion time

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

times104

0

5

10

15

20

Com

plet

ion

time (

s)

Figure 5 Execution completion time (time shared)

The dynamic scheduler considers the load of all its configuredVMs and its tentative completion time of the current loadhas been identifiedThen the scheduler calculates the arrivedjobrsquos estimated completion time in each of the configuredVMs and adds this calculated timing with the existing loadrsquoscompletion time on each VM Now the least possible com-pletion time has been identified from the above calculationsfor this particular job in one of the VMs and then the job hasbeen assigned to this VM So this algorithm is most suitableto the heterogeneous environment data centers

The load balancer in the IWRRwith job length runs at theend of each taskrsquos completion If the load balancer finds any ofthe VMs completes all its assigned tasks then it will identifythe highly loaded VM from the group and it calculates thepossible completion time of those jobs present in the highlyloaded VM and the least loadedidle VM If the least loadedVM can finish any of the jobs present in the highly loadedVM in the shortest possible time then that job will be movedto the least loaded VM

The WRR considers the ratio of the VM capacity to thetotal VM capacity and it assigns the proportionate number ofarrived jobs into the VM So it performs in the next level Butif any lengthy jobs are assigned to the low capacity VMs basedon the above calculation then this will delay the executioncompletion time

The simple RR has not considered any variables about theenvironment VM capabilities and the job lengths It simply

10 The Scientific World Journal

Table 1 Cloud setup configuration details

Sl number Entity Quantity Purpose

1 Data center 1 Data center having the physical hosts inthe test environment

2 Number of hosts in DC

500 hosts (200Nos-4-CoreHyperThreadedOpteron270200 Nos-4-CoreHyperThreadedOpteron2218 and 100 Nos8-Core HyperThreaded XeonE5430)

Number of physical hosts used in theexperiment

3 Number of processelements 8816

Number of executing elements in each ofthe hosts The host has 8 or 16 processingelements

4 PE processing capacity 174247355MIPS Each host has any one of the processingcapacities

5 Host ram capacity 1632GB Each host has any of these RAMmemories

6 Number of VM 10 to 100 with an increment of 10 Number of virtual machines used in theexperiment

7 Number of PE to VM 1 Processing element allotted in each VM

8 VMrsquos PE processingcapacity 1503009012093112105225 Virtual machinersquos processing capacity

9 VM RAM capacity 1920MB The RAMrsquos memory capacity of the VM

10 VMmanager XenThe operating system runs on thephysical machine to manage the VMs Itprovides the virtualization

11 Number of PE in Tasks 1 The jobtaskrsquos maximum usableprocessing element

12 Task lengthinstructions 500000 to 200000000

Tasks length in million instructions Theheterogeneous job length test having thevariations from the mentioned minimumto maximum

assigns the jobs to theVM lists one after another in an orderedmanner So its completion time of the jobs is higher than theother 2 algorithms

512 Comparison of Task Migration The task migrations arevery minimal in the IWRR algorithm due to extensive staticand dynamic scheduler algorithm in identifying the mostappropriate VM to each of the jobs which is illustrated inFigures 6 and 7 So the load balancer has been unable tofind the further optimization to complete the task in theshortest time But in the case of WRR and RR algorithmsthe static and dynamic scheduler has not considered the joblengths Instead it considers only the resource capabilitiesand the arrived job list So the load balancer has been ableto find the further optimization at run time and it shifts thejobs from higher loaded VM to the underutilized VMs Thisintern produces the higher task migrations in the weightedround robin and round robin algorithmsThe number of taskmigrations in the lower number of resources is high in theWRR and RR algorithms

513 Comparison of Delayed Tasks and Combined Idle Timeof All Tasks (Space Shared) The number of delayed tasksand the combined idle time of all tasks are higher in

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of task migrations

0

5

10

15

Num

ber o

f tas

k m

igra

tions

Figure 6 Number of task migrations (space shared)

the IWRR than the other two algorithms which is analyzedfrom Figures 8 and 9 This increase happened due to theallocation of more tasks in the higher capacity VMs At anypoint of time only one job can run in the space sparedCPUPE even if it has a higher capacity PE So if anotherjob got allocated to the same VM due to its higher processingcapacity then that job has to be in waiting state until therunning job gets completed This increases the number of

The Scientific World Journal 11

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of task migrations

02468

1012

Num

ber o

f tas

k m

igra

tions

Figure 7 Number of task migrations (time shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of delayed tasks

0

50

100

150

Del

ayed

task

s

Figure 8 Number of delayed tasks (space shared)

delayed tasks and the combined idle time in the IWRRalgorithm But in the other two algorithms the jobs getassigned to even the lower capacity VMs without accuratelypredicting the possible completion time in various VMs Sothe number of delayed tasks and combined idle time of alltasks are lower in RR and WRR

514 Comparison of Million Instructions Reexecuteddue to Task Migration

Analysis The job migrations from one VM to another VMlead to the jobrsquos execution termination in one of the VMsOtherwise the current state of the execution has to be copiedover to another VM to proceed from the left out locationin the previous allotted VM In this work the current stateof the job at the time of job migration will be lost So thejob will be reexecuted from the start of its instructions inthe migrated VM This kind of execution wastage comes inthe time shared CPU rather than the space shared CPU Theinstruction reexecution will be higher in the RR and WRRalgorithms due to the higher number of task migrations inRR and WRR (refer to Figure 10)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Combined idle time of all tasks times104

0

100

200

300

400

Idle

tim

e (s)

Figure 9 Idle time of all tasks (space shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Million instructions reexecuted by task migrationtimes10

4

0

500

1000

1500

2000

Instr

uctio

ns re

exec

uted

Figure 10 Million instructions reexecuted (time shared)

52 Heterogeneous Tasks on Heterogeneous Resources (VMs)

521 Comparison of Overall Execution Time

Analysis The following is the order of highest to lowest per-formance of the algorithms in the provided heterogeneousenvironment

(a) improved weighted round robin with job length (b)weighted round robin (c) round robin

Figures 11 and 12 proved that the improved weightedround robin by job length delivers a faster completion timethan the other two load balancing algorithms (RR andWRR)in the heterogeneous resources (VMs) and heterogeneousjobsThe IWRRrsquos static scheduler algorithm considers the joblength along with processing capacity of the heterogeneousVMs to assign the job So the lengthy jobs get assigned tothe higher capacity VMs in the heterogeneous environmentsThis helps complete the job in a shorter time The dynamicscheduler considers the load of all its configured VMs and itstentative completion time of the current load has been identi-fiedThen the scheduler calculates the arrived jobrsquos estimatedcompletion time in each of the configured VMs and adds thiscalculated timing with the existing loadrsquos completion time oneach VM Now the least possible completion time has beenidentified from the above calculations for this particular jobin one of the VMs and then the job has been assigned to thisVM So this algorithm is most suitable to the heterogeneousenvironment data centers

12 The Scientific World Journal

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Task overall completion time times104

0

5

10

15

Com

plet

ion

time (

s)

Figure 11 Execution completion time (space shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Task overall completion time times104

0

5

10

15

20

Com

plet

ion

time (

s)

Figure 12 Execution completion time (time shared)

The load balancer in the IWRRwith job length runs at theend of each taskrsquos completion If the load balancer finds any ofthe VMs completes all its assigned tasks then it will identifythe highly loaded VM from the group and it calculates thepossible completion time of those jobs present in the highlyloaded VM and the least loadedidle VM If the least loadedVM can finish any of the jobs present in the highly loadedVM in the shortest possible time then that job will be movedto the least loaded VM The WRR considers the ratio ofthe VM capacity to the total VM capacity and it assigns theproportionate number of arrived jobs into the VM So itperforms in the next level But if any lengthy jobs are assignedto the low capacity VMs based on the above calculation thenthis will delay the execution completion time The simple RRhas not considered any variables about the environment VMcapabilities and the job lengths It simply assigns the jobsto the VM lists one after another in an ordered manner Soits completion time of the jobs is higher than the other twoalgorithms

522 Comparison of Task Migration

Analysis The task migrations are very minimal in the IWRRalgorithm due to extensive static and dynamic scheduleralgorithm in identifying the most appropriate VM to each ofthe jobs which is derived from Figures 13 and 14 So the loadbalancer has been unable to find the further optimizationto complete the task in the shortest time But in the case of

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of task migrations

0

5

10

15

20

Num

ber o

f tas

k m

igra

tions

Figure 13 Number of task migrations (space shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of task migrations

0

2

4

6

8

Num

ber o

f tas

k m

igra

tions

Figure 14 Number of task migrations (time shared)

WRR and RR algorithms the static and dynamic schedulerhas not considered the job lengths Instead it considers onlythe resource capabilities and the arrived job list So the loadbalancer has been able to find the further optimization atrun time and it shifts the jobs from higher loaded VM tothe underutilized VMs This intern produces the higher taskmigrations in the WRR and RR algorithms Additionallythese numbers of task migrations are high in the lowernumber of resources in the WRR and RR algorithms

523 Comparison of Delayed Tasks and Combined IdleTime of All Tasks

Analysis Figures 15 and 16 explain that the number of delayedtasks and the combined idle time of all tasks are higher in theIWRR than the other two algorithmsThis increase happeneddue to the allocation of more tasks in the higher capacityVMs At any point of time only one job can run in thespace spared CPUPE even if it has a higher capacity PESo if another job got allocated to the same VM due to itshigher processing capacity then that job has to be in waitingstate until the running job gets completed This increases thenumber of delayed tasks and the combined idle time in theIWRRalgorithm But in the other two algorithms the jobs getassigned even to the lower capacity VMs without accuratelypredicting the possible completion time in various VMs

The Scientific World Journal 13

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of delayed tasks

020406080

100120

Del

ayed

task

s

Figure 15 Number of delayed tasks (space shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Combined idle time of all tasks times10

4

0

100

200

300

400

Idle

tim

e (s)

Figure 16 Idle time of all tasks (space shared)

So the number of delayed tasks and combined idle time ofall tasks are lower in RR and WRR

524 Comparison of Million Instructions Reexecuteddue to Task Migration

Analysis The job migrations from one VM to another VMlead to the jobrsquos execution termination in one of the VMsOtherwise the current state of the execution has to be copiedover to another VM to proceed from the left out location inthe previous allotted VM In this project the current state ofthe job at the time of jobmigrationwill be lost So the jobwillbe reexecuted from the start of its instructions in themigratedVMThis kind of execution wastage comes in the time sharedCPUThe instruction reexecutionwill be higher in theRR andWRR algorithms due to the higher number of taskmigrationsin RR and WRR which is shown in Figure 17

6 Conclusion and Future Enhancements

In this work the improved weighted round robin algorithmconsiders the capabilities of each VM and the task length ofeach requested job to assign the jobs into the most appro-priate VMsThis improved weighted round robin algorithmsare having three different stages to handle the three differentscenarios in the environment life cycle The static scheduleralgorithm pays attention to the initial placement of the jobs

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Million instructions reexecuted by task migration

0

500

1000

1500

Instr

uctio

ns re

exec

uted times10

4

Figure 17 Million instructions reexecuted (time shared)

which distributes the job requests to the participating VMsevenly based on the VMrsquos capabilities and the length of therequested job The dynamic scheduler considers the load ofall its configured VMs and its tentative completion time ofthe current load has been identified along with the arrivedjobrsquos estimated completion time in each of the configuredVMs After this the least possible completion time has beenidentified from the above calculations for this particular jobin one of the VMs and then the job has been assigned to thisVMThe load balancer in the improvedweighted round robinruns at the end of each taskrsquos completion This always makesthe loads evenly distributed across all the VMs at the end ofeach taskrsquos completion and thus eliminates any idle time inthe participating resources (VMs)

The performance analysis and experiment results of thisalgorithm proved that the improved weighted round robinalgorithm ismost suitable to the heterogeneoushomogenousjobs with heterogeneous resources (VMs) compared to theother round robin and weighted round robin algorithmsThis algorithm considers the response time as the main QoSparameter

As part of the future enhancements we can considermul-tiple PEs in the participating heterogeneous VMs along withthe heterogeneous multiple PEs capable jobs with distributedcomputing capabilities in the improvedweighted round robinalgorithm Additionally the load balancing can also considertransferring the state of jobs between the VMs in the jobmigrations These above considerations can help in furtherreducing the job completion time in all the algorithms

This work had considered the overall completion time ofall the participating jobs in different algorithms Instead inthe future enhancements the completion time of each job canbe compared in the different scheduling and load balancingalgorithms The algorithms can be fine-tuned further toachieve the better consistent results on all the differentperspectives Similarly the comparison results should betaken for the different job arrival patterns on all the threedifferent scheduling and load balancing algorithms

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

14 The Scientific World Journal

Acknowledgments

The authors would like to thank Dr S Jayaprakash formerprofessor IIT Madras and Mr R Bhaskar for their continu-ous support towards the successful outcome of this work

References

[1] Z Xiao W Song and Q Chen ldquoDynamic resource allocationusing virtual machines for cloud computing environmentrdquoIEEE Transactions on Parallel and Distributed Systems vol 24no 6 pp 1107ndash1117 2013

[2] L D Dhinesh Babu and P Venkata Krishna ldquoHoney bee behav-ior inspired load balancing of tasks in cloud computing envi-ronmentsrdquo Applied Soft Computing Journal vol 13 no 5 pp2292ndash2303 2013

[3] J Cao K Li and I Stojmenovic ldquoOptimal power allocation andload distribution for multiple heterogeneous multicore serverprocessors across clouds and data centersrdquo IEEE Transactionson Computers vol 63 no 1 pp 45ndash58 2014

[4] R N Calheiros and R Buyya ldquoMeeting deadlines of scientificworkflows in public clouds with tasks replicationrdquo IEEE Trans-actions on Parallel and Distributed Systems vol 25 no 7 pp1787ndash1796 2014

[5] R Basker V Rhymend Uthariaraj and D Chitra Devi ldquoAnenhanced scheduling in weighted round robin for the cloudinfrastructure servicesrdquo International Journal of Recent Advancein Engineering amp Technology vol 2 no 3 pp 81ndash86 2014

[6] Z Yu F Menng and H Chen ldquoAn efficient list schedulingalgorithm of dependent task in gridrdquo in Proceedings of the3rd IEEE International Conference on Computer Science andInformation Technology (ICCSIT rsquo10) IEEE Chengdu ChinaJuly 2010

[7] H M Fard and H Deldari ldquoAn economic approach forscheduling dependent tasks in grid computingrdquo in Proceedingsof the 11th IEEE International Conference on ComputationalScience and Engineering (CSEWorkshops rsquo08) pp 71ndash76 IEEESan Paulo Brazil July 2008

[8] W Kadri B Yagoubi and M Meddeber ldquoEfficient dependenttasks assignment algorithm for grid computing environmentrdquoin Proceedings of the 2nd International Symposium onModellingand Implementation of Complex Systems (MISC rsquo12) Constan-tine Algeria May 2012

[9] S Ijaz E U Munir W Anwar andW Nasir ldquoEfficient schedul-ing strategy for task graphs in heterogeneous computing envi-ronmentrdquo The International Arab Journal of Information Tech-nology vol 10 no 5 2013

[10] Y Xu K Li LHe andT K Truong ldquoADAG scheduling schemeon heterogeneous computing systems using double molecularstructure-based chemical reaction optimizationrdquo Journal ofParallel andDistributed Computing vol 73 no 9 pp 1306ndash13222013

[11] L-T Lee C-W Chen H-Y Chang C-C Tang and K-CPan ldquoA non-critical path earliest-finish algorithm for inter-dependent tasks in heterogeneous computing environmentsrdquo inProceedings of the 11th IEEE International Conference on HighPerformance Computing and Communications (HPCC rsquo09) pp603ndash608 Seoul Republic of Korea June 2009

[12] B Xu C Zhao E Hu and B Hu ldquoJob scheduling algorithmbased on Berger model in cloud environmentrdquo Advances inEngineering Software vol 42 no 7 pp 419ndash425 2011

[13] B Mondal K Dasgupta and P Dutta ldquoLoad balancing in cloudcomputing using stochastic hill climbing-a soft computingapproachrdquo Procedia Technology vol 4 pp 783ndash789 2012

[14] M Rahman R Hassan R Ranjan and R Buyya ldquoAdaptiveworkflow scheduling for dynamic grid and cloud computingenvironmentrdquo Concurrency and Computation Practice andExperience vol 25 no 13 pp 1816ndash1842 2013

[15] G Gharooni-fard F Moein-darbari H Deldari and A Mor-varidi ldquoScheduling of scientific workflows using a chaos-genetic algorithmrdquo Procedia Computer Science vol 1 no 1 pp1445ndash1454 2010 International Conference on ComputationalScience ICCS 2010

[16] C Lin and S Lu ldquoScheduling scientific workflows elastically forcloud computingrdquo in Proceedings of the IEEE 4th InternationalConference on Cloud Computing Washington DC USA July2011

[17] Vijindra and S Shenai ldquoSurvey on scheduling issues in cloudcomputingrdquo Procedia Engineering vol 38 pp 2881ndash2888 2012Proceedings of the International Conference on ModellingOptimization and Computing

[18] M Xu L Cui H Wang and Y Bi ldquoA multiple QoS constrainedscheduling strategy of multiple workflows for cloud comput-ingrdquo in Proceedings of the IEEE International Symposium onParallel and Distributed Processing with Applications (ISPA rsquo09)pp 629ndash634 IEEE Chengdu China August 2009

[19] C Lin S Lu X Fei et al ldquoA reference architecture for scientificworkflow management systems and the VIEW SOA solutionrdquoIEEE Transactions on Services Computing vol 2 no 1 pp 79ndash92 2009

[20] S Ghanbari and M Othman ldquoA priority based job schedulingalgorithm in cloud computingrdquo in Proceedings of the Inter-national Conference on Advances Science and ContemporaryEngineering pp 778ndash785 October 2012

[21] F Xhafa and A Abraham Mata-Heuristics for Grid SchedulingProblems Springer Berlin Germany 2008

Submit your manuscripts athttpwwwhindawicom

Computer Games Technology

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Distributed Sensor Networks

International Journal of

Advances in

FuzzySystems

Hindawi Publishing Corporationhttpwwwhindawicom

Volume 2014

International Journal of

ReconfigurableComputing

Hindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Applied Computational Intelligence and Soft Computing

thinspAdvancesthinspinthinsp

Artificial Intelligence

HindawithinspPublishingthinspCorporationhttpwwwhindawicom Volumethinsp2014

Advances inSoftware EngineeringHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Journal of

Computer Networks and Communications

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation

httpwwwhindawicom Volume 2014

Advances in

Multimedia

International Journal of

Biomedical Imaging

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

ArtificialNeural Systems

Advances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Computational Intelligence and Neuroscience

Industrial EngineeringJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Human-ComputerInteraction

Advances in

Computer EngineeringAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Page 6: Research Article Load Balancing in Cloud …downloads.hindawi.com/journals/tswj/2016/3896065.pdf1. Introduction Cloud computing is a computing paradigm for managing and delivering

6 The Scientific World Journal

Client

Data center brokerScheduling controller and load balancer Static scheduler Dynamic scheduler Resource prober

Multitask and task dependent scheduler

Data centre-1

Host-1

VM1 VM2

Host-2 Host-3 Host-4

VM3 VM4

Data centre-2

VM5 VM6 VM7 VM8

Figure 2 System architecture

Start

Identify the child tasks of the arrived tasks

If child tasks

Place the parent task into the dependent queue

Select a child task from the collection of childs to a parent and

run it in loop

Run the task by using thestaticdynamic scheduler

Update the parent task of completed status in dependency

queue

If parent task

End

Yes

No

No

size gt 0 size gt 0

Figure 3 Flow chart of multilevel interdependency tasks

The Scientific World Journal 7

(1) Identify the Pending Execution Time in each of the VMs by collecting the Pending Execution length from executing waiting amppaused list(a) Set pendingJobsTotLength = JobsRemainingLengthInExecList + JobsRemainingLengthInWaitList +

JobsRemainingLengthInPauseList(b) 119862V119898 is the processing capacity of the VM(c) Set pendingETime = pendingJobsTotLength119862V119898

(2) Arrange the VMs based on the least pending execution time to the highest pending execution time and group it in case twoVMs fall in the same pending length This Map should contain pending execution time as key and itrsquos associated VMs as a value(a) Sort the VMMap by the Pending Execution Time of each VM

(3) Re-arrange the incoming Jobs based on the length amp priority of the Jobs(a) Sort the JobSubmittedList based on length amp priority

(4) Initiate the vmIndex jobIndex variable amp totalJobs(a) Set vmIndex = 0(b) Set totalJobs = length of JobSubmittedList(c) Set totalVMsCount = size of VMMap(d) Set jobIndex = 0(e) Set jobToVMratio = totalJobstotalVMsCount

(5) Assign the incoming jobs to the VMs based on the least Pending Execution Time in the VMs amp its processing capacity(a) While (true)

Set job = JobSubmittedListget(jobIndex)Set jobLength = lengthOf(job)Set newCompletiontimeMap = EmptyMapFor startNumber from 0 by 1 to totalVMsCount do

Set vm = VMMapgetValue(startNumber)Set probableNewCompTime = jobLength119862V119898 + VMMapgetKey(startNumber)newCompletiontimeMapadd(probableNewCompTime vm)

SortByCompletionTime(newCompletiontimeMap)Set selectedVM = newCompletiontimeMapgetValue(0)selectedVMassign(job)For startNumber from 0 by 1 to totalVMsCount do

Set vm = VMMapgetValue(startNumber)If (vm equals selectedVM)

Set currentLength = VMMapgetKey(startNumber)Set newCurrentLength = currentLength + newCompletiontimeMapgetKey(0)VMMapremoveItem(startNumber)VMMapadd(newCurrentLength vm)

EndIf

sortByCompletionTime(VMMap)Increase the jobIndex by 1If (jobIndex equals totalJobs)

Break(b) End While

(6) Remove all the assigned Jobs from the JobSubmittedList

Algorithm 1 IWRR dynamic scheduler

in which ldquo119899rdquo tasks assigned to ldquo119898rdquo VMs are represented as anLP model from (4) to (5)

Processing Time Let PT119894119895 be the processing time of assigningtask ldquo119894rdquo to VM ldquo119895rdquo and define

119909119894119895 =

1 if task ldquo119894rdquo is assigned

0 otherwise(4)

Then the linear programming model is given as

Minimize 119885 =119899

sum

119894=1

119898

sum

119895=1

PT119894119895119909119894119895

Subject to119899

sum

119894=1

119909119894119895 = 1 119895 = 1 2 119898

119909119894119895 = 0 or 1

(5)

Resource Utilization Maximizing the resource utilizationis another important objective which is derived from (6)

8 The Scientific World Journal

(1) Identify the number of executingpending tasks in each VM and arrange it in increasing order on a Queue(a) Set numTaskInQueue = Number of ExecutingWaiting Tasks in each VM and arrange it in increasing order

(2) If the number of tasks in the first item of the queue is greater than or equal to ldquo1rdquo then terminate the Load Balancing logicexecution else proceed to the 3rd step(a) If (numTaskInQueuefirst() ge1) then

Return(3) If the number of tasks in the last item of the queue is less than or equal to ldquo1rdquo then terminate the Load Balancing logic

execution else proceed to the 4th step(a) If (numTaskInQueuelast()le1) then

Return(4) Identify the Pending Execution Time in each of the VMs by adding the Pending Execution length from executing

waiting amp paused list and then divided the value by the processing capacity of the VM(a) Set pendingJobsTotLength = JobsRemainingLengthInExecList + JobsRemainingLengthInWaitList +

JobsRemainingLengthInPauseList(b) Set pendingExecutionTime = pendingJobsTotLength119862V119898

(5) Arrange the VMs based on the least pending time to the highest pending time and group it in case two VMs fallin the same pending time(a) Sort the VMMap by the Pending Execution time of each VM

(6) Remove a task from the higher pending time VM which contains more than one task and assign this task to the lowerpending time VM which has no task to process(a) While (true)

Set OverLoadedVM = VMMapget(VMMapsize())Set LowLoadedVM = VMMapget(0)Varlowerposition = 1Varupperposition = 1

(b) While(true)If (OverLoadedVMtaskSize() gt 1 ampampLowLoadedVMtaskSize() lt 1)

BreakElse if (OverLoadedVMtaskSize() gt 1)

LowLoadedVM = VMMapget(lowerposition)Lowerposition++

Else if (LowLoadedVMtaskSize() lt 1)OverLoadedVM = VMMapget(VMMapsize() - upperposition)Upperposition++

ElseBreak The Outer While Loop

(c) End WhileSet migratableTask = OverLoadedVMgetMigratableTask()LowLoadedVMassign(migratableTask)Break

(d) End While(7) Re execute from the step 1(8) Then the steps 2 and 3 will decide the load balancing further(9) This load balancing will be called after every task completion irrespective of any VMs

Algorithm 2 IWRR load balancer

and (7) Achieving high resource utilization becomes achallenge Now average utilization is defined as [21]

Average utilization =sum119895isinVMs 119862119879119895

Makespan lowastNumber of VMs (6)

where makespan can be expressed as

Makespan = max119862119879119895

119895 isin VMs (7)

Capacity of a VM Consider

119862VM = penum lowast pemips (8)

where 119862VM is the capacity of the VM (see (8)) penum is thenumber of processing elements in the VM and pemips is themillion instructions per second of a PE

Capacity of All the VMs Consider

119862 =

119898

sum

119895=1

119862VM119895 (9)

where 119862 is the summation of capacities of all VMs thecapacity allotted to the applicationenvironment (refer to(9))

The Scientific World Journal 9

Task Length Consider

TL = 119879mips lowast 119879pe (10)

Job Length Consider

JL =119901

sum

119896=1

TL119894 (11)

where ldquo119901rdquo is the number of interdependent tasks for the job

Task Load Ratio Task load ratio is calculated in (12) and (13)to identify and allocate the tasks to virtual machines It isdefined as

TLR119894119895 =TL119894119862VM119895

119894 = 1 2 119899 tasks 119895 = 1 2 119898 Virtual machines

(12)

where TL119894 is the task length which is estimated at thebeginning of the execution and119862VM is the capacity of theVMConsider

If TLR119894119895 =

0 assign the task to VM

Otherwise Do not assign(13)

5 Experiment Results andPerformance Analysis

The performance of the IWRR algorithm has been analyzedbased on the results of simulation done in the CloudSimThe classes of the CloudSim simulator have been extended(overridden) to utilize the newly written algorithm In thefollowing illustrations the response time number of jobmigrations cumulative idle time of all tasks and the num-ber of delayed tasks are analyzed in the RR WRR andIWRR algorithms under the combination of heterogeneousand homogenous job lengths with heterogeneous resourceconditions Configuration details are given in Table 1

51 Homogeneous Tasks on Heterogeneous Resources (VMs)

511 Comparison of Overall Execution Time

Analysis The following is the order of highest to lowestperformance of the algorithms in the provided homogenousjobs on heterogeneous environment

(a) improved weighted round robin with job length (b)weighted round robin and (c) round robin

Figures 4 and 5 proved that the IWRR by job lengthdelivers a faster completion time than the other 2 loadbalancing algorithms (RR and WRR) in the heterogeneousresources (VMs) and homogenous jobs The IWRRrsquos staticscheduler algorithm considers the job length along withprocessing capacity of the heterogeneous VMs to assign thejob So more number of jobs gets assigned to the highercapacity VMs in the homogenous jobs on heterogeneousenvironments This helps complete the job in a shorter time

Task overall completion time

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

times104

0

5

10

15

20

Com

plet

ion

time (

s)

Figure 4 Execution completion time (space shared)

Task overall completion time

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

times104

0

5

10

15

20

Com

plet

ion

time (

s)

Figure 5 Execution completion time (time shared)

The dynamic scheduler considers the load of all its configuredVMs and its tentative completion time of the current loadhas been identifiedThen the scheduler calculates the arrivedjobrsquos estimated completion time in each of the configuredVMs and adds this calculated timing with the existing loadrsquoscompletion time on each VM Now the least possible com-pletion time has been identified from the above calculationsfor this particular job in one of the VMs and then the job hasbeen assigned to this VM So this algorithm is most suitableto the heterogeneous environment data centers

The load balancer in the IWRRwith job length runs at theend of each taskrsquos completion If the load balancer finds any ofthe VMs completes all its assigned tasks then it will identifythe highly loaded VM from the group and it calculates thepossible completion time of those jobs present in the highlyloaded VM and the least loadedidle VM If the least loadedVM can finish any of the jobs present in the highly loadedVM in the shortest possible time then that job will be movedto the least loaded VM

The WRR considers the ratio of the VM capacity to thetotal VM capacity and it assigns the proportionate number ofarrived jobs into the VM So it performs in the next level Butif any lengthy jobs are assigned to the low capacity VMs basedon the above calculation then this will delay the executioncompletion time

The simple RR has not considered any variables about theenvironment VM capabilities and the job lengths It simply

10 The Scientific World Journal

Table 1 Cloud setup configuration details

Sl number Entity Quantity Purpose

1 Data center 1 Data center having the physical hosts inthe test environment

2 Number of hosts in DC

500 hosts (200Nos-4-CoreHyperThreadedOpteron270200 Nos-4-CoreHyperThreadedOpteron2218 and 100 Nos8-Core HyperThreaded XeonE5430)

Number of physical hosts used in theexperiment

3 Number of processelements 8816

Number of executing elements in each ofthe hosts The host has 8 or 16 processingelements

4 PE processing capacity 174247355MIPS Each host has any one of the processingcapacities

5 Host ram capacity 1632GB Each host has any of these RAMmemories

6 Number of VM 10 to 100 with an increment of 10 Number of virtual machines used in theexperiment

7 Number of PE to VM 1 Processing element allotted in each VM

8 VMrsquos PE processingcapacity 1503009012093112105225 Virtual machinersquos processing capacity

9 VM RAM capacity 1920MB The RAMrsquos memory capacity of the VM

10 VMmanager XenThe operating system runs on thephysical machine to manage the VMs Itprovides the virtualization

11 Number of PE in Tasks 1 The jobtaskrsquos maximum usableprocessing element

12 Task lengthinstructions 500000 to 200000000

Tasks length in million instructions Theheterogeneous job length test having thevariations from the mentioned minimumto maximum

assigns the jobs to theVM lists one after another in an orderedmanner So its completion time of the jobs is higher than theother 2 algorithms

512 Comparison of Task Migration The task migrations arevery minimal in the IWRR algorithm due to extensive staticand dynamic scheduler algorithm in identifying the mostappropriate VM to each of the jobs which is illustrated inFigures 6 and 7 So the load balancer has been unable tofind the further optimization to complete the task in theshortest time But in the case of WRR and RR algorithmsthe static and dynamic scheduler has not considered the joblengths Instead it considers only the resource capabilitiesand the arrived job list So the load balancer has been ableto find the further optimization at run time and it shifts thejobs from higher loaded VM to the underutilized VMs Thisintern produces the higher task migrations in the weightedround robin and round robin algorithmsThe number of taskmigrations in the lower number of resources is high in theWRR and RR algorithms

513 Comparison of Delayed Tasks and Combined Idle Timeof All Tasks (Space Shared) The number of delayed tasksand the combined idle time of all tasks are higher in

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of task migrations

0

5

10

15

Num

ber o

f tas

k m

igra

tions

Figure 6 Number of task migrations (space shared)

the IWRR than the other two algorithms which is analyzedfrom Figures 8 and 9 This increase happened due to theallocation of more tasks in the higher capacity VMs At anypoint of time only one job can run in the space sparedCPUPE even if it has a higher capacity PE So if anotherjob got allocated to the same VM due to its higher processingcapacity then that job has to be in waiting state until therunning job gets completed This increases the number of

The Scientific World Journal 11

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of task migrations

02468

1012

Num

ber o

f tas

k m

igra

tions

Figure 7 Number of task migrations (time shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of delayed tasks

0

50

100

150

Del

ayed

task

s

Figure 8 Number of delayed tasks (space shared)

delayed tasks and the combined idle time in the IWRRalgorithm But in the other two algorithms the jobs getassigned to even the lower capacity VMs without accuratelypredicting the possible completion time in various VMs Sothe number of delayed tasks and combined idle time of alltasks are lower in RR and WRR

514 Comparison of Million Instructions Reexecuteddue to Task Migration

Analysis The job migrations from one VM to another VMlead to the jobrsquos execution termination in one of the VMsOtherwise the current state of the execution has to be copiedover to another VM to proceed from the left out locationin the previous allotted VM In this work the current stateof the job at the time of job migration will be lost So thejob will be reexecuted from the start of its instructions inthe migrated VM This kind of execution wastage comes inthe time shared CPU rather than the space shared CPU Theinstruction reexecution will be higher in the RR and WRRalgorithms due to the higher number of task migrations inRR and WRR (refer to Figure 10)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Combined idle time of all tasks times104

0

100

200

300

400

Idle

tim

e (s)

Figure 9 Idle time of all tasks (space shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Million instructions reexecuted by task migrationtimes10

4

0

500

1000

1500

2000

Instr

uctio

ns re

exec

uted

Figure 10 Million instructions reexecuted (time shared)

52 Heterogeneous Tasks on Heterogeneous Resources (VMs)

521 Comparison of Overall Execution Time

Analysis The following is the order of highest to lowest per-formance of the algorithms in the provided heterogeneousenvironment

(a) improved weighted round robin with job length (b)weighted round robin (c) round robin

Figures 11 and 12 proved that the improved weightedround robin by job length delivers a faster completion timethan the other two load balancing algorithms (RR andWRR)in the heterogeneous resources (VMs) and heterogeneousjobsThe IWRRrsquos static scheduler algorithm considers the joblength along with processing capacity of the heterogeneousVMs to assign the job So the lengthy jobs get assigned tothe higher capacity VMs in the heterogeneous environmentsThis helps complete the job in a shorter time The dynamicscheduler considers the load of all its configured VMs and itstentative completion time of the current load has been identi-fiedThen the scheduler calculates the arrived jobrsquos estimatedcompletion time in each of the configured VMs and adds thiscalculated timing with the existing loadrsquos completion time oneach VM Now the least possible completion time has beenidentified from the above calculations for this particular jobin one of the VMs and then the job has been assigned to thisVM So this algorithm is most suitable to the heterogeneousenvironment data centers

12 The Scientific World Journal

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Task overall completion time times104

0

5

10

15

Com

plet

ion

time (

s)

Figure 11 Execution completion time (space shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Task overall completion time times104

0

5

10

15

20

Com

plet

ion

time (

s)

Figure 12 Execution completion time (time shared)

The load balancer in the IWRRwith job length runs at theend of each taskrsquos completion If the load balancer finds any ofthe VMs completes all its assigned tasks then it will identifythe highly loaded VM from the group and it calculates thepossible completion time of those jobs present in the highlyloaded VM and the least loadedidle VM If the least loadedVM can finish any of the jobs present in the highly loadedVM in the shortest possible time then that job will be movedto the least loaded VM The WRR considers the ratio ofthe VM capacity to the total VM capacity and it assigns theproportionate number of arrived jobs into the VM So itperforms in the next level But if any lengthy jobs are assignedto the low capacity VMs based on the above calculation thenthis will delay the execution completion time The simple RRhas not considered any variables about the environment VMcapabilities and the job lengths It simply assigns the jobsto the VM lists one after another in an ordered manner Soits completion time of the jobs is higher than the other twoalgorithms

522 Comparison of Task Migration

Analysis The task migrations are very minimal in the IWRRalgorithm due to extensive static and dynamic scheduleralgorithm in identifying the most appropriate VM to each ofthe jobs which is derived from Figures 13 and 14 So the loadbalancer has been unable to find the further optimizationto complete the task in the shortest time But in the case of

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of task migrations

0

5

10

15

20

Num

ber o

f tas

k m

igra

tions

Figure 13 Number of task migrations (space shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of task migrations

0

2

4

6

8

Num

ber o

f tas

k m

igra

tions

Figure 14 Number of task migrations (time shared)

WRR and RR algorithms the static and dynamic schedulerhas not considered the job lengths Instead it considers onlythe resource capabilities and the arrived job list So the loadbalancer has been able to find the further optimization atrun time and it shifts the jobs from higher loaded VM tothe underutilized VMs This intern produces the higher taskmigrations in the WRR and RR algorithms Additionallythese numbers of task migrations are high in the lowernumber of resources in the WRR and RR algorithms

523 Comparison of Delayed Tasks and Combined IdleTime of All Tasks

Analysis Figures 15 and 16 explain that the number of delayedtasks and the combined idle time of all tasks are higher in theIWRR than the other two algorithmsThis increase happeneddue to the allocation of more tasks in the higher capacityVMs At any point of time only one job can run in thespace spared CPUPE even if it has a higher capacity PESo if another job got allocated to the same VM due to itshigher processing capacity then that job has to be in waitingstate until the running job gets completed This increases thenumber of delayed tasks and the combined idle time in theIWRRalgorithm But in the other two algorithms the jobs getassigned even to the lower capacity VMs without accuratelypredicting the possible completion time in various VMs

The Scientific World Journal 13

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of delayed tasks

020406080

100120

Del

ayed

task

s

Figure 15 Number of delayed tasks (space shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Combined idle time of all tasks times10

4

0

100

200

300

400

Idle

tim

e (s)

Figure 16 Idle time of all tasks (space shared)

So the number of delayed tasks and combined idle time ofall tasks are lower in RR and WRR

524 Comparison of Million Instructions Reexecuteddue to Task Migration

Analysis The job migrations from one VM to another VMlead to the jobrsquos execution termination in one of the VMsOtherwise the current state of the execution has to be copiedover to another VM to proceed from the left out location inthe previous allotted VM In this project the current state ofthe job at the time of jobmigrationwill be lost So the jobwillbe reexecuted from the start of its instructions in themigratedVMThis kind of execution wastage comes in the time sharedCPUThe instruction reexecutionwill be higher in theRR andWRR algorithms due to the higher number of taskmigrationsin RR and WRR which is shown in Figure 17

6 Conclusion and Future Enhancements

In this work the improved weighted round robin algorithmconsiders the capabilities of each VM and the task length ofeach requested job to assign the jobs into the most appro-priate VMsThis improved weighted round robin algorithmsare having three different stages to handle the three differentscenarios in the environment life cycle The static scheduleralgorithm pays attention to the initial placement of the jobs

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Million instructions reexecuted by task migration

0

500

1000

1500

Instr

uctio

ns re

exec

uted times10

4

Figure 17 Million instructions reexecuted (time shared)

which distributes the job requests to the participating VMsevenly based on the VMrsquos capabilities and the length of therequested job The dynamic scheduler considers the load ofall its configured VMs and its tentative completion time ofthe current load has been identified along with the arrivedjobrsquos estimated completion time in each of the configuredVMs After this the least possible completion time has beenidentified from the above calculations for this particular jobin one of the VMs and then the job has been assigned to thisVMThe load balancer in the improvedweighted round robinruns at the end of each taskrsquos completion This always makesthe loads evenly distributed across all the VMs at the end ofeach taskrsquos completion and thus eliminates any idle time inthe participating resources (VMs)

The performance analysis and experiment results of thisalgorithm proved that the improved weighted round robinalgorithm ismost suitable to the heterogeneoushomogenousjobs with heterogeneous resources (VMs) compared to theother round robin and weighted round robin algorithmsThis algorithm considers the response time as the main QoSparameter

As part of the future enhancements we can considermul-tiple PEs in the participating heterogeneous VMs along withthe heterogeneous multiple PEs capable jobs with distributedcomputing capabilities in the improvedweighted round robinalgorithm Additionally the load balancing can also considertransferring the state of jobs between the VMs in the jobmigrations These above considerations can help in furtherreducing the job completion time in all the algorithms

This work had considered the overall completion time ofall the participating jobs in different algorithms Instead inthe future enhancements the completion time of each job canbe compared in the different scheduling and load balancingalgorithms The algorithms can be fine-tuned further toachieve the better consistent results on all the differentperspectives Similarly the comparison results should betaken for the different job arrival patterns on all the threedifferent scheduling and load balancing algorithms

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

14 The Scientific World Journal

Acknowledgments

The authors would like to thank Dr S Jayaprakash formerprofessor IIT Madras and Mr R Bhaskar for their continu-ous support towards the successful outcome of this work

References

[1] Z Xiao W Song and Q Chen ldquoDynamic resource allocationusing virtual machines for cloud computing environmentrdquoIEEE Transactions on Parallel and Distributed Systems vol 24no 6 pp 1107ndash1117 2013

[2] L D Dhinesh Babu and P Venkata Krishna ldquoHoney bee behav-ior inspired load balancing of tasks in cloud computing envi-ronmentsrdquo Applied Soft Computing Journal vol 13 no 5 pp2292ndash2303 2013

[3] J Cao K Li and I Stojmenovic ldquoOptimal power allocation andload distribution for multiple heterogeneous multicore serverprocessors across clouds and data centersrdquo IEEE Transactionson Computers vol 63 no 1 pp 45ndash58 2014

[4] R N Calheiros and R Buyya ldquoMeeting deadlines of scientificworkflows in public clouds with tasks replicationrdquo IEEE Trans-actions on Parallel and Distributed Systems vol 25 no 7 pp1787ndash1796 2014

[5] R Basker V Rhymend Uthariaraj and D Chitra Devi ldquoAnenhanced scheduling in weighted round robin for the cloudinfrastructure servicesrdquo International Journal of Recent Advancein Engineering amp Technology vol 2 no 3 pp 81ndash86 2014

[6] Z Yu F Menng and H Chen ldquoAn efficient list schedulingalgorithm of dependent task in gridrdquo in Proceedings of the3rd IEEE International Conference on Computer Science andInformation Technology (ICCSIT rsquo10) IEEE Chengdu ChinaJuly 2010

[7] H M Fard and H Deldari ldquoAn economic approach forscheduling dependent tasks in grid computingrdquo in Proceedingsof the 11th IEEE International Conference on ComputationalScience and Engineering (CSEWorkshops rsquo08) pp 71ndash76 IEEESan Paulo Brazil July 2008

[8] W Kadri B Yagoubi and M Meddeber ldquoEfficient dependenttasks assignment algorithm for grid computing environmentrdquoin Proceedings of the 2nd International Symposium onModellingand Implementation of Complex Systems (MISC rsquo12) Constan-tine Algeria May 2012

[9] S Ijaz E U Munir W Anwar andW Nasir ldquoEfficient schedul-ing strategy for task graphs in heterogeneous computing envi-ronmentrdquo The International Arab Journal of Information Tech-nology vol 10 no 5 2013

[10] Y Xu K Li LHe andT K Truong ldquoADAG scheduling schemeon heterogeneous computing systems using double molecularstructure-based chemical reaction optimizationrdquo Journal ofParallel andDistributed Computing vol 73 no 9 pp 1306ndash13222013

[11] L-T Lee C-W Chen H-Y Chang C-C Tang and K-CPan ldquoA non-critical path earliest-finish algorithm for inter-dependent tasks in heterogeneous computing environmentsrdquo inProceedings of the 11th IEEE International Conference on HighPerformance Computing and Communications (HPCC rsquo09) pp603ndash608 Seoul Republic of Korea June 2009

[12] B Xu C Zhao E Hu and B Hu ldquoJob scheduling algorithmbased on Berger model in cloud environmentrdquo Advances inEngineering Software vol 42 no 7 pp 419ndash425 2011

[13] B Mondal K Dasgupta and P Dutta ldquoLoad balancing in cloudcomputing using stochastic hill climbing-a soft computingapproachrdquo Procedia Technology vol 4 pp 783ndash789 2012

[14] M Rahman R Hassan R Ranjan and R Buyya ldquoAdaptiveworkflow scheduling for dynamic grid and cloud computingenvironmentrdquo Concurrency and Computation Practice andExperience vol 25 no 13 pp 1816ndash1842 2013

[15] G Gharooni-fard F Moein-darbari H Deldari and A Mor-varidi ldquoScheduling of scientific workflows using a chaos-genetic algorithmrdquo Procedia Computer Science vol 1 no 1 pp1445ndash1454 2010 International Conference on ComputationalScience ICCS 2010

[16] C Lin and S Lu ldquoScheduling scientific workflows elastically forcloud computingrdquo in Proceedings of the IEEE 4th InternationalConference on Cloud Computing Washington DC USA July2011

[17] Vijindra and S Shenai ldquoSurvey on scheduling issues in cloudcomputingrdquo Procedia Engineering vol 38 pp 2881ndash2888 2012Proceedings of the International Conference on ModellingOptimization and Computing

[18] M Xu L Cui H Wang and Y Bi ldquoA multiple QoS constrainedscheduling strategy of multiple workflows for cloud comput-ingrdquo in Proceedings of the IEEE International Symposium onParallel and Distributed Processing with Applications (ISPA rsquo09)pp 629ndash634 IEEE Chengdu China August 2009

[19] C Lin S Lu X Fei et al ldquoA reference architecture for scientificworkflow management systems and the VIEW SOA solutionrdquoIEEE Transactions on Services Computing vol 2 no 1 pp 79ndash92 2009

[20] S Ghanbari and M Othman ldquoA priority based job schedulingalgorithm in cloud computingrdquo in Proceedings of the Inter-national Conference on Advances Science and ContemporaryEngineering pp 778ndash785 October 2012

[21] F Xhafa and A Abraham Mata-Heuristics for Grid SchedulingProblems Springer Berlin Germany 2008

Submit your manuscripts athttpwwwhindawicom

Computer Games Technology

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Distributed Sensor Networks

International Journal of

Advances in

FuzzySystems

Hindawi Publishing Corporationhttpwwwhindawicom

Volume 2014

International Journal of

ReconfigurableComputing

Hindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Applied Computational Intelligence and Soft Computing

thinspAdvancesthinspinthinsp

Artificial Intelligence

HindawithinspPublishingthinspCorporationhttpwwwhindawicom Volumethinsp2014

Advances inSoftware EngineeringHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Journal of

Computer Networks and Communications

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation

httpwwwhindawicom Volume 2014

Advances in

Multimedia

International Journal of

Biomedical Imaging

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

ArtificialNeural Systems

Advances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Computational Intelligence and Neuroscience

Industrial EngineeringJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Human-ComputerInteraction

Advances in

Computer EngineeringAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Page 7: Research Article Load Balancing in Cloud …downloads.hindawi.com/journals/tswj/2016/3896065.pdf1. Introduction Cloud computing is a computing paradigm for managing and delivering

The Scientific World Journal 7

(1) Identify the Pending Execution Time in each of the VMs by collecting the Pending Execution length from executing waiting amppaused list(a) Set pendingJobsTotLength = JobsRemainingLengthInExecList + JobsRemainingLengthInWaitList +

JobsRemainingLengthInPauseList(b) 119862V119898 is the processing capacity of the VM(c) Set pendingETime = pendingJobsTotLength119862V119898

(2) Arrange the VMs based on the least pending execution time to the highest pending execution time and group it in case twoVMs fall in the same pending length This Map should contain pending execution time as key and itrsquos associated VMs as a value(a) Sort the VMMap by the Pending Execution Time of each VM

(3) Re-arrange the incoming Jobs based on the length amp priority of the Jobs(a) Sort the JobSubmittedList based on length amp priority

(4) Initiate the vmIndex jobIndex variable amp totalJobs(a) Set vmIndex = 0(b) Set totalJobs = length of JobSubmittedList(c) Set totalVMsCount = size of VMMap(d) Set jobIndex = 0(e) Set jobToVMratio = totalJobstotalVMsCount

(5) Assign the incoming jobs to the VMs based on the least Pending Execution Time in the VMs amp its processing capacity(a) While (true)

Set job = JobSubmittedListget(jobIndex)Set jobLength = lengthOf(job)Set newCompletiontimeMap = EmptyMapFor startNumber from 0 by 1 to totalVMsCount do

Set vm = VMMapgetValue(startNumber)Set probableNewCompTime = jobLength119862V119898 + VMMapgetKey(startNumber)newCompletiontimeMapadd(probableNewCompTime vm)

SortByCompletionTime(newCompletiontimeMap)Set selectedVM = newCompletiontimeMapgetValue(0)selectedVMassign(job)For startNumber from 0 by 1 to totalVMsCount do

Set vm = VMMapgetValue(startNumber)If (vm equals selectedVM)

Set currentLength = VMMapgetKey(startNumber)Set newCurrentLength = currentLength + newCompletiontimeMapgetKey(0)VMMapremoveItem(startNumber)VMMapadd(newCurrentLength vm)

EndIf

sortByCompletionTime(VMMap)Increase the jobIndex by 1If (jobIndex equals totalJobs)

Break(b) End While

(6) Remove all the assigned Jobs from the JobSubmittedList

Algorithm 1 IWRR dynamic scheduler

in which ldquo119899rdquo tasks assigned to ldquo119898rdquo VMs are represented as anLP model from (4) to (5)

Processing Time Let PT119894119895 be the processing time of assigningtask ldquo119894rdquo to VM ldquo119895rdquo and define

119909119894119895 =

1 if task ldquo119894rdquo is assigned

0 otherwise(4)

Then the linear programming model is given as

Minimize 119885 =119899

sum

119894=1

119898

sum

119895=1

PT119894119895119909119894119895

Subject to119899

sum

119894=1

119909119894119895 = 1 119895 = 1 2 119898

119909119894119895 = 0 or 1

(5)

Resource Utilization Maximizing the resource utilizationis another important objective which is derived from (6)

8 The Scientific World Journal

(1) Identify the number of executingpending tasks in each VM and arrange it in increasing order on a Queue(a) Set numTaskInQueue = Number of ExecutingWaiting Tasks in each VM and arrange it in increasing order

(2) If the number of tasks in the first item of the queue is greater than or equal to ldquo1rdquo then terminate the Load Balancing logicexecution else proceed to the 3rd step(a) If (numTaskInQueuefirst() ge1) then

Return(3) If the number of tasks in the last item of the queue is less than or equal to ldquo1rdquo then terminate the Load Balancing logic

execution else proceed to the 4th step(a) If (numTaskInQueuelast()le1) then

Return(4) Identify the Pending Execution Time in each of the VMs by adding the Pending Execution length from executing

waiting amp paused list and then divided the value by the processing capacity of the VM(a) Set pendingJobsTotLength = JobsRemainingLengthInExecList + JobsRemainingLengthInWaitList +

JobsRemainingLengthInPauseList(b) Set pendingExecutionTime = pendingJobsTotLength119862V119898

(5) Arrange the VMs based on the least pending time to the highest pending time and group it in case two VMs fallin the same pending time(a) Sort the VMMap by the Pending Execution time of each VM

(6) Remove a task from the higher pending time VM which contains more than one task and assign this task to the lowerpending time VM which has no task to process(a) While (true)

Set OverLoadedVM = VMMapget(VMMapsize())Set LowLoadedVM = VMMapget(0)Varlowerposition = 1Varupperposition = 1

(b) While(true)If (OverLoadedVMtaskSize() gt 1 ampampLowLoadedVMtaskSize() lt 1)

BreakElse if (OverLoadedVMtaskSize() gt 1)

LowLoadedVM = VMMapget(lowerposition)Lowerposition++

Else if (LowLoadedVMtaskSize() lt 1)OverLoadedVM = VMMapget(VMMapsize() - upperposition)Upperposition++

ElseBreak The Outer While Loop

(c) End WhileSet migratableTask = OverLoadedVMgetMigratableTask()LowLoadedVMassign(migratableTask)Break

(d) End While(7) Re execute from the step 1(8) Then the steps 2 and 3 will decide the load balancing further(9) This load balancing will be called after every task completion irrespective of any VMs

Algorithm 2 IWRR load balancer

and (7) Achieving high resource utilization becomes achallenge Now average utilization is defined as [21]

Average utilization =sum119895isinVMs 119862119879119895

Makespan lowastNumber of VMs (6)

where makespan can be expressed as

Makespan = max119862119879119895

119895 isin VMs (7)

Capacity of a VM Consider

119862VM = penum lowast pemips (8)

where 119862VM is the capacity of the VM (see (8)) penum is thenumber of processing elements in the VM and pemips is themillion instructions per second of a PE

Capacity of All the VMs Consider

119862 =

119898

sum

119895=1

119862VM119895 (9)

where 119862 is the summation of capacities of all VMs thecapacity allotted to the applicationenvironment (refer to(9))

The Scientific World Journal 9

Task Length Consider

TL = 119879mips lowast 119879pe (10)

Job Length Consider

JL =119901

sum

119896=1

TL119894 (11)

where ldquo119901rdquo is the number of interdependent tasks for the job

Task Load Ratio Task load ratio is calculated in (12) and (13)to identify and allocate the tasks to virtual machines It isdefined as

TLR119894119895 =TL119894119862VM119895

119894 = 1 2 119899 tasks 119895 = 1 2 119898 Virtual machines

(12)

where TL119894 is the task length which is estimated at thebeginning of the execution and119862VM is the capacity of theVMConsider

If TLR119894119895 =

0 assign the task to VM

Otherwise Do not assign(13)

5 Experiment Results andPerformance Analysis

The performance of the IWRR algorithm has been analyzedbased on the results of simulation done in the CloudSimThe classes of the CloudSim simulator have been extended(overridden) to utilize the newly written algorithm In thefollowing illustrations the response time number of jobmigrations cumulative idle time of all tasks and the num-ber of delayed tasks are analyzed in the RR WRR andIWRR algorithms under the combination of heterogeneousand homogenous job lengths with heterogeneous resourceconditions Configuration details are given in Table 1

51 Homogeneous Tasks on Heterogeneous Resources (VMs)

511 Comparison of Overall Execution Time

Analysis The following is the order of highest to lowestperformance of the algorithms in the provided homogenousjobs on heterogeneous environment

(a) improved weighted round robin with job length (b)weighted round robin and (c) round robin

Figures 4 and 5 proved that the IWRR by job lengthdelivers a faster completion time than the other 2 loadbalancing algorithms (RR and WRR) in the heterogeneousresources (VMs) and homogenous jobs The IWRRrsquos staticscheduler algorithm considers the job length along withprocessing capacity of the heterogeneous VMs to assign thejob So more number of jobs gets assigned to the highercapacity VMs in the homogenous jobs on heterogeneousenvironments This helps complete the job in a shorter time

Task overall completion time

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

times104

0

5

10

15

20

Com

plet

ion

time (

s)

Figure 4 Execution completion time (space shared)

Task overall completion time

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

times104

0

5

10

15

20

Com

plet

ion

time (

s)

Figure 5 Execution completion time (time shared)

The dynamic scheduler considers the load of all its configuredVMs and its tentative completion time of the current loadhas been identifiedThen the scheduler calculates the arrivedjobrsquos estimated completion time in each of the configuredVMs and adds this calculated timing with the existing loadrsquoscompletion time on each VM Now the least possible com-pletion time has been identified from the above calculationsfor this particular job in one of the VMs and then the job hasbeen assigned to this VM So this algorithm is most suitableto the heterogeneous environment data centers

The load balancer in the IWRRwith job length runs at theend of each taskrsquos completion If the load balancer finds any ofthe VMs completes all its assigned tasks then it will identifythe highly loaded VM from the group and it calculates thepossible completion time of those jobs present in the highlyloaded VM and the least loadedidle VM If the least loadedVM can finish any of the jobs present in the highly loadedVM in the shortest possible time then that job will be movedto the least loaded VM

The WRR considers the ratio of the VM capacity to thetotal VM capacity and it assigns the proportionate number ofarrived jobs into the VM So it performs in the next level Butif any lengthy jobs are assigned to the low capacity VMs basedon the above calculation then this will delay the executioncompletion time

The simple RR has not considered any variables about theenvironment VM capabilities and the job lengths It simply

10 The Scientific World Journal

Table 1 Cloud setup configuration details

Sl number Entity Quantity Purpose

1 Data center 1 Data center having the physical hosts inthe test environment

2 Number of hosts in DC

500 hosts (200Nos-4-CoreHyperThreadedOpteron270200 Nos-4-CoreHyperThreadedOpteron2218 and 100 Nos8-Core HyperThreaded XeonE5430)

Number of physical hosts used in theexperiment

3 Number of processelements 8816

Number of executing elements in each ofthe hosts The host has 8 or 16 processingelements

4 PE processing capacity 174247355MIPS Each host has any one of the processingcapacities

5 Host ram capacity 1632GB Each host has any of these RAMmemories

6 Number of VM 10 to 100 with an increment of 10 Number of virtual machines used in theexperiment

7 Number of PE to VM 1 Processing element allotted in each VM

8 VMrsquos PE processingcapacity 1503009012093112105225 Virtual machinersquos processing capacity

9 VM RAM capacity 1920MB The RAMrsquos memory capacity of the VM

10 VMmanager XenThe operating system runs on thephysical machine to manage the VMs Itprovides the virtualization

11 Number of PE in Tasks 1 The jobtaskrsquos maximum usableprocessing element

12 Task lengthinstructions 500000 to 200000000

Tasks length in million instructions Theheterogeneous job length test having thevariations from the mentioned minimumto maximum

assigns the jobs to theVM lists one after another in an orderedmanner So its completion time of the jobs is higher than theother 2 algorithms

512 Comparison of Task Migration The task migrations arevery minimal in the IWRR algorithm due to extensive staticand dynamic scheduler algorithm in identifying the mostappropriate VM to each of the jobs which is illustrated inFigures 6 and 7 So the load balancer has been unable tofind the further optimization to complete the task in theshortest time But in the case of WRR and RR algorithmsthe static and dynamic scheduler has not considered the joblengths Instead it considers only the resource capabilitiesand the arrived job list So the load balancer has been ableto find the further optimization at run time and it shifts thejobs from higher loaded VM to the underutilized VMs Thisintern produces the higher task migrations in the weightedround robin and round robin algorithmsThe number of taskmigrations in the lower number of resources is high in theWRR and RR algorithms

513 Comparison of Delayed Tasks and Combined Idle Timeof All Tasks (Space Shared) The number of delayed tasksand the combined idle time of all tasks are higher in

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of task migrations

0

5

10

15

Num

ber o

f tas

k m

igra

tions

Figure 6 Number of task migrations (space shared)

the IWRR than the other two algorithms which is analyzedfrom Figures 8 and 9 This increase happened due to theallocation of more tasks in the higher capacity VMs At anypoint of time only one job can run in the space sparedCPUPE even if it has a higher capacity PE So if anotherjob got allocated to the same VM due to its higher processingcapacity then that job has to be in waiting state until therunning job gets completed This increases the number of

The Scientific World Journal 11

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of task migrations

02468

1012

Num

ber o

f tas

k m

igra

tions

Figure 7 Number of task migrations (time shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of delayed tasks

0

50

100

150

Del

ayed

task

s

Figure 8 Number of delayed tasks (space shared)

delayed tasks and the combined idle time in the IWRRalgorithm But in the other two algorithms the jobs getassigned to even the lower capacity VMs without accuratelypredicting the possible completion time in various VMs Sothe number of delayed tasks and combined idle time of alltasks are lower in RR and WRR

514 Comparison of Million Instructions Reexecuteddue to Task Migration

Analysis The job migrations from one VM to another VMlead to the jobrsquos execution termination in one of the VMsOtherwise the current state of the execution has to be copiedover to another VM to proceed from the left out locationin the previous allotted VM In this work the current stateof the job at the time of job migration will be lost So thejob will be reexecuted from the start of its instructions inthe migrated VM This kind of execution wastage comes inthe time shared CPU rather than the space shared CPU Theinstruction reexecution will be higher in the RR and WRRalgorithms due to the higher number of task migrations inRR and WRR (refer to Figure 10)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Combined idle time of all tasks times104

0

100

200

300

400

Idle

tim

e (s)

Figure 9 Idle time of all tasks (space shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Million instructions reexecuted by task migrationtimes10

4

0

500

1000

1500

2000

Instr

uctio

ns re

exec

uted

Figure 10 Million instructions reexecuted (time shared)

52 Heterogeneous Tasks on Heterogeneous Resources (VMs)

521 Comparison of Overall Execution Time

Analysis The following is the order of highest to lowest per-formance of the algorithms in the provided heterogeneousenvironment

(a) improved weighted round robin with job length (b)weighted round robin (c) round robin

Figures 11 and 12 proved that the improved weightedround robin by job length delivers a faster completion timethan the other two load balancing algorithms (RR andWRR)in the heterogeneous resources (VMs) and heterogeneousjobsThe IWRRrsquos static scheduler algorithm considers the joblength along with processing capacity of the heterogeneousVMs to assign the job So the lengthy jobs get assigned tothe higher capacity VMs in the heterogeneous environmentsThis helps complete the job in a shorter time The dynamicscheduler considers the load of all its configured VMs and itstentative completion time of the current load has been identi-fiedThen the scheduler calculates the arrived jobrsquos estimatedcompletion time in each of the configured VMs and adds thiscalculated timing with the existing loadrsquos completion time oneach VM Now the least possible completion time has beenidentified from the above calculations for this particular jobin one of the VMs and then the job has been assigned to thisVM So this algorithm is most suitable to the heterogeneousenvironment data centers

12 The Scientific World Journal

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Task overall completion time times104

0

5

10

15

Com

plet

ion

time (

s)

Figure 11 Execution completion time (space shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Task overall completion time times104

0

5

10

15

20

Com

plet

ion

time (

s)

Figure 12 Execution completion time (time shared)

The load balancer in the IWRRwith job length runs at theend of each taskrsquos completion If the load balancer finds any ofthe VMs completes all its assigned tasks then it will identifythe highly loaded VM from the group and it calculates thepossible completion time of those jobs present in the highlyloaded VM and the least loadedidle VM If the least loadedVM can finish any of the jobs present in the highly loadedVM in the shortest possible time then that job will be movedto the least loaded VM The WRR considers the ratio ofthe VM capacity to the total VM capacity and it assigns theproportionate number of arrived jobs into the VM So itperforms in the next level But if any lengthy jobs are assignedto the low capacity VMs based on the above calculation thenthis will delay the execution completion time The simple RRhas not considered any variables about the environment VMcapabilities and the job lengths It simply assigns the jobsto the VM lists one after another in an ordered manner Soits completion time of the jobs is higher than the other twoalgorithms

522 Comparison of Task Migration

Analysis The task migrations are very minimal in the IWRRalgorithm due to extensive static and dynamic scheduleralgorithm in identifying the most appropriate VM to each ofthe jobs which is derived from Figures 13 and 14 So the loadbalancer has been unable to find the further optimizationto complete the task in the shortest time But in the case of

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of task migrations

0

5

10

15

20

Num

ber o

f tas

k m

igra

tions

Figure 13 Number of task migrations (space shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of task migrations

0

2

4

6

8

Num

ber o

f tas

k m

igra

tions

Figure 14 Number of task migrations (time shared)

WRR and RR algorithms the static and dynamic schedulerhas not considered the job lengths Instead it considers onlythe resource capabilities and the arrived job list So the loadbalancer has been able to find the further optimization atrun time and it shifts the jobs from higher loaded VM tothe underutilized VMs This intern produces the higher taskmigrations in the WRR and RR algorithms Additionallythese numbers of task migrations are high in the lowernumber of resources in the WRR and RR algorithms

523 Comparison of Delayed Tasks and Combined IdleTime of All Tasks

Analysis Figures 15 and 16 explain that the number of delayedtasks and the combined idle time of all tasks are higher in theIWRR than the other two algorithmsThis increase happeneddue to the allocation of more tasks in the higher capacityVMs At any point of time only one job can run in thespace spared CPUPE even if it has a higher capacity PESo if another job got allocated to the same VM due to itshigher processing capacity then that job has to be in waitingstate until the running job gets completed This increases thenumber of delayed tasks and the combined idle time in theIWRRalgorithm But in the other two algorithms the jobs getassigned even to the lower capacity VMs without accuratelypredicting the possible completion time in various VMs

The Scientific World Journal 13

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of delayed tasks

020406080

100120

Del

ayed

task

s

Figure 15 Number of delayed tasks (space shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Combined idle time of all tasks times10

4

0

100

200

300

400

Idle

tim

e (s)

Figure 16 Idle time of all tasks (space shared)

So the number of delayed tasks and combined idle time ofall tasks are lower in RR and WRR

524 Comparison of Million Instructions Reexecuteddue to Task Migration

Analysis The job migrations from one VM to another VMlead to the jobrsquos execution termination in one of the VMsOtherwise the current state of the execution has to be copiedover to another VM to proceed from the left out location inthe previous allotted VM In this project the current state ofthe job at the time of jobmigrationwill be lost So the jobwillbe reexecuted from the start of its instructions in themigratedVMThis kind of execution wastage comes in the time sharedCPUThe instruction reexecutionwill be higher in theRR andWRR algorithms due to the higher number of taskmigrationsin RR and WRR which is shown in Figure 17

6 Conclusion and Future Enhancements

In this work the improved weighted round robin algorithmconsiders the capabilities of each VM and the task length ofeach requested job to assign the jobs into the most appro-priate VMsThis improved weighted round robin algorithmsare having three different stages to handle the three differentscenarios in the environment life cycle The static scheduleralgorithm pays attention to the initial placement of the jobs

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Million instructions reexecuted by task migration

0

500

1000

1500

Instr

uctio

ns re

exec

uted times10

4

Figure 17 Million instructions reexecuted (time shared)

which distributes the job requests to the participating VMsevenly based on the VMrsquos capabilities and the length of therequested job The dynamic scheduler considers the load ofall its configured VMs and its tentative completion time ofthe current load has been identified along with the arrivedjobrsquos estimated completion time in each of the configuredVMs After this the least possible completion time has beenidentified from the above calculations for this particular jobin one of the VMs and then the job has been assigned to thisVMThe load balancer in the improvedweighted round robinruns at the end of each taskrsquos completion This always makesthe loads evenly distributed across all the VMs at the end ofeach taskrsquos completion and thus eliminates any idle time inthe participating resources (VMs)

The performance analysis and experiment results of thisalgorithm proved that the improved weighted round robinalgorithm ismost suitable to the heterogeneoushomogenousjobs with heterogeneous resources (VMs) compared to theother round robin and weighted round robin algorithmsThis algorithm considers the response time as the main QoSparameter

As part of the future enhancements we can considermul-tiple PEs in the participating heterogeneous VMs along withthe heterogeneous multiple PEs capable jobs with distributedcomputing capabilities in the improvedweighted round robinalgorithm Additionally the load balancing can also considertransferring the state of jobs between the VMs in the jobmigrations These above considerations can help in furtherreducing the job completion time in all the algorithms

This work had considered the overall completion time ofall the participating jobs in different algorithms Instead inthe future enhancements the completion time of each job canbe compared in the different scheduling and load balancingalgorithms The algorithms can be fine-tuned further toachieve the better consistent results on all the differentperspectives Similarly the comparison results should betaken for the different job arrival patterns on all the threedifferent scheduling and load balancing algorithms

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

14 The Scientific World Journal

Acknowledgments

The authors would like to thank Dr S Jayaprakash formerprofessor IIT Madras and Mr R Bhaskar for their continu-ous support towards the successful outcome of this work

References

[1] Z Xiao W Song and Q Chen ldquoDynamic resource allocationusing virtual machines for cloud computing environmentrdquoIEEE Transactions on Parallel and Distributed Systems vol 24no 6 pp 1107ndash1117 2013

[2] L D Dhinesh Babu and P Venkata Krishna ldquoHoney bee behav-ior inspired load balancing of tasks in cloud computing envi-ronmentsrdquo Applied Soft Computing Journal vol 13 no 5 pp2292ndash2303 2013

[3] J Cao K Li and I Stojmenovic ldquoOptimal power allocation andload distribution for multiple heterogeneous multicore serverprocessors across clouds and data centersrdquo IEEE Transactionson Computers vol 63 no 1 pp 45ndash58 2014

[4] R N Calheiros and R Buyya ldquoMeeting deadlines of scientificworkflows in public clouds with tasks replicationrdquo IEEE Trans-actions on Parallel and Distributed Systems vol 25 no 7 pp1787ndash1796 2014

[5] R Basker V Rhymend Uthariaraj and D Chitra Devi ldquoAnenhanced scheduling in weighted round robin for the cloudinfrastructure servicesrdquo International Journal of Recent Advancein Engineering amp Technology vol 2 no 3 pp 81ndash86 2014

[6] Z Yu F Menng and H Chen ldquoAn efficient list schedulingalgorithm of dependent task in gridrdquo in Proceedings of the3rd IEEE International Conference on Computer Science andInformation Technology (ICCSIT rsquo10) IEEE Chengdu ChinaJuly 2010

[7] H M Fard and H Deldari ldquoAn economic approach forscheduling dependent tasks in grid computingrdquo in Proceedingsof the 11th IEEE International Conference on ComputationalScience and Engineering (CSEWorkshops rsquo08) pp 71ndash76 IEEESan Paulo Brazil July 2008

[8] W Kadri B Yagoubi and M Meddeber ldquoEfficient dependenttasks assignment algorithm for grid computing environmentrdquoin Proceedings of the 2nd International Symposium onModellingand Implementation of Complex Systems (MISC rsquo12) Constan-tine Algeria May 2012

[9] S Ijaz E U Munir W Anwar andW Nasir ldquoEfficient schedul-ing strategy for task graphs in heterogeneous computing envi-ronmentrdquo The International Arab Journal of Information Tech-nology vol 10 no 5 2013

[10] Y Xu K Li LHe andT K Truong ldquoADAG scheduling schemeon heterogeneous computing systems using double molecularstructure-based chemical reaction optimizationrdquo Journal ofParallel andDistributed Computing vol 73 no 9 pp 1306ndash13222013

[11] L-T Lee C-W Chen H-Y Chang C-C Tang and K-CPan ldquoA non-critical path earliest-finish algorithm for inter-dependent tasks in heterogeneous computing environmentsrdquo inProceedings of the 11th IEEE International Conference on HighPerformance Computing and Communications (HPCC rsquo09) pp603ndash608 Seoul Republic of Korea June 2009

[12] B Xu C Zhao E Hu and B Hu ldquoJob scheduling algorithmbased on Berger model in cloud environmentrdquo Advances inEngineering Software vol 42 no 7 pp 419ndash425 2011

[13] B Mondal K Dasgupta and P Dutta ldquoLoad balancing in cloudcomputing using stochastic hill climbing-a soft computingapproachrdquo Procedia Technology vol 4 pp 783ndash789 2012

[14] M Rahman R Hassan R Ranjan and R Buyya ldquoAdaptiveworkflow scheduling for dynamic grid and cloud computingenvironmentrdquo Concurrency and Computation Practice andExperience vol 25 no 13 pp 1816ndash1842 2013

[15] G Gharooni-fard F Moein-darbari H Deldari and A Mor-varidi ldquoScheduling of scientific workflows using a chaos-genetic algorithmrdquo Procedia Computer Science vol 1 no 1 pp1445ndash1454 2010 International Conference on ComputationalScience ICCS 2010

[16] C Lin and S Lu ldquoScheduling scientific workflows elastically forcloud computingrdquo in Proceedings of the IEEE 4th InternationalConference on Cloud Computing Washington DC USA July2011

[17] Vijindra and S Shenai ldquoSurvey on scheduling issues in cloudcomputingrdquo Procedia Engineering vol 38 pp 2881ndash2888 2012Proceedings of the International Conference on ModellingOptimization and Computing

[18] M Xu L Cui H Wang and Y Bi ldquoA multiple QoS constrainedscheduling strategy of multiple workflows for cloud comput-ingrdquo in Proceedings of the IEEE International Symposium onParallel and Distributed Processing with Applications (ISPA rsquo09)pp 629ndash634 IEEE Chengdu China August 2009

[19] C Lin S Lu X Fei et al ldquoA reference architecture for scientificworkflow management systems and the VIEW SOA solutionrdquoIEEE Transactions on Services Computing vol 2 no 1 pp 79ndash92 2009

[20] S Ghanbari and M Othman ldquoA priority based job schedulingalgorithm in cloud computingrdquo in Proceedings of the Inter-national Conference on Advances Science and ContemporaryEngineering pp 778ndash785 October 2012

[21] F Xhafa and A Abraham Mata-Heuristics for Grid SchedulingProblems Springer Berlin Germany 2008

Submit your manuscripts athttpwwwhindawicom

Computer Games Technology

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Distributed Sensor Networks

International Journal of

Advances in

FuzzySystems

Hindawi Publishing Corporationhttpwwwhindawicom

Volume 2014

International Journal of

ReconfigurableComputing

Hindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Applied Computational Intelligence and Soft Computing

thinspAdvancesthinspinthinsp

Artificial Intelligence

HindawithinspPublishingthinspCorporationhttpwwwhindawicom Volumethinsp2014

Advances inSoftware EngineeringHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Journal of

Computer Networks and Communications

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation

httpwwwhindawicom Volume 2014

Advances in

Multimedia

International Journal of

Biomedical Imaging

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

ArtificialNeural Systems

Advances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Computational Intelligence and Neuroscience

Industrial EngineeringJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Human-ComputerInteraction

Advances in

Computer EngineeringAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Page 8: Research Article Load Balancing in Cloud …downloads.hindawi.com/journals/tswj/2016/3896065.pdf1. Introduction Cloud computing is a computing paradigm for managing and delivering

8 The Scientific World Journal

(1) Identify the number of executingpending tasks in each VM and arrange it in increasing order on a Queue(a) Set numTaskInQueue = Number of ExecutingWaiting Tasks in each VM and arrange it in increasing order

(2) If the number of tasks in the first item of the queue is greater than or equal to ldquo1rdquo then terminate the Load Balancing logicexecution else proceed to the 3rd step(a) If (numTaskInQueuefirst() ge1) then

Return(3) If the number of tasks in the last item of the queue is less than or equal to ldquo1rdquo then terminate the Load Balancing logic

execution else proceed to the 4th step(a) If (numTaskInQueuelast()le1) then

Return(4) Identify the Pending Execution Time in each of the VMs by adding the Pending Execution length from executing

waiting amp paused list and then divided the value by the processing capacity of the VM(a) Set pendingJobsTotLength = JobsRemainingLengthInExecList + JobsRemainingLengthInWaitList +

JobsRemainingLengthInPauseList(b) Set pendingExecutionTime = pendingJobsTotLength119862V119898

(5) Arrange the VMs based on the least pending time to the highest pending time and group it in case two VMs fallin the same pending time(a) Sort the VMMap by the Pending Execution time of each VM

(6) Remove a task from the higher pending time VM which contains more than one task and assign this task to the lowerpending time VM which has no task to process(a) While (true)

Set OverLoadedVM = VMMapget(VMMapsize())Set LowLoadedVM = VMMapget(0)Varlowerposition = 1Varupperposition = 1

(b) While(true)If (OverLoadedVMtaskSize() gt 1 ampampLowLoadedVMtaskSize() lt 1)

BreakElse if (OverLoadedVMtaskSize() gt 1)

LowLoadedVM = VMMapget(lowerposition)Lowerposition++

Else if (LowLoadedVMtaskSize() lt 1)OverLoadedVM = VMMapget(VMMapsize() - upperposition)Upperposition++

ElseBreak The Outer While Loop

(c) End WhileSet migratableTask = OverLoadedVMgetMigratableTask()LowLoadedVMassign(migratableTask)Break

(d) End While(7) Re execute from the step 1(8) Then the steps 2 and 3 will decide the load balancing further(9) This load balancing will be called after every task completion irrespective of any VMs

Algorithm 2 IWRR load balancer

and (7) Achieving high resource utilization becomes achallenge Now average utilization is defined as [21]

Average utilization =sum119895isinVMs 119862119879119895

Makespan lowastNumber of VMs (6)

where makespan can be expressed as

Makespan = max119862119879119895

119895 isin VMs (7)

Capacity of a VM Consider

119862VM = penum lowast pemips (8)

where 119862VM is the capacity of the VM (see (8)) penum is thenumber of processing elements in the VM and pemips is themillion instructions per second of a PE

Capacity of All the VMs Consider

119862 =

119898

sum

119895=1

119862VM119895 (9)

where 119862 is the summation of capacities of all VMs thecapacity allotted to the applicationenvironment (refer to(9))

The Scientific World Journal 9

Task Length Consider

TL = 119879mips lowast 119879pe (10)

Job Length Consider

JL =119901

sum

119896=1

TL119894 (11)

where ldquo119901rdquo is the number of interdependent tasks for the job

Task Load Ratio Task load ratio is calculated in (12) and (13)to identify and allocate the tasks to virtual machines It isdefined as

TLR119894119895 =TL119894119862VM119895

119894 = 1 2 119899 tasks 119895 = 1 2 119898 Virtual machines

(12)

where TL119894 is the task length which is estimated at thebeginning of the execution and119862VM is the capacity of theVMConsider

If TLR119894119895 =

0 assign the task to VM

Otherwise Do not assign(13)

5 Experiment Results andPerformance Analysis

The performance of the IWRR algorithm has been analyzedbased on the results of simulation done in the CloudSimThe classes of the CloudSim simulator have been extended(overridden) to utilize the newly written algorithm In thefollowing illustrations the response time number of jobmigrations cumulative idle time of all tasks and the num-ber of delayed tasks are analyzed in the RR WRR andIWRR algorithms under the combination of heterogeneousand homogenous job lengths with heterogeneous resourceconditions Configuration details are given in Table 1

51 Homogeneous Tasks on Heterogeneous Resources (VMs)

511 Comparison of Overall Execution Time

Analysis The following is the order of highest to lowestperformance of the algorithms in the provided homogenousjobs on heterogeneous environment

(a) improved weighted round robin with job length (b)weighted round robin and (c) round robin

Figures 4 and 5 proved that the IWRR by job lengthdelivers a faster completion time than the other 2 loadbalancing algorithms (RR and WRR) in the heterogeneousresources (VMs) and homogenous jobs The IWRRrsquos staticscheduler algorithm considers the job length along withprocessing capacity of the heterogeneous VMs to assign thejob So more number of jobs gets assigned to the highercapacity VMs in the homogenous jobs on heterogeneousenvironments This helps complete the job in a shorter time

Task overall completion time

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

times104

0

5

10

15

20

Com

plet

ion

time (

s)

Figure 4 Execution completion time (space shared)

Task overall completion time

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

times104

0

5

10

15

20

Com

plet

ion

time (

s)

Figure 5 Execution completion time (time shared)

The dynamic scheduler considers the load of all its configuredVMs and its tentative completion time of the current loadhas been identifiedThen the scheduler calculates the arrivedjobrsquos estimated completion time in each of the configuredVMs and adds this calculated timing with the existing loadrsquoscompletion time on each VM Now the least possible com-pletion time has been identified from the above calculationsfor this particular job in one of the VMs and then the job hasbeen assigned to this VM So this algorithm is most suitableto the heterogeneous environment data centers

The load balancer in the IWRRwith job length runs at theend of each taskrsquos completion If the load balancer finds any ofthe VMs completes all its assigned tasks then it will identifythe highly loaded VM from the group and it calculates thepossible completion time of those jobs present in the highlyloaded VM and the least loadedidle VM If the least loadedVM can finish any of the jobs present in the highly loadedVM in the shortest possible time then that job will be movedto the least loaded VM

The WRR considers the ratio of the VM capacity to thetotal VM capacity and it assigns the proportionate number ofarrived jobs into the VM So it performs in the next level Butif any lengthy jobs are assigned to the low capacity VMs basedon the above calculation then this will delay the executioncompletion time

The simple RR has not considered any variables about theenvironment VM capabilities and the job lengths It simply

10 The Scientific World Journal

Table 1 Cloud setup configuration details

Sl number Entity Quantity Purpose

1 Data center 1 Data center having the physical hosts inthe test environment

2 Number of hosts in DC

500 hosts (200Nos-4-CoreHyperThreadedOpteron270200 Nos-4-CoreHyperThreadedOpteron2218 and 100 Nos8-Core HyperThreaded XeonE5430)

Number of physical hosts used in theexperiment

3 Number of processelements 8816

Number of executing elements in each ofthe hosts The host has 8 or 16 processingelements

4 PE processing capacity 174247355MIPS Each host has any one of the processingcapacities

5 Host ram capacity 1632GB Each host has any of these RAMmemories

6 Number of VM 10 to 100 with an increment of 10 Number of virtual machines used in theexperiment

7 Number of PE to VM 1 Processing element allotted in each VM

8 VMrsquos PE processingcapacity 1503009012093112105225 Virtual machinersquos processing capacity

9 VM RAM capacity 1920MB The RAMrsquos memory capacity of the VM

10 VMmanager XenThe operating system runs on thephysical machine to manage the VMs Itprovides the virtualization

11 Number of PE in Tasks 1 The jobtaskrsquos maximum usableprocessing element

12 Task lengthinstructions 500000 to 200000000

Tasks length in million instructions Theheterogeneous job length test having thevariations from the mentioned minimumto maximum

assigns the jobs to theVM lists one after another in an orderedmanner So its completion time of the jobs is higher than theother 2 algorithms

512 Comparison of Task Migration The task migrations arevery minimal in the IWRR algorithm due to extensive staticand dynamic scheduler algorithm in identifying the mostappropriate VM to each of the jobs which is illustrated inFigures 6 and 7 So the load balancer has been unable tofind the further optimization to complete the task in theshortest time But in the case of WRR and RR algorithmsthe static and dynamic scheduler has not considered the joblengths Instead it considers only the resource capabilitiesand the arrived job list So the load balancer has been ableto find the further optimization at run time and it shifts thejobs from higher loaded VM to the underutilized VMs Thisintern produces the higher task migrations in the weightedround robin and round robin algorithmsThe number of taskmigrations in the lower number of resources is high in theWRR and RR algorithms

513 Comparison of Delayed Tasks and Combined Idle Timeof All Tasks (Space Shared) The number of delayed tasksand the combined idle time of all tasks are higher in

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of task migrations

0

5

10

15

Num

ber o

f tas

k m

igra

tions

Figure 6 Number of task migrations (space shared)

the IWRR than the other two algorithms which is analyzedfrom Figures 8 and 9 This increase happened due to theallocation of more tasks in the higher capacity VMs At anypoint of time only one job can run in the space sparedCPUPE even if it has a higher capacity PE So if anotherjob got allocated to the same VM due to its higher processingcapacity then that job has to be in waiting state until therunning job gets completed This increases the number of

The Scientific World Journal 11

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of task migrations

02468

1012

Num

ber o

f tas

k m

igra

tions

Figure 7 Number of task migrations (time shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of delayed tasks

0

50

100

150

Del

ayed

task

s

Figure 8 Number of delayed tasks (space shared)

delayed tasks and the combined idle time in the IWRRalgorithm But in the other two algorithms the jobs getassigned to even the lower capacity VMs without accuratelypredicting the possible completion time in various VMs Sothe number of delayed tasks and combined idle time of alltasks are lower in RR and WRR

514 Comparison of Million Instructions Reexecuteddue to Task Migration

Analysis The job migrations from one VM to another VMlead to the jobrsquos execution termination in one of the VMsOtherwise the current state of the execution has to be copiedover to another VM to proceed from the left out locationin the previous allotted VM In this work the current stateof the job at the time of job migration will be lost So thejob will be reexecuted from the start of its instructions inthe migrated VM This kind of execution wastage comes inthe time shared CPU rather than the space shared CPU Theinstruction reexecution will be higher in the RR and WRRalgorithms due to the higher number of task migrations inRR and WRR (refer to Figure 10)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Combined idle time of all tasks times104

0

100

200

300

400

Idle

tim

e (s)

Figure 9 Idle time of all tasks (space shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Million instructions reexecuted by task migrationtimes10

4

0

500

1000

1500

2000

Instr

uctio

ns re

exec

uted

Figure 10 Million instructions reexecuted (time shared)

52 Heterogeneous Tasks on Heterogeneous Resources (VMs)

521 Comparison of Overall Execution Time

Analysis The following is the order of highest to lowest per-formance of the algorithms in the provided heterogeneousenvironment

(a) improved weighted round robin with job length (b)weighted round robin (c) round robin

Figures 11 and 12 proved that the improved weightedround robin by job length delivers a faster completion timethan the other two load balancing algorithms (RR andWRR)in the heterogeneous resources (VMs) and heterogeneousjobsThe IWRRrsquos static scheduler algorithm considers the joblength along with processing capacity of the heterogeneousVMs to assign the job So the lengthy jobs get assigned tothe higher capacity VMs in the heterogeneous environmentsThis helps complete the job in a shorter time The dynamicscheduler considers the load of all its configured VMs and itstentative completion time of the current load has been identi-fiedThen the scheduler calculates the arrived jobrsquos estimatedcompletion time in each of the configured VMs and adds thiscalculated timing with the existing loadrsquos completion time oneach VM Now the least possible completion time has beenidentified from the above calculations for this particular jobin one of the VMs and then the job has been assigned to thisVM So this algorithm is most suitable to the heterogeneousenvironment data centers

12 The Scientific World Journal

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Task overall completion time times104

0

5

10

15

Com

plet

ion

time (

s)

Figure 11 Execution completion time (space shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Task overall completion time times104

0

5

10

15

20

Com

plet

ion

time (

s)

Figure 12 Execution completion time (time shared)

The load balancer in the IWRRwith job length runs at theend of each taskrsquos completion If the load balancer finds any ofthe VMs completes all its assigned tasks then it will identifythe highly loaded VM from the group and it calculates thepossible completion time of those jobs present in the highlyloaded VM and the least loadedidle VM If the least loadedVM can finish any of the jobs present in the highly loadedVM in the shortest possible time then that job will be movedto the least loaded VM The WRR considers the ratio ofthe VM capacity to the total VM capacity and it assigns theproportionate number of arrived jobs into the VM So itperforms in the next level But if any lengthy jobs are assignedto the low capacity VMs based on the above calculation thenthis will delay the execution completion time The simple RRhas not considered any variables about the environment VMcapabilities and the job lengths It simply assigns the jobsto the VM lists one after another in an ordered manner Soits completion time of the jobs is higher than the other twoalgorithms

522 Comparison of Task Migration

Analysis The task migrations are very minimal in the IWRRalgorithm due to extensive static and dynamic scheduleralgorithm in identifying the most appropriate VM to each ofthe jobs which is derived from Figures 13 and 14 So the loadbalancer has been unable to find the further optimizationto complete the task in the shortest time But in the case of

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of task migrations

0

5

10

15

20

Num

ber o

f tas

k m

igra

tions

Figure 13 Number of task migrations (space shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of task migrations

0

2

4

6

8

Num

ber o

f tas

k m

igra

tions

Figure 14 Number of task migrations (time shared)

WRR and RR algorithms the static and dynamic schedulerhas not considered the job lengths Instead it considers onlythe resource capabilities and the arrived job list So the loadbalancer has been able to find the further optimization atrun time and it shifts the jobs from higher loaded VM tothe underutilized VMs This intern produces the higher taskmigrations in the WRR and RR algorithms Additionallythese numbers of task migrations are high in the lowernumber of resources in the WRR and RR algorithms

523 Comparison of Delayed Tasks and Combined IdleTime of All Tasks

Analysis Figures 15 and 16 explain that the number of delayedtasks and the combined idle time of all tasks are higher in theIWRR than the other two algorithmsThis increase happeneddue to the allocation of more tasks in the higher capacityVMs At any point of time only one job can run in thespace spared CPUPE even if it has a higher capacity PESo if another job got allocated to the same VM due to itshigher processing capacity then that job has to be in waitingstate until the running job gets completed This increases thenumber of delayed tasks and the combined idle time in theIWRRalgorithm But in the other two algorithms the jobs getassigned even to the lower capacity VMs without accuratelypredicting the possible completion time in various VMs

The Scientific World Journal 13

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of delayed tasks

020406080

100120

Del

ayed

task

s

Figure 15 Number of delayed tasks (space shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Combined idle time of all tasks times10

4

0

100

200

300

400

Idle

tim

e (s)

Figure 16 Idle time of all tasks (space shared)

So the number of delayed tasks and combined idle time ofall tasks are lower in RR and WRR

524 Comparison of Million Instructions Reexecuteddue to Task Migration

Analysis The job migrations from one VM to another VMlead to the jobrsquos execution termination in one of the VMsOtherwise the current state of the execution has to be copiedover to another VM to proceed from the left out location inthe previous allotted VM In this project the current state ofthe job at the time of jobmigrationwill be lost So the jobwillbe reexecuted from the start of its instructions in themigratedVMThis kind of execution wastage comes in the time sharedCPUThe instruction reexecutionwill be higher in theRR andWRR algorithms due to the higher number of taskmigrationsin RR and WRR which is shown in Figure 17

6 Conclusion and Future Enhancements

In this work the improved weighted round robin algorithmconsiders the capabilities of each VM and the task length ofeach requested job to assign the jobs into the most appro-priate VMsThis improved weighted round robin algorithmsare having three different stages to handle the three differentscenarios in the environment life cycle The static scheduleralgorithm pays attention to the initial placement of the jobs

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Million instructions reexecuted by task migration

0

500

1000

1500

Instr

uctio

ns re

exec

uted times10

4

Figure 17 Million instructions reexecuted (time shared)

which distributes the job requests to the participating VMsevenly based on the VMrsquos capabilities and the length of therequested job The dynamic scheduler considers the load ofall its configured VMs and its tentative completion time ofthe current load has been identified along with the arrivedjobrsquos estimated completion time in each of the configuredVMs After this the least possible completion time has beenidentified from the above calculations for this particular jobin one of the VMs and then the job has been assigned to thisVMThe load balancer in the improvedweighted round robinruns at the end of each taskrsquos completion This always makesthe loads evenly distributed across all the VMs at the end ofeach taskrsquos completion and thus eliminates any idle time inthe participating resources (VMs)

The performance analysis and experiment results of thisalgorithm proved that the improved weighted round robinalgorithm ismost suitable to the heterogeneoushomogenousjobs with heterogeneous resources (VMs) compared to theother round robin and weighted round robin algorithmsThis algorithm considers the response time as the main QoSparameter

As part of the future enhancements we can considermul-tiple PEs in the participating heterogeneous VMs along withthe heterogeneous multiple PEs capable jobs with distributedcomputing capabilities in the improvedweighted round robinalgorithm Additionally the load balancing can also considertransferring the state of jobs between the VMs in the jobmigrations These above considerations can help in furtherreducing the job completion time in all the algorithms

This work had considered the overall completion time ofall the participating jobs in different algorithms Instead inthe future enhancements the completion time of each job canbe compared in the different scheduling and load balancingalgorithms The algorithms can be fine-tuned further toachieve the better consistent results on all the differentperspectives Similarly the comparison results should betaken for the different job arrival patterns on all the threedifferent scheduling and load balancing algorithms

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

14 The Scientific World Journal

Acknowledgments

The authors would like to thank Dr S Jayaprakash formerprofessor IIT Madras and Mr R Bhaskar for their continu-ous support towards the successful outcome of this work

References

[1] Z Xiao W Song and Q Chen ldquoDynamic resource allocationusing virtual machines for cloud computing environmentrdquoIEEE Transactions on Parallel and Distributed Systems vol 24no 6 pp 1107ndash1117 2013

[2] L D Dhinesh Babu and P Venkata Krishna ldquoHoney bee behav-ior inspired load balancing of tasks in cloud computing envi-ronmentsrdquo Applied Soft Computing Journal vol 13 no 5 pp2292ndash2303 2013

[3] J Cao K Li and I Stojmenovic ldquoOptimal power allocation andload distribution for multiple heterogeneous multicore serverprocessors across clouds and data centersrdquo IEEE Transactionson Computers vol 63 no 1 pp 45ndash58 2014

[4] R N Calheiros and R Buyya ldquoMeeting deadlines of scientificworkflows in public clouds with tasks replicationrdquo IEEE Trans-actions on Parallel and Distributed Systems vol 25 no 7 pp1787ndash1796 2014

[5] R Basker V Rhymend Uthariaraj and D Chitra Devi ldquoAnenhanced scheduling in weighted round robin for the cloudinfrastructure servicesrdquo International Journal of Recent Advancein Engineering amp Technology vol 2 no 3 pp 81ndash86 2014

[6] Z Yu F Menng and H Chen ldquoAn efficient list schedulingalgorithm of dependent task in gridrdquo in Proceedings of the3rd IEEE International Conference on Computer Science andInformation Technology (ICCSIT rsquo10) IEEE Chengdu ChinaJuly 2010

[7] H M Fard and H Deldari ldquoAn economic approach forscheduling dependent tasks in grid computingrdquo in Proceedingsof the 11th IEEE International Conference on ComputationalScience and Engineering (CSEWorkshops rsquo08) pp 71ndash76 IEEESan Paulo Brazil July 2008

[8] W Kadri B Yagoubi and M Meddeber ldquoEfficient dependenttasks assignment algorithm for grid computing environmentrdquoin Proceedings of the 2nd International Symposium onModellingand Implementation of Complex Systems (MISC rsquo12) Constan-tine Algeria May 2012

[9] S Ijaz E U Munir W Anwar andW Nasir ldquoEfficient schedul-ing strategy for task graphs in heterogeneous computing envi-ronmentrdquo The International Arab Journal of Information Tech-nology vol 10 no 5 2013

[10] Y Xu K Li LHe andT K Truong ldquoADAG scheduling schemeon heterogeneous computing systems using double molecularstructure-based chemical reaction optimizationrdquo Journal ofParallel andDistributed Computing vol 73 no 9 pp 1306ndash13222013

[11] L-T Lee C-W Chen H-Y Chang C-C Tang and K-CPan ldquoA non-critical path earliest-finish algorithm for inter-dependent tasks in heterogeneous computing environmentsrdquo inProceedings of the 11th IEEE International Conference on HighPerformance Computing and Communications (HPCC rsquo09) pp603ndash608 Seoul Republic of Korea June 2009

[12] B Xu C Zhao E Hu and B Hu ldquoJob scheduling algorithmbased on Berger model in cloud environmentrdquo Advances inEngineering Software vol 42 no 7 pp 419ndash425 2011

[13] B Mondal K Dasgupta and P Dutta ldquoLoad balancing in cloudcomputing using stochastic hill climbing-a soft computingapproachrdquo Procedia Technology vol 4 pp 783ndash789 2012

[14] M Rahman R Hassan R Ranjan and R Buyya ldquoAdaptiveworkflow scheduling for dynamic grid and cloud computingenvironmentrdquo Concurrency and Computation Practice andExperience vol 25 no 13 pp 1816ndash1842 2013

[15] G Gharooni-fard F Moein-darbari H Deldari and A Mor-varidi ldquoScheduling of scientific workflows using a chaos-genetic algorithmrdquo Procedia Computer Science vol 1 no 1 pp1445ndash1454 2010 International Conference on ComputationalScience ICCS 2010

[16] C Lin and S Lu ldquoScheduling scientific workflows elastically forcloud computingrdquo in Proceedings of the IEEE 4th InternationalConference on Cloud Computing Washington DC USA July2011

[17] Vijindra and S Shenai ldquoSurvey on scheduling issues in cloudcomputingrdquo Procedia Engineering vol 38 pp 2881ndash2888 2012Proceedings of the International Conference on ModellingOptimization and Computing

[18] M Xu L Cui H Wang and Y Bi ldquoA multiple QoS constrainedscheduling strategy of multiple workflows for cloud comput-ingrdquo in Proceedings of the IEEE International Symposium onParallel and Distributed Processing with Applications (ISPA rsquo09)pp 629ndash634 IEEE Chengdu China August 2009

[19] C Lin S Lu X Fei et al ldquoA reference architecture for scientificworkflow management systems and the VIEW SOA solutionrdquoIEEE Transactions on Services Computing vol 2 no 1 pp 79ndash92 2009

[20] S Ghanbari and M Othman ldquoA priority based job schedulingalgorithm in cloud computingrdquo in Proceedings of the Inter-national Conference on Advances Science and ContemporaryEngineering pp 778ndash785 October 2012

[21] F Xhafa and A Abraham Mata-Heuristics for Grid SchedulingProblems Springer Berlin Germany 2008

Submit your manuscripts athttpwwwhindawicom

Computer Games Technology

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Distributed Sensor Networks

International Journal of

Advances in

FuzzySystems

Hindawi Publishing Corporationhttpwwwhindawicom

Volume 2014

International Journal of

ReconfigurableComputing

Hindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Applied Computational Intelligence and Soft Computing

thinspAdvancesthinspinthinsp

Artificial Intelligence

HindawithinspPublishingthinspCorporationhttpwwwhindawicom Volumethinsp2014

Advances inSoftware EngineeringHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Journal of

Computer Networks and Communications

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation

httpwwwhindawicom Volume 2014

Advances in

Multimedia

International Journal of

Biomedical Imaging

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

ArtificialNeural Systems

Advances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Computational Intelligence and Neuroscience

Industrial EngineeringJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Human-ComputerInteraction

Advances in

Computer EngineeringAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Page 9: Research Article Load Balancing in Cloud …downloads.hindawi.com/journals/tswj/2016/3896065.pdf1. Introduction Cloud computing is a computing paradigm for managing and delivering

The Scientific World Journal 9

Task Length Consider

TL = 119879mips lowast 119879pe (10)

Job Length Consider

JL =119901

sum

119896=1

TL119894 (11)

where ldquo119901rdquo is the number of interdependent tasks for the job

Task Load Ratio Task load ratio is calculated in (12) and (13)to identify and allocate the tasks to virtual machines It isdefined as

TLR119894119895 =TL119894119862VM119895

119894 = 1 2 119899 tasks 119895 = 1 2 119898 Virtual machines

(12)

where TL119894 is the task length which is estimated at thebeginning of the execution and119862VM is the capacity of theVMConsider

If TLR119894119895 =

0 assign the task to VM

Otherwise Do not assign(13)

5 Experiment Results andPerformance Analysis

The performance of the IWRR algorithm has been analyzedbased on the results of simulation done in the CloudSimThe classes of the CloudSim simulator have been extended(overridden) to utilize the newly written algorithm In thefollowing illustrations the response time number of jobmigrations cumulative idle time of all tasks and the num-ber of delayed tasks are analyzed in the RR WRR andIWRR algorithms under the combination of heterogeneousand homogenous job lengths with heterogeneous resourceconditions Configuration details are given in Table 1

51 Homogeneous Tasks on Heterogeneous Resources (VMs)

511 Comparison of Overall Execution Time

Analysis The following is the order of highest to lowestperformance of the algorithms in the provided homogenousjobs on heterogeneous environment

(a) improved weighted round robin with job length (b)weighted round robin and (c) round robin

Figures 4 and 5 proved that the IWRR by job lengthdelivers a faster completion time than the other 2 loadbalancing algorithms (RR and WRR) in the heterogeneousresources (VMs) and homogenous jobs The IWRRrsquos staticscheduler algorithm considers the job length along withprocessing capacity of the heterogeneous VMs to assign thejob So more number of jobs gets assigned to the highercapacity VMs in the homogenous jobs on heterogeneousenvironments This helps complete the job in a shorter time

Task overall completion time

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

times104

0

5

10

15

20

Com

plet

ion

time (

s)

Figure 4 Execution completion time (space shared)

Task overall completion time

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

times104

0

5

10

15

20

Com

plet

ion

time (

s)

Figure 5 Execution completion time (time shared)

The dynamic scheduler considers the load of all its configuredVMs and its tentative completion time of the current loadhas been identifiedThen the scheduler calculates the arrivedjobrsquos estimated completion time in each of the configuredVMs and adds this calculated timing with the existing loadrsquoscompletion time on each VM Now the least possible com-pletion time has been identified from the above calculationsfor this particular job in one of the VMs and then the job hasbeen assigned to this VM So this algorithm is most suitableto the heterogeneous environment data centers

The load balancer in the IWRRwith job length runs at theend of each taskrsquos completion If the load balancer finds any ofthe VMs completes all its assigned tasks then it will identifythe highly loaded VM from the group and it calculates thepossible completion time of those jobs present in the highlyloaded VM and the least loadedidle VM If the least loadedVM can finish any of the jobs present in the highly loadedVM in the shortest possible time then that job will be movedto the least loaded VM

The WRR considers the ratio of the VM capacity to thetotal VM capacity and it assigns the proportionate number ofarrived jobs into the VM So it performs in the next level Butif any lengthy jobs are assigned to the low capacity VMs basedon the above calculation then this will delay the executioncompletion time

The simple RR has not considered any variables about theenvironment VM capabilities and the job lengths It simply

10 The Scientific World Journal

Table 1 Cloud setup configuration details

Sl number Entity Quantity Purpose

1 Data center 1 Data center having the physical hosts inthe test environment

2 Number of hosts in DC

500 hosts (200Nos-4-CoreHyperThreadedOpteron270200 Nos-4-CoreHyperThreadedOpteron2218 and 100 Nos8-Core HyperThreaded XeonE5430)

Number of physical hosts used in theexperiment

3 Number of processelements 8816

Number of executing elements in each ofthe hosts The host has 8 or 16 processingelements

4 PE processing capacity 174247355MIPS Each host has any one of the processingcapacities

5 Host ram capacity 1632GB Each host has any of these RAMmemories

6 Number of VM 10 to 100 with an increment of 10 Number of virtual machines used in theexperiment

7 Number of PE to VM 1 Processing element allotted in each VM

8 VMrsquos PE processingcapacity 1503009012093112105225 Virtual machinersquos processing capacity

9 VM RAM capacity 1920MB The RAMrsquos memory capacity of the VM

10 VMmanager XenThe operating system runs on thephysical machine to manage the VMs Itprovides the virtualization

11 Number of PE in Tasks 1 The jobtaskrsquos maximum usableprocessing element

12 Task lengthinstructions 500000 to 200000000

Tasks length in million instructions Theheterogeneous job length test having thevariations from the mentioned minimumto maximum

assigns the jobs to theVM lists one after another in an orderedmanner So its completion time of the jobs is higher than theother 2 algorithms

512 Comparison of Task Migration The task migrations arevery minimal in the IWRR algorithm due to extensive staticand dynamic scheduler algorithm in identifying the mostappropriate VM to each of the jobs which is illustrated inFigures 6 and 7 So the load balancer has been unable tofind the further optimization to complete the task in theshortest time But in the case of WRR and RR algorithmsthe static and dynamic scheduler has not considered the joblengths Instead it considers only the resource capabilitiesand the arrived job list So the load balancer has been ableto find the further optimization at run time and it shifts thejobs from higher loaded VM to the underutilized VMs Thisintern produces the higher task migrations in the weightedround robin and round robin algorithmsThe number of taskmigrations in the lower number of resources is high in theWRR and RR algorithms

513 Comparison of Delayed Tasks and Combined Idle Timeof All Tasks (Space Shared) The number of delayed tasksand the combined idle time of all tasks are higher in

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of task migrations

0

5

10

15

Num

ber o

f tas

k m

igra

tions

Figure 6 Number of task migrations (space shared)

the IWRR than the other two algorithms which is analyzedfrom Figures 8 and 9 This increase happened due to theallocation of more tasks in the higher capacity VMs At anypoint of time only one job can run in the space sparedCPUPE even if it has a higher capacity PE So if anotherjob got allocated to the same VM due to its higher processingcapacity then that job has to be in waiting state until therunning job gets completed This increases the number of

The Scientific World Journal 11

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of task migrations

02468

1012

Num

ber o

f tas

k m

igra

tions

Figure 7 Number of task migrations (time shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of delayed tasks

0

50

100

150

Del

ayed

task

s

Figure 8 Number of delayed tasks (space shared)

delayed tasks and the combined idle time in the IWRRalgorithm But in the other two algorithms the jobs getassigned to even the lower capacity VMs without accuratelypredicting the possible completion time in various VMs Sothe number of delayed tasks and combined idle time of alltasks are lower in RR and WRR

514 Comparison of Million Instructions Reexecuteddue to Task Migration

Analysis The job migrations from one VM to another VMlead to the jobrsquos execution termination in one of the VMsOtherwise the current state of the execution has to be copiedover to another VM to proceed from the left out locationin the previous allotted VM In this work the current stateof the job at the time of job migration will be lost So thejob will be reexecuted from the start of its instructions inthe migrated VM This kind of execution wastage comes inthe time shared CPU rather than the space shared CPU Theinstruction reexecution will be higher in the RR and WRRalgorithms due to the higher number of task migrations inRR and WRR (refer to Figure 10)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Combined idle time of all tasks times104

0

100

200

300

400

Idle

tim

e (s)

Figure 9 Idle time of all tasks (space shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Million instructions reexecuted by task migrationtimes10

4

0

500

1000

1500

2000

Instr

uctio

ns re

exec

uted

Figure 10 Million instructions reexecuted (time shared)

52 Heterogeneous Tasks on Heterogeneous Resources (VMs)

521 Comparison of Overall Execution Time

Analysis The following is the order of highest to lowest per-formance of the algorithms in the provided heterogeneousenvironment

(a) improved weighted round robin with job length (b)weighted round robin (c) round robin

Figures 11 and 12 proved that the improved weightedround robin by job length delivers a faster completion timethan the other two load balancing algorithms (RR andWRR)in the heterogeneous resources (VMs) and heterogeneousjobsThe IWRRrsquos static scheduler algorithm considers the joblength along with processing capacity of the heterogeneousVMs to assign the job So the lengthy jobs get assigned tothe higher capacity VMs in the heterogeneous environmentsThis helps complete the job in a shorter time The dynamicscheduler considers the load of all its configured VMs and itstentative completion time of the current load has been identi-fiedThen the scheduler calculates the arrived jobrsquos estimatedcompletion time in each of the configured VMs and adds thiscalculated timing with the existing loadrsquos completion time oneach VM Now the least possible completion time has beenidentified from the above calculations for this particular jobin one of the VMs and then the job has been assigned to thisVM So this algorithm is most suitable to the heterogeneousenvironment data centers

12 The Scientific World Journal

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Task overall completion time times104

0

5

10

15

Com

plet

ion

time (

s)

Figure 11 Execution completion time (space shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Task overall completion time times104

0

5

10

15

20

Com

plet

ion

time (

s)

Figure 12 Execution completion time (time shared)

The load balancer in the IWRRwith job length runs at theend of each taskrsquos completion If the load balancer finds any ofthe VMs completes all its assigned tasks then it will identifythe highly loaded VM from the group and it calculates thepossible completion time of those jobs present in the highlyloaded VM and the least loadedidle VM If the least loadedVM can finish any of the jobs present in the highly loadedVM in the shortest possible time then that job will be movedto the least loaded VM The WRR considers the ratio ofthe VM capacity to the total VM capacity and it assigns theproportionate number of arrived jobs into the VM So itperforms in the next level But if any lengthy jobs are assignedto the low capacity VMs based on the above calculation thenthis will delay the execution completion time The simple RRhas not considered any variables about the environment VMcapabilities and the job lengths It simply assigns the jobsto the VM lists one after another in an ordered manner Soits completion time of the jobs is higher than the other twoalgorithms

522 Comparison of Task Migration

Analysis The task migrations are very minimal in the IWRRalgorithm due to extensive static and dynamic scheduleralgorithm in identifying the most appropriate VM to each ofthe jobs which is derived from Figures 13 and 14 So the loadbalancer has been unable to find the further optimizationto complete the task in the shortest time But in the case of

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of task migrations

0

5

10

15

20

Num

ber o

f tas

k m

igra

tions

Figure 13 Number of task migrations (space shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of task migrations

0

2

4

6

8

Num

ber o

f tas

k m

igra

tions

Figure 14 Number of task migrations (time shared)

WRR and RR algorithms the static and dynamic schedulerhas not considered the job lengths Instead it considers onlythe resource capabilities and the arrived job list So the loadbalancer has been able to find the further optimization atrun time and it shifts the jobs from higher loaded VM tothe underutilized VMs This intern produces the higher taskmigrations in the WRR and RR algorithms Additionallythese numbers of task migrations are high in the lowernumber of resources in the WRR and RR algorithms

523 Comparison of Delayed Tasks and Combined IdleTime of All Tasks

Analysis Figures 15 and 16 explain that the number of delayedtasks and the combined idle time of all tasks are higher in theIWRR than the other two algorithmsThis increase happeneddue to the allocation of more tasks in the higher capacityVMs At any point of time only one job can run in thespace spared CPUPE even if it has a higher capacity PESo if another job got allocated to the same VM due to itshigher processing capacity then that job has to be in waitingstate until the running job gets completed This increases thenumber of delayed tasks and the combined idle time in theIWRRalgorithm But in the other two algorithms the jobs getassigned even to the lower capacity VMs without accuratelypredicting the possible completion time in various VMs

The Scientific World Journal 13

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of delayed tasks

020406080

100120

Del

ayed

task

s

Figure 15 Number of delayed tasks (space shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Combined idle time of all tasks times10

4

0

100

200

300

400

Idle

tim

e (s)

Figure 16 Idle time of all tasks (space shared)

So the number of delayed tasks and combined idle time ofall tasks are lower in RR and WRR

524 Comparison of Million Instructions Reexecuteddue to Task Migration

Analysis The job migrations from one VM to another VMlead to the jobrsquos execution termination in one of the VMsOtherwise the current state of the execution has to be copiedover to another VM to proceed from the left out location inthe previous allotted VM In this project the current state ofthe job at the time of jobmigrationwill be lost So the jobwillbe reexecuted from the start of its instructions in themigratedVMThis kind of execution wastage comes in the time sharedCPUThe instruction reexecutionwill be higher in theRR andWRR algorithms due to the higher number of taskmigrationsin RR and WRR which is shown in Figure 17

6 Conclusion and Future Enhancements

In this work the improved weighted round robin algorithmconsiders the capabilities of each VM and the task length ofeach requested job to assign the jobs into the most appro-priate VMsThis improved weighted round robin algorithmsare having three different stages to handle the three differentscenarios in the environment life cycle The static scheduleralgorithm pays attention to the initial placement of the jobs

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Million instructions reexecuted by task migration

0

500

1000

1500

Instr

uctio

ns re

exec

uted times10

4

Figure 17 Million instructions reexecuted (time shared)

which distributes the job requests to the participating VMsevenly based on the VMrsquos capabilities and the length of therequested job The dynamic scheduler considers the load ofall its configured VMs and its tentative completion time ofthe current load has been identified along with the arrivedjobrsquos estimated completion time in each of the configuredVMs After this the least possible completion time has beenidentified from the above calculations for this particular jobin one of the VMs and then the job has been assigned to thisVMThe load balancer in the improvedweighted round robinruns at the end of each taskrsquos completion This always makesthe loads evenly distributed across all the VMs at the end ofeach taskrsquos completion and thus eliminates any idle time inthe participating resources (VMs)

The performance analysis and experiment results of thisalgorithm proved that the improved weighted round robinalgorithm ismost suitable to the heterogeneoushomogenousjobs with heterogeneous resources (VMs) compared to theother round robin and weighted round robin algorithmsThis algorithm considers the response time as the main QoSparameter

As part of the future enhancements we can considermul-tiple PEs in the participating heterogeneous VMs along withthe heterogeneous multiple PEs capable jobs with distributedcomputing capabilities in the improvedweighted round robinalgorithm Additionally the load balancing can also considertransferring the state of jobs between the VMs in the jobmigrations These above considerations can help in furtherreducing the job completion time in all the algorithms

This work had considered the overall completion time ofall the participating jobs in different algorithms Instead inthe future enhancements the completion time of each job canbe compared in the different scheduling and load balancingalgorithms The algorithms can be fine-tuned further toachieve the better consistent results on all the differentperspectives Similarly the comparison results should betaken for the different job arrival patterns on all the threedifferent scheduling and load balancing algorithms

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

14 The Scientific World Journal

Acknowledgments

The authors would like to thank Dr S Jayaprakash formerprofessor IIT Madras and Mr R Bhaskar for their continu-ous support towards the successful outcome of this work

References

[1] Z Xiao W Song and Q Chen ldquoDynamic resource allocationusing virtual machines for cloud computing environmentrdquoIEEE Transactions on Parallel and Distributed Systems vol 24no 6 pp 1107ndash1117 2013

[2] L D Dhinesh Babu and P Venkata Krishna ldquoHoney bee behav-ior inspired load balancing of tasks in cloud computing envi-ronmentsrdquo Applied Soft Computing Journal vol 13 no 5 pp2292ndash2303 2013

[3] J Cao K Li and I Stojmenovic ldquoOptimal power allocation andload distribution for multiple heterogeneous multicore serverprocessors across clouds and data centersrdquo IEEE Transactionson Computers vol 63 no 1 pp 45ndash58 2014

[4] R N Calheiros and R Buyya ldquoMeeting deadlines of scientificworkflows in public clouds with tasks replicationrdquo IEEE Trans-actions on Parallel and Distributed Systems vol 25 no 7 pp1787ndash1796 2014

[5] R Basker V Rhymend Uthariaraj and D Chitra Devi ldquoAnenhanced scheduling in weighted round robin for the cloudinfrastructure servicesrdquo International Journal of Recent Advancein Engineering amp Technology vol 2 no 3 pp 81ndash86 2014

[6] Z Yu F Menng and H Chen ldquoAn efficient list schedulingalgorithm of dependent task in gridrdquo in Proceedings of the3rd IEEE International Conference on Computer Science andInformation Technology (ICCSIT rsquo10) IEEE Chengdu ChinaJuly 2010

[7] H M Fard and H Deldari ldquoAn economic approach forscheduling dependent tasks in grid computingrdquo in Proceedingsof the 11th IEEE International Conference on ComputationalScience and Engineering (CSEWorkshops rsquo08) pp 71ndash76 IEEESan Paulo Brazil July 2008

[8] W Kadri B Yagoubi and M Meddeber ldquoEfficient dependenttasks assignment algorithm for grid computing environmentrdquoin Proceedings of the 2nd International Symposium onModellingand Implementation of Complex Systems (MISC rsquo12) Constan-tine Algeria May 2012

[9] S Ijaz E U Munir W Anwar andW Nasir ldquoEfficient schedul-ing strategy for task graphs in heterogeneous computing envi-ronmentrdquo The International Arab Journal of Information Tech-nology vol 10 no 5 2013

[10] Y Xu K Li LHe andT K Truong ldquoADAG scheduling schemeon heterogeneous computing systems using double molecularstructure-based chemical reaction optimizationrdquo Journal ofParallel andDistributed Computing vol 73 no 9 pp 1306ndash13222013

[11] L-T Lee C-W Chen H-Y Chang C-C Tang and K-CPan ldquoA non-critical path earliest-finish algorithm for inter-dependent tasks in heterogeneous computing environmentsrdquo inProceedings of the 11th IEEE International Conference on HighPerformance Computing and Communications (HPCC rsquo09) pp603ndash608 Seoul Republic of Korea June 2009

[12] B Xu C Zhao E Hu and B Hu ldquoJob scheduling algorithmbased on Berger model in cloud environmentrdquo Advances inEngineering Software vol 42 no 7 pp 419ndash425 2011

[13] B Mondal K Dasgupta and P Dutta ldquoLoad balancing in cloudcomputing using stochastic hill climbing-a soft computingapproachrdquo Procedia Technology vol 4 pp 783ndash789 2012

[14] M Rahman R Hassan R Ranjan and R Buyya ldquoAdaptiveworkflow scheduling for dynamic grid and cloud computingenvironmentrdquo Concurrency and Computation Practice andExperience vol 25 no 13 pp 1816ndash1842 2013

[15] G Gharooni-fard F Moein-darbari H Deldari and A Mor-varidi ldquoScheduling of scientific workflows using a chaos-genetic algorithmrdquo Procedia Computer Science vol 1 no 1 pp1445ndash1454 2010 International Conference on ComputationalScience ICCS 2010

[16] C Lin and S Lu ldquoScheduling scientific workflows elastically forcloud computingrdquo in Proceedings of the IEEE 4th InternationalConference on Cloud Computing Washington DC USA July2011

[17] Vijindra and S Shenai ldquoSurvey on scheduling issues in cloudcomputingrdquo Procedia Engineering vol 38 pp 2881ndash2888 2012Proceedings of the International Conference on ModellingOptimization and Computing

[18] M Xu L Cui H Wang and Y Bi ldquoA multiple QoS constrainedscheduling strategy of multiple workflows for cloud comput-ingrdquo in Proceedings of the IEEE International Symposium onParallel and Distributed Processing with Applications (ISPA rsquo09)pp 629ndash634 IEEE Chengdu China August 2009

[19] C Lin S Lu X Fei et al ldquoA reference architecture for scientificworkflow management systems and the VIEW SOA solutionrdquoIEEE Transactions on Services Computing vol 2 no 1 pp 79ndash92 2009

[20] S Ghanbari and M Othman ldquoA priority based job schedulingalgorithm in cloud computingrdquo in Proceedings of the Inter-national Conference on Advances Science and ContemporaryEngineering pp 778ndash785 October 2012

[21] F Xhafa and A Abraham Mata-Heuristics for Grid SchedulingProblems Springer Berlin Germany 2008

Submit your manuscripts athttpwwwhindawicom

Computer Games Technology

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Distributed Sensor Networks

International Journal of

Advances in

FuzzySystems

Hindawi Publishing Corporationhttpwwwhindawicom

Volume 2014

International Journal of

ReconfigurableComputing

Hindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Applied Computational Intelligence and Soft Computing

thinspAdvancesthinspinthinsp

Artificial Intelligence

HindawithinspPublishingthinspCorporationhttpwwwhindawicom Volumethinsp2014

Advances inSoftware EngineeringHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Journal of

Computer Networks and Communications

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation

httpwwwhindawicom Volume 2014

Advances in

Multimedia

International Journal of

Biomedical Imaging

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

ArtificialNeural Systems

Advances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Computational Intelligence and Neuroscience

Industrial EngineeringJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Human-ComputerInteraction

Advances in

Computer EngineeringAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Page 10: Research Article Load Balancing in Cloud …downloads.hindawi.com/journals/tswj/2016/3896065.pdf1. Introduction Cloud computing is a computing paradigm for managing and delivering

10 The Scientific World Journal

Table 1 Cloud setup configuration details

Sl number Entity Quantity Purpose

1 Data center 1 Data center having the physical hosts inthe test environment

2 Number of hosts in DC

500 hosts (200Nos-4-CoreHyperThreadedOpteron270200 Nos-4-CoreHyperThreadedOpteron2218 and 100 Nos8-Core HyperThreaded XeonE5430)

Number of physical hosts used in theexperiment

3 Number of processelements 8816

Number of executing elements in each ofthe hosts The host has 8 or 16 processingelements

4 PE processing capacity 174247355MIPS Each host has any one of the processingcapacities

5 Host ram capacity 1632GB Each host has any of these RAMmemories

6 Number of VM 10 to 100 with an increment of 10 Number of virtual machines used in theexperiment

7 Number of PE to VM 1 Processing element allotted in each VM

8 VMrsquos PE processingcapacity 1503009012093112105225 Virtual machinersquos processing capacity

9 VM RAM capacity 1920MB The RAMrsquos memory capacity of the VM

10 VMmanager XenThe operating system runs on thephysical machine to manage the VMs Itprovides the virtualization

11 Number of PE in Tasks 1 The jobtaskrsquos maximum usableprocessing element

12 Task lengthinstructions 500000 to 200000000

Tasks length in million instructions Theheterogeneous job length test having thevariations from the mentioned minimumto maximum

assigns the jobs to theVM lists one after another in an orderedmanner So its completion time of the jobs is higher than theother 2 algorithms

512 Comparison of Task Migration The task migrations arevery minimal in the IWRR algorithm due to extensive staticand dynamic scheduler algorithm in identifying the mostappropriate VM to each of the jobs which is illustrated inFigures 6 and 7 So the load balancer has been unable tofind the further optimization to complete the task in theshortest time But in the case of WRR and RR algorithmsthe static and dynamic scheduler has not considered the joblengths Instead it considers only the resource capabilitiesand the arrived job list So the load balancer has been ableto find the further optimization at run time and it shifts thejobs from higher loaded VM to the underutilized VMs Thisintern produces the higher task migrations in the weightedround robin and round robin algorithmsThe number of taskmigrations in the lower number of resources is high in theWRR and RR algorithms

513 Comparison of Delayed Tasks and Combined Idle Timeof All Tasks (Space Shared) The number of delayed tasksand the combined idle time of all tasks are higher in

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of task migrations

0

5

10

15

Num

ber o

f tas

k m

igra

tions

Figure 6 Number of task migrations (space shared)

the IWRR than the other two algorithms which is analyzedfrom Figures 8 and 9 This increase happened due to theallocation of more tasks in the higher capacity VMs At anypoint of time only one job can run in the space sparedCPUPE even if it has a higher capacity PE So if anotherjob got allocated to the same VM due to its higher processingcapacity then that job has to be in waiting state until therunning job gets completed This increases the number of

The Scientific World Journal 11

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of task migrations

02468

1012

Num

ber o

f tas

k m

igra

tions

Figure 7 Number of task migrations (time shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of delayed tasks

0

50

100

150

Del

ayed

task

s

Figure 8 Number of delayed tasks (space shared)

delayed tasks and the combined idle time in the IWRRalgorithm But in the other two algorithms the jobs getassigned to even the lower capacity VMs without accuratelypredicting the possible completion time in various VMs Sothe number of delayed tasks and combined idle time of alltasks are lower in RR and WRR

514 Comparison of Million Instructions Reexecuteddue to Task Migration

Analysis The job migrations from one VM to another VMlead to the jobrsquos execution termination in one of the VMsOtherwise the current state of the execution has to be copiedover to another VM to proceed from the left out locationin the previous allotted VM In this work the current stateof the job at the time of job migration will be lost So thejob will be reexecuted from the start of its instructions inthe migrated VM This kind of execution wastage comes inthe time shared CPU rather than the space shared CPU Theinstruction reexecution will be higher in the RR and WRRalgorithms due to the higher number of task migrations inRR and WRR (refer to Figure 10)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Combined idle time of all tasks times104

0

100

200

300

400

Idle

tim

e (s)

Figure 9 Idle time of all tasks (space shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Million instructions reexecuted by task migrationtimes10

4

0

500

1000

1500

2000

Instr

uctio

ns re

exec

uted

Figure 10 Million instructions reexecuted (time shared)

52 Heterogeneous Tasks on Heterogeneous Resources (VMs)

521 Comparison of Overall Execution Time

Analysis The following is the order of highest to lowest per-formance of the algorithms in the provided heterogeneousenvironment

(a) improved weighted round robin with job length (b)weighted round robin (c) round robin

Figures 11 and 12 proved that the improved weightedround robin by job length delivers a faster completion timethan the other two load balancing algorithms (RR andWRR)in the heterogeneous resources (VMs) and heterogeneousjobsThe IWRRrsquos static scheduler algorithm considers the joblength along with processing capacity of the heterogeneousVMs to assign the job So the lengthy jobs get assigned tothe higher capacity VMs in the heterogeneous environmentsThis helps complete the job in a shorter time The dynamicscheduler considers the load of all its configured VMs and itstentative completion time of the current load has been identi-fiedThen the scheduler calculates the arrived jobrsquos estimatedcompletion time in each of the configured VMs and adds thiscalculated timing with the existing loadrsquos completion time oneach VM Now the least possible completion time has beenidentified from the above calculations for this particular jobin one of the VMs and then the job has been assigned to thisVM So this algorithm is most suitable to the heterogeneousenvironment data centers

12 The Scientific World Journal

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Task overall completion time times104

0

5

10

15

Com

plet

ion

time (

s)

Figure 11 Execution completion time (space shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Task overall completion time times104

0

5

10

15

20

Com

plet

ion

time (

s)

Figure 12 Execution completion time (time shared)

The load balancer in the IWRRwith job length runs at theend of each taskrsquos completion If the load balancer finds any ofthe VMs completes all its assigned tasks then it will identifythe highly loaded VM from the group and it calculates thepossible completion time of those jobs present in the highlyloaded VM and the least loadedidle VM If the least loadedVM can finish any of the jobs present in the highly loadedVM in the shortest possible time then that job will be movedto the least loaded VM The WRR considers the ratio ofthe VM capacity to the total VM capacity and it assigns theproportionate number of arrived jobs into the VM So itperforms in the next level But if any lengthy jobs are assignedto the low capacity VMs based on the above calculation thenthis will delay the execution completion time The simple RRhas not considered any variables about the environment VMcapabilities and the job lengths It simply assigns the jobsto the VM lists one after another in an ordered manner Soits completion time of the jobs is higher than the other twoalgorithms

522 Comparison of Task Migration

Analysis The task migrations are very minimal in the IWRRalgorithm due to extensive static and dynamic scheduleralgorithm in identifying the most appropriate VM to each ofthe jobs which is derived from Figures 13 and 14 So the loadbalancer has been unable to find the further optimizationto complete the task in the shortest time But in the case of

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of task migrations

0

5

10

15

20

Num

ber o

f tas

k m

igra

tions

Figure 13 Number of task migrations (space shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of task migrations

0

2

4

6

8

Num

ber o

f tas

k m

igra

tions

Figure 14 Number of task migrations (time shared)

WRR and RR algorithms the static and dynamic schedulerhas not considered the job lengths Instead it considers onlythe resource capabilities and the arrived job list So the loadbalancer has been able to find the further optimization atrun time and it shifts the jobs from higher loaded VM tothe underutilized VMs This intern produces the higher taskmigrations in the WRR and RR algorithms Additionallythese numbers of task migrations are high in the lowernumber of resources in the WRR and RR algorithms

523 Comparison of Delayed Tasks and Combined IdleTime of All Tasks

Analysis Figures 15 and 16 explain that the number of delayedtasks and the combined idle time of all tasks are higher in theIWRR than the other two algorithmsThis increase happeneddue to the allocation of more tasks in the higher capacityVMs At any point of time only one job can run in thespace spared CPUPE even if it has a higher capacity PESo if another job got allocated to the same VM due to itshigher processing capacity then that job has to be in waitingstate until the running job gets completed This increases thenumber of delayed tasks and the combined idle time in theIWRRalgorithm But in the other two algorithms the jobs getassigned even to the lower capacity VMs without accuratelypredicting the possible completion time in various VMs

The Scientific World Journal 13

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of delayed tasks

020406080

100120

Del

ayed

task

s

Figure 15 Number of delayed tasks (space shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Combined idle time of all tasks times10

4

0

100

200

300

400

Idle

tim

e (s)

Figure 16 Idle time of all tasks (space shared)

So the number of delayed tasks and combined idle time ofall tasks are lower in RR and WRR

524 Comparison of Million Instructions Reexecuteddue to Task Migration

Analysis The job migrations from one VM to another VMlead to the jobrsquos execution termination in one of the VMsOtherwise the current state of the execution has to be copiedover to another VM to proceed from the left out location inthe previous allotted VM In this project the current state ofthe job at the time of jobmigrationwill be lost So the jobwillbe reexecuted from the start of its instructions in themigratedVMThis kind of execution wastage comes in the time sharedCPUThe instruction reexecutionwill be higher in theRR andWRR algorithms due to the higher number of taskmigrationsin RR and WRR which is shown in Figure 17

6 Conclusion and Future Enhancements

In this work the improved weighted round robin algorithmconsiders the capabilities of each VM and the task length ofeach requested job to assign the jobs into the most appro-priate VMsThis improved weighted round robin algorithmsare having three different stages to handle the three differentscenarios in the environment life cycle The static scheduleralgorithm pays attention to the initial placement of the jobs

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Million instructions reexecuted by task migration

0

500

1000

1500

Instr

uctio

ns re

exec

uted times10

4

Figure 17 Million instructions reexecuted (time shared)

which distributes the job requests to the participating VMsevenly based on the VMrsquos capabilities and the length of therequested job The dynamic scheduler considers the load ofall its configured VMs and its tentative completion time ofthe current load has been identified along with the arrivedjobrsquos estimated completion time in each of the configuredVMs After this the least possible completion time has beenidentified from the above calculations for this particular jobin one of the VMs and then the job has been assigned to thisVMThe load balancer in the improvedweighted round robinruns at the end of each taskrsquos completion This always makesthe loads evenly distributed across all the VMs at the end ofeach taskrsquos completion and thus eliminates any idle time inthe participating resources (VMs)

The performance analysis and experiment results of thisalgorithm proved that the improved weighted round robinalgorithm ismost suitable to the heterogeneoushomogenousjobs with heterogeneous resources (VMs) compared to theother round robin and weighted round robin algorithmsThis algorithm considers the response time as the main QoSparameter

As part of the future enhancements we can considermul-tiple PEs in the participating heterogeneous VMs along withthe heterogeneous multiple PEs capable jobs with distributedcomputing capabilities in the improvedweighted round robinalgorithm Additionally the load balancing can also considertransferring the state of jobs between the VMs in the jobmigrations These above considerations can help in furtherreducing the job completion time in all the algorithms

This work had considered the overall completion time ofall the participating jobs in different algorithms Instead inthe future enhancements the completion time of each job canbe compared in the different scheduling and load balancingalgorithms The algorithms can be fine-tuned further toachieve the better consistent results on all the differentperspectives Similarly the comparison results should betaken for the different job arrival patterns on all the threedifferent scheduling and load balancing algorithms

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

14 The Scientific World Journal

Acknowledgments

The authors would like to thank Dr S Jayaprakash formerprofessor IIT Madras and Mr R Bhaskar for their continu-ous support towards the successful outcome of this work

References

[1] Z Xiao W Song and Q Chen ldquoDynamic resource allocationusing virtual machines for cloud computing environmentrdquoIEEE Transactions on Parallel and Distributed Systems vol 24no 6 pp 1107ndash1117 2013

[2] L D Dhinesh Babu and P Venkata Krishna ldquoHoney bee behav-ior inspired load balancing of tasks in cloud computing envi-ronmentsrdquo Applied Soft Computing Journal vol 13 no 5 pp2292ndash2303 2013

[3] J Cao K Li and I Stojmenovic ldquoOptimal power allocation andload distribution for multiple heterogeneous multicore serverprocessors across clouds and data centersrdquo IEEE Transactionson Computers vol 63 no 1 pp 45ndash58 2014

[4] R N Calheiros and R Buyya ldquoMeeting deadlines of scientificworkflows in public clouds with tasks replicationrdquo IEEE Trans-actions on Parallel and Distributed Systems vol 25 no 7 pp1787ndash1796 2014

[5] R Basker V Rhymend Uthariaraj and D Chitra Devi ldquoAnenhanced scheduling in weighted round robin for the cloudinfrastructure servicesrdquo International Journal of Recent Advancein Engineering amp Technology vol 2 no 3 pp 81ndash86 2014

[6] Z Yu F Menng and H Chen ldquoAn efficient list schedulingalgorithm of dependent task in gridrdquo in Proceedings of the3rd IEEE International Conference on Computer Science andInformation Technology (ICCSIT rsquo10) IEEE Chengdu ChinaJuly 2010

[7] H M Fard and H Deldari ldquoAn economic approach forscheduling dependent tasks in grid computingrdquo in Proceedingsof the 11th IEEE International Conference on ComputationalScience and Engineering (CSEWorkshops rsquo08) pp 71ndash76 IEEESan Paulo Brazil July 2008

[8] W Kadri B Yagoubi and M Meddeber ldquoEfficient dependenttasks assignment algorithm for grid computing environmentrdquoin Proceedings of the 2nd International Symposium onModellingand Implementation of Complex Systems (MISC rsquo12) Constan-tine Algeria May 2012

[9] S Ijaz E U Munir W Anwar andW Nasir ldquoEfficient schedul-ing strategy for task graphs in heterogeneous computing envi-ronmentrdquo The International Arab Journal of Information Tech-nology vol 10 no 5 2013

[10] Y Xu K Li LHe andT K Truong ldquoADAG scheduling schemeon heterogeneous computing systems using double molecularstructure-based chemical reaction optimizationrdquo Journal ofParallel andDistributed Computing vol 73 no 9 pp 1306ndash13222013

[11] L-T Lee C-W Chen H-Y Chang C-C Tang and K-CPan ldquoA non-critical path earliest-finish algorithm for inter-dependent tasks in heterogeneous computing environmentsrdquo inProceedings of the 11th IEEE International Conference on HighPerformance Computing and Communications (HPCC rsquo09) pp603ndash608 Seoul Republic of Korea June 2009

[12] B Xu C Zhao E Hu and B Hu ldquoJob scheduling algorithmbased on Berger model in cloud environmentrdquo Advances inEngineering Software vol 42 no 7 pp 419ndash425 2011

[13] B Mondal K Dasgupta and P Dutta ldquoLoad balancing in cloudcomputing using stochastic hill climbing-a soft computingapproachrdquo Procedia Technology vol 4 pp 783ndash789 2012

[14] M Rahman R Hassan R Ranjan and R Buyya ldquoAdaptiveworkflow scheduling for dynamic grid and cloud computingenvironmentrdquo Concurrency and Computation Practice andExperience vol 25 no 13 pp 1816ndash1842 2013

[15] G Gharooni-fard F Moein-darbari H Deldari and A Mor-varidi ldquoScheduling of scientific workflows using a chaos-genetic algorithmrdquo Procedia Computer Science vol 1 no 1 pp1445ndash1454 2010 International Conference on ComputationalScience ICCS 2010

[16] C Lin and S Lu ldquoScheduling scientific workflows elastically forcloud computingrdquo in Proceedings of the IEEE 4th InternationalConference on Cloud Computing Washington DC USA July2011

[17] Vijindra and S Shenai ldquoSurvey on scheduling issues in cloudcomputingrdquo Procedia Engineering vol 38 pp 2881ndash2888 2012Proceedings of the International Conference on ModellingOptimization and Computing

[18] M Xu L Cui H Wang and Y Bi ldquoA multiple QoS constrainedscheduling strategy of multiple workflows for cloud comput-ingrdquo in Proceedings of the IEEE International Symposium onParallel and Distributed Processing with Applications (ISPA rsquo09)pp 629ndash634 IEEE Chengdu China August 2009

[19] C Lin S Lu X Fei et al ldquoA reference architecture for scientificworkflow management systems and the VIEW SOA solutionrdquoIEEE Transactions on Services Computing vol 2 no 1 pp 79ndash92 2009

[20] S Ghanbari and M Othman ldquoA priority based job schedulingalgorithm in cloud computingrdquo in Proceedings of the Inter-national Conference on Advances Science and ContemporaryEngineering pp 778ndash785 October 2012

[21] F Xhafa and A Abraham Mata-Heuristics for Grid SchedulingProblems Springer Berlin Germany 2008

Submit your manuscripts athttpwwwhindawicom

Computer Games Technology

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Distributed Sensor Networks

International Journal of

Advances in

FuzzySystems

Hindawi Publishing Corporationhttpwwwhindawicom

Volume 2014

International Journal of

ReconfigurableComputing

Hindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Applied Computational Intelligence and Soft Computing

thinspAdvancesthinspinthinsp

Artificial Intelligence

HindawithinspPublishingthinspCorporationhttpwwwhindawicom Volumethinsp2014

Advances inSoftware EngineeringHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Journal of

Computer Networks and Communications

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation

httpwwwhindawicom Volume 2014

Advances in

Multimedia

International Journal of

Biomedical Imaging

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

ArtificialNeural Systems

Advances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Computational Intelligence and Neuroscience

Industrial EngineeringJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Human-ComputerInteraction

Advances in

Computer EngineeringAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Page 11: Research Article Load Balancing in Cloud …downloads.hindawi.com/journals/tswj/2016/3896065.pdf1. Introduction Cloud computing is a computing paradigm for managing and delivering

The Scientific World Journal 11

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of task migrations

02468

1012

Num

ber o

f tas

k m

igra

tions

Figure 7 Number of task migrations (time shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of delayed tasks

0

50

100

150

Del

ayed

task

s

Figure 8 Number of delayed tasks (space shared)

delayed tasks and the combined idle time in the IWRRalgorithm But in the other two algorithms the jobs getassigned to even the lower capacity VMs without accuratelypredicting the possible completion time in various VMs Sothe number of delayed tasks and combined idle time of alltasks are lower in RR and WRR

514 Comparison of Million Instructions Reexecuteddue to Task Migration

Analysis The job migrations from one VM to another VMlead to the jobrsquos execution termination in one of the VMsOtherwise the current state of the execution has to be copiedover to another VM to proceed from the left out locationin the previous allotted VM In this work the current stateof the job at the time of job migration will be lost So thejob will be reexecuted from the start of its instructions inthe migrated VM This kind of execution wastage comes inthe time shared CPU rather than the space shared CPU Theinstruction reexecution will be higher in the RR and WRRalgorithms due to the higher number of task migrations inRR and WRR (refer to Figure 10)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Combined idle time of all tasks times104

0

100

200

300

400

Idle

tim

e (s)

Figure 9 Idle time of all tasks (space shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Million instructions reexecuted by task migrationtimes10

4

0

500

1000

1500

2000

Instr

uctio

ns re

exec

uted

Figure 10 Million instructions reexecuted (time shared)

52 Heterogeneous Tasks on Heterogeneous Resources (VMs)

521 Comparison of Overall Execution Time

Analysis The following is the order of highest to lowest per-formance of the algorithms in the provided heterogeneousenvironment

(a) improved weighted round robin with job length (b)weighted round robin (c) round robin

Figures 11 and 12 proved that the improved weightedround robin by job length delivers a faster completion timethan the other two load balancing algorithms (RR andWRR)in the heterogeneous resources (VMs) and heterogeneousjobsThe IWRRrsquos static scheduler algorithm considers the joblength along with processing capacity of the heterogeneousVMs to assign the job So the lengthy jobs get assigned tothe higher capacity VMs in the heterogeneous environmentsThis helps complete the job in a shorter time The dynamicscheduler considers the load of all its configured VMs and itstentative completion time of the current load has been identi-fiedThen the scheduler calculates the arrived jobrsquos estimatedcompletion time in each of the configured VMs and adds thiscalculated timing with the existing loadrsquos completion time oneach VM Now the least possible completion time has beenidentified from the above calculations for this particular jobin one of the VMs and then the job has been assigned to thisVM So this algorithm is most suitable to the heterogeneousenvironment data centers

12 The Scientific World Journal

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Task overall completion time times104

0

5

10

15

Com

plet

ion

time (

s)

Figure 11 Execution completion time (space shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Task overall completion time times104

0

5

10

15

20

Com

plet

ion

time (

s)

Figure 12 Execution completion time (time shared)

The load balancer in the IWRRwith job length runs at theend of each taskrsquos completion If the load balancer finds any ofthe VMs completes all its assigned tasks then it will identifythe highly loaded VM from the group and it calculates thepossible completion time of those jobs present in the highlyloaded VM and the least loadedidle VM If the least loadedVM can finish any of the jobs present in the highly loadedVM in the shortest possible time then that job will be movedto the least loaded VM The WRR considers the ratio ofthe VM capacity to the total VM capacity and it assigns theproportionate number of arrived jobs into the VM So itperforms in the next level But if any lengthy jobs are assignedto the low capacity VMs based on the above calculation thenthis will delay the execution completion time The simple RRhas not considered any variables about the environment VMcapabilities and the job lengths It simply assigns the jobsto the VM lists one after another in an ordered manner Soits completion time of the jobs is higher than the other twoalgorithms

522 Comparison of Task Migration

Analysis The task migrations are very minimal in the IWRRalgorithm due to extensive static and dynamic scheduleralgorithm in identifying the most appropriate VM to each ofthe jobs which is derived from Figures 13 and 14 So the loadbalancer has been unable to find the further optimizationto complete the task in the shortest time But in the case of

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of task migrations

0

5

10

15

20

Num

ber o

f tas

k m

igra

tions

Figure 13 Number of task migrations (space shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of task migrations

0

2

4

6

8

Num

ber o

f tas

k m

igra

tions

Figure 14 Number of task migrations (time shared)

WRR and RR algorithms the static and dynamic schedulerhas not considered the job lengths Instead it considers onlythe resource capabilities and the arrived job list So the loadbalancer has been able to find the further optimization atrun time and it shifts the jobs from higher loaded VM tothe underutilized VMs This intern produces the higher taskmigrations in the WRR and RR algorithms Additionallythese numbers of task migrations are high in the lowernumber of resources in the WRR and RR algorithms

523 Comparison of Delayed Tasks and Combined IdleTime of All Tasks

Analysis Figures 15 and 16 explain that the number of delayedtasks and the combined idle time of all tasks are higher in theIWRR than the other two algorithmsThis increase happeneddue to the allocation of more tasks in the higher capacityVMs At any point of time only one job can run in thespace spared CPUPE even if it has a higher capacity PESo if another job got allocated to the same VM due to itshigher processing capacity then that job has to be in waitingstate until the running job gets completed This increases thenumber of delayed tasks and the combined idle time in theIWRRalgorithm But in the other two algorithms the jobs getassigned even to the lower capacity VMs without accuratelypredicting the possible completion time in various VMs

The Scientific World Journal 13

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of delayed tasks

020406080

100120

Del

ayed

task

s

Figure 15 Number of delayed tasks (space shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Combined idle time of all tasks times10

4

0

100

200

300

400

Idle

tim

e (s)

Figure 16 Idle time of all tasks (space shared)

So the number of delayed tasks and combined idle time ofall tasks are lower in RR and WRR

524 Comparison of Million Instructions Reexecuteddue to Task Migration

Analysis The job migrations from one VM to another VMlead to the jobrsquos execution termination in one of the VMsOtherwise the current state of the execution has to be copiedover to another VM to proceed from the left out location inthe previous allotted VM In this project the current state ofthe job at the time of jobmigrationwill be lost So the jobwillbe reexecuted from the start of its instructions in themigratedVMThis kind of execution wastage comes in the time sharedCPUThe instruction reexecutionwill be higher in theRR andWRR algorithms due to the higher number of taskmigrationsin RR and WRR which is shown in Figure 17

6 Conclusion and Future Enhancements

In this work the improved weighted round robin algorithmconsiders the capabilities of each VM and the task length ofeach requested job to assign the jobs into the most appro-priate VMsThis improved weighted round robin algorithmsare having three different stages to handle the three differentscenarios in the environment life cycle The static scheduleralgorithm pays attention to the initial placement of the jobs

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Million instructions reexecuted by task migration

0

500

1000

1500

Instr

uctio

ns re

exec

uted times10

4

Figure 17 Million instructions reexecuted (time shared)

which distributes the job requests to the participating VMsevenly based on the VMrsquos capabilities and the length of therequested job The dynamic scheduler considers the load ofall its configured VMs and its tentative completion time ofthe current load has been identified along with the arrivedjobrsquos estimated completion time in each of the configuredVMs After this the least possible completion time has beenidentified from the above calculations for this particular jobin one of the VMs and then the job has been assigned to thisVMThe load balancer in the improvedweighted round robinruns at the end of each taskrsquos completion This always makesthe loads evenly distributed across all the VMs at the end ofeach taskrsquos completion and thus eliminates any idle time inthe participating resources (VMs)

The performance analysis and experiment results of thisalgorithm proved that the improved weighted round robinalgorithm ismost suitable to the heterogeneoushomogenousjobs with heterogeneous resources (VMs) compared to theother round robin and weighted round robin algorithmsThis algorithm considers the response time as the main QoSparameter

As part of the future enhancements we can considermul-tiple PEs in the participating heterogeneous VMs along withthe heterogeneous multiple PEs capable jobs with distributedcomputing capabilities in the improvedweighted round robinalgorithm Additionally the load balancing can also considertransferring the state of jobs between the VMs in the jobmigrations These above considerations can help in furtherreducing the job completion time in all the algorithms

This work had considered the overall completion time ofall the participating jobs in different algorithms Instead inthe future enhancements the completion time of each job canbe compared in the different scheduling and load balancingalgorithms The algorithms can be fine-tuned further toachieve the better consistent results on all the differentperspectives Similarly the comparison results should betaken for the different job arrival patterns on all the threedifferent scheduling and load balancing algorithms

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

14 The Scientific World Journal

Acknowledgments

The authors would like to thank Dr S Jayaprakash formerprofessor IIT Madras and Mr R Bhaskar for their continu-ous support towards the successful outcome of this work

References

[1] Z Xiao W Song and Q Chen ldquoDynamic resource allocationusing virtual machines for cloud computing environmentrdquoIEEE Transactions on Parallel and Distributed Systems vol 24no 6 pp 1107ndash1117 2013

[2] L D Dhinesh Babu and P Venkata Krishna ldquoHoney bee behav-ior inspired load balancing of tasks in cloud computing envi-ronmentsrdquo Applied Soft Computing Journal vol 13 no 5 pp2292ndash2303 2013

[3] J Cao K Li and I Stojmenovic ldquoOptimal power allocation andload distribution for multiple heterogeneous multicore serverprocessors across clouds and data centersrdquo IEEE Transactionson Computers vol 63 no 1 pp 45ndash58 2014

[4] R N Calheiros and R Buyya ldquoMeeting deadlines of scientificworkflows in public clouds with tasks replicationrdquo IEEE Trans-actions on Parallel and Distributed Systems vol 25 no 7 pp1787ndash1796 2014

[5] R Basker V Rhymend Uthariaraj and D Chitra Devi ldquoAnenhanced scheduling in weighted round robin for the cloudinfrastructure servicesrdquo International Journal of Recent Advancein Engineering amp Technology vol 2 no 3 pp 81ndash86 2014

[6] Z Yu F Menng and H Chen ldquoAn efficient list schedulingalgorithm of dependent task in gridrdquo in Proceedings of the3rd IEEE International Conference on Computer Science andInformation Technology (ICCSIT rsquo10) IEEE Chengdu ChinaJuly 2010

[7] H M Fard and H Deldari ldquoAn economic approach forscheduling dependent tasks in grid computingrdquo in Proceedingsof the 11th IEEE International Conference on ComputationalScience and Engineering (CSEWorkshops rsquo08) pp 71ndash76 IEEESan Paulo Brazil July 2008

[8] W Kadri B Yagoubi and M Meddeber ldquoEfficient dependenttasks assignment algorithm for grid computing environmentrdquoin Proceedings of the 2nd International Symposium onModellingand Implementation of Complex Systems (MISC rsquo12) Constan-tine Algeria May 2012

[9] S Ijaz E U Munir W Anwar andW Nasir ldquoEfficient schedul-ing strategy for task graphs in heterogeneous computing envi-ronmentrdquo The International Arab Journal of Information Tech-nology vol 10 no 5 2013

[10] Y Xu K Li LHe andT K Truong ldquoADAG scheduling schemeon heterogeneous computing systems using double molecularstructure-based chemical reaction optimizationrdquo Journal ofParallel andDistributed Computing vol 73 no 9 pp 1306ndash13222013

[11] L-T Lee C-W Chen H-Y Chang C-C Tang and K-CPan ldquoA non-critical path earliest-finish algorithm for inter-dependent tasks in heterogeneous computing environmentsrdquo inProceedings of the 11th IEEE International Conference on HighPerformance Computing and Communications (HPCC rsquo09) pp603ndash608 Seoul Republic of Korea June 2009

[12] B Xu C Zhao E Hu and B Hu ldquoJob scheduling algorithmbased on Berger model in cloud environmentrdquo Advances inEngineering Software vol 42 no 7 pp 419ndash425 2011

[13] B Mondal K Dasgupta and P Dutta ldquoLoad balancing in cloudcomputing using stochastic hill climbing-a soft computingapproachrdquo Procedia Technology vol 4 pp 783ndash789 2012

[14] M Rahman R Hassan R Ranjan and R Buyya ldquoAdaptiveworkflow scheduling for dynamic grid and cloud computingenvironmentrdquo Concurrency and Computation Practice andExperience vol 25 no 13 pp 1816ndash1842 2013

[15] G Gharooni-fard F Moein-darbari H Deldari and A Mor-varidi ldquoScheduling of scientific workflows using a chaos-genetic algorithmrdquo Procedia Computer Science vol 1 no 1 pp1445ndash1454 2010 International Conference on ComputationalScience ICCS 2010

[16] C Lin and S Lu ldquoScheduling scientific workflows elastically forcloud computingrdquo in Proceedings of the IEEE 4th InternationalConference on Cloud Computing Washington DC USA July2011

[17] Vijindra and S Shenai ldquoSurvey on scheduling issues in cloudcomputingrdquo Procedia Engineering vol 38 pp 2881ndash2888 2012Proceedings of the International Conference on ModellingOptimization and Computing

[18] M Xu L Cui H Wang and Y Bi ldquoA multiple QoS constrainedscheduling strategy of multiple workflows for cloud comput-ingrdquo in Proceedings of the IEEE International Symposium onParallel and Distributed Processing with Applications (ISPA rsquo09)pp 629ndash634 IEEE Chengdu China August 2009

[19] C Lin S Lu X Fei et al ldquoA reference architecture for scientificworkflow management systems and the VIEW SOA solutionrdquoIEEE Transactions on Services Computing vol 2 no 1 pp 79ndash92 2009

[20] S Ghanbari and M Othman ldquoA priority based job schedulingalgorithm in cloud computingrdquo in Proceedings of the Inter-national Conference on Advances Science and ContemporaryEngineering pp 778ndash785 October 2012

[21] F Xhafa and A Abraham Mata-Heuristics for Grid SchedulingProblems Springer Berlin Germany 2008

Submit your manuscripts athttpwwwhindawicom

Computer Games Technology

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Distributed Sensor Networks

International Journal of

Advances in

FuzzySystems

Hindawi Publishing Corporationhttpwwwhindawicom

Volume 2014

International Journal of

ReconfigurableComputing

Hindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Applied Computational Intelligence and Soft Computing

thinspAdvancesthinspinthinsp

Artificial Intelligence

HindawithinspPublishingthinspCorporationhttpwwwhindawicom Volumethinsp2014

Advances inSoftware EngineeringHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Journal of

Computer Networks and Communications

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation

httpwwwhindawicom Volume 2014

Advances in

Multimedia

International Journal of

Biomedical Imaging

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

ArtificialNeural Systems

Advances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Computational Intelligence and Neuroscience

Industrial EngineeringJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Human-ComputerInteraction

Advances in

Computer EngineeringAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Page 12: Research Article Load Balancing in Cloud …downloads.hindawi.com/journals/tswj/2016/3896065.pdf1. Introduction Cloud computing is a computing paradigm for managing and delivering

12 The Scientific World Journal

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Task overall completion time times104

0

5

10

15

Com

plet

ion

time (

s)

Figure 11 Execution completion time (space shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Task overall completion time times104

0

5

10

15

20

Com

plet

ion

time (

s)

Figure 12 Execution completion time (time shared)

The load balancer in the IWRRwith job length runs at theend of each taskrsquos completion If the load balancer finds any ofthe VMs completes all its assigned tasks then it will identifythe highly loaded VM from the group and it calculates thepossible completion time of those jobs present in the highlyloaded VM and the least loadedidle VM If the least loadedVM can finish any of the jobs present in the highly loadedVM in the shortest possible time then that job will be movedto the least loaded VM The WRR considers the ratio ofthe VM capacity to the total VM capacity and it assigns theproportionate number of arrived jobs into the VM So itperforms in the next level But if any lengthy jobs are assignedto the low capacity VMs based on the above calculation thenthis will delay the execution completion time The simple RRhas not considered any variables about the environment VMcapabilities and the job lengths It simply assigns the jobsto the VM lists one after another in an ordered manner Soits completion time of the jobs is higher than the other twoalgorithms

522 Comparison of Task Migration

Analysis The task migrations are very minimal in the IWRRalgorithm due to extensive static and dynamic scheduleralgorithm in identifying the most appropriate VM to each ofthe jobs which is derived from Figures 13 and 14 So the loadbalancer has been unable to find the further optimizationto complete the task in the shortest time But in the case of

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of task migrations

0

5

10

15

20

Num

ber o

f tas

k m

igra

tions

Figure 13 Number of task migrations (space shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of task migrations

0

2

4

6

8

Num

ber o

f tas

k m

igra

tions

Figure 14 Number of task migrations (time shared)

WRR and RR algorithms the static and dynamic schedulerhas not considered the job lengths Instead it considers onlythe resource capabilities and the arrived job list So the loadbalancer has been able to find the further optimization atrun time and it shifts the jobs from higher loaded VM tothe underutilized VMs This intern produces the higher taskmigrations in the WRR and RR algorithms Additionallythese numbers of task migrations are high in the lowernumber of resources in the WRR and RR algorithms

523 Comparison of Delayed Tasks and Combined IdleTime of All Tasks

Analysis Figures 15 and 16 explain that the number of delayedtasks and the combined idle time of all tasks are higher in theIWRR than the other two algorithmsThis increase happeneddue to the allocation of more tasks in the higher capacityVMs At any point of time only one job can run in thespace spared CPUPE even if it has a higher capacity PESo if another job got allocated to the same VM due to itshigher processing capacity then that job has to be in waitingstate until the running job gets completed This increases thenumber of delayed tasks and the combined idle time in theIWRRalgorithm But in the other two algorithms the jobs getassigned even to the lower capacity VMs without accuratelypredicting the possible completion time in various VMs

The Scientific World Journal 13

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of delayed tasks

020406080

100120

Del

ayed

task

s

Figure 15 Number of delayed tasks (space shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Combined idle time of all tasks times10

4

0

100

200

300

400

Idle

tim

e (s)

Figure 16 Idle time of all tasks (space shared)

So the number of delayed tasks and combined idle time ofall tasks are lower in RR and WRR

524 Comparison of Million Instructions Reexecuteddue to Task Migration

Analysis The job migrations from one VM to another VMlead to the jobrsquos execution termination in one of the VMsOtherwise the current state of the execution has to be copiedover to another VM to proceed from the left out location inthe previous allotted VM In this project the current state ofthe job at the time of jobmigrationwill be lost So the jobwillbe reexecuted from the start of its instructions in themigratedVMThis kind of execution wastage comes in the time sharedCPUThe instruction reexecutionwill be higher in theRR andWRR algorithms due to the higher number of taskmigrationsin RR and WRR which is shown in Figure 17

6 Conclusion and Future Enhancements

In this work the improved weighted round robin algorithmconsiders the capabilities of each VM and the task length ofeach requested job to assign the jobs into the most appro-priate VMsThis improved weighted round robin algorithmsare having three different stages to handle the three differentscenarios in the environment life cycle The static scheduleralgorithm pays attention to the initial placement of the jobs

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Million instructions reexecuted by task migration

0

500

1000

1500

Instr

uctio

ns re

exec

uted times10

4

Figure 17 Million instructions reexecuted (time shared)

which distributes the job requests to the participating VMsevenly based on the VMrsquos capabilities and the length of therequested job The dynamic scheduler considers the load ofall its configured VMs and its tentative completion time ofthe current load has been identified along with the arrivedjobrsquos estimated completion time in each of the configuredVMs After this the least possible completion time has beenidentified from the above calculations for this particular jobin one of the VMs and then the job has been assigned to thisVMThe load balancer in the improvedweighted round robinruns at the end of each taskrsquos completion This always makesthe loads evenly distributed across all the VMs at the end ofeach taskrsquos completion and thus eliminates any idle time inthe participating resources (VMs)

The performance analysis and experiment results of thisalgorithm proved that the improved weighted round robinalgorithm ismost suitable to the heterogeneoushomogenousjobs with heterogeneous resources (VMs) compared to theother round robin and weighted round robin algorithmsThis algorithm considers the response time as the main QoSparameter

As part of the future enhancements we can considermul-tiple PEs in the participating heterogeneous VMs along withthe heterogeneous multiple PEs capable jobs with distributedcomputing capabilities in the improvedweighted round robinalgorithm Additionally the load balancing can also considertransferring the state of jobs between the VMs in the jobmigrations These above considerations can help in furtherreducing the job completion time in all the algorithms

This work had considered the overall completion time ofall the participating jobs in different algorithms Instead inthe future enhancements the completion time of each job canbe compared in the different scheduling and load balancingalgorithms The algorithms can be fine-tuned further toachieve the better consistent results on all the differentperspectives Similarly the comparison results should betaken for the different job arrival patterns on all the threedifferent scheduling and load balancing algorithms

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

14 The Scientific World Journal

Acknowledgments

The authors would like to thank Dr S Jayaprakash formerprofessor IIT Madras and Mr R Bhaskar for their continu-ous support towards the successful outcome of this work

References

[1] Z Xiao W Song and Q Chen ldquoDynamic resource allocationusing virtual machines for cloud computing environmentrdquoIEEE Transactions on Parallel and Distributed Systems vol 24no 6 pp 1107ndash1117 2013

[2] L D Dhinesh Babu and P Venkata Krishna ldquoHoney bee behav-ior inspired load balancing of tasks in cloud computing envi-ronmentsrdquo Applied Soft Computing Journal vol 13 no 5 pp2292ndash2303 2013

[3] J Cao K Li and I Stojmenovic ldquoOptimal power allocation andload distribution for multiple heterogeneous multicore serverprocessors across clouds and data centersrdquo IEEE Transactionson Computers vol 63 no 1 pp 45ndash58 2014

[4] R N Calheiros and R Buyya ldquoMeeting deadlines of scientificworkflows in public clouds with tasks replicationrdquo IEEE Trans-actions on Parallel and Distributed Systems vol 25 no 7 pp1787ndash1796 2014

[5] R Basker V Rhymend Uthariaraj and D Chitra Devi ldquoAnenhanced scheduling in weighted round robin for the cloudinfrastructure servicesrdquo International Journal of Recent Advancein Engineering amp Technology vol 2 no 3 pp 81ndash86 2014

[6] Z Yu F Menng and H Chen ldquoAn efficient list schedulingalgorithm of dependent task in gridrdquo in Proceedings of the3rd IEEE International Conference on Computer Science andInformation Technology (ICCSIT rsquo10) IEEE Chengdu ChinaJuly 2010

[7] H M Fard and H Deldari ldquoAn economic approach forscheduling dependent tasks in grid computingrdquo in Proceedingsof the 11th IEEE International Conference on ComputationalScience and Engineering (CSEWorkshops rsquo08) pp 71ndash76 IEEESan Paulo Brazil July 2008

[8] W Kadri B Yagoubi and M Meddeber ldquoEfficient dependenttasks assignment algorithm for grid computing environmentrdquoin Proceedings of the 2nd International Symposium onModellingand Implementation of Complex Systems (MISC rsquo12) Constan-tine Algeria May 2012

[9] S Ijaz E U Munir W Anwar andW Nasir ldquoEfficient schedul-ing strategy for task graphs in heterogeneous computing envi-ronmentrdquo The International Arab Journal of Information Tech-nology vol 10 no 5 2013

[10] Y Xu K Li LHe andT K Truong ldquoADAG scheduling schemeon heterogeneous computing systems using double molecularstructure-based chemical reaction optimizationrdquo Journal ofParallel andDistributed Computing vol 73 no 9 pp 1306ndash13222013

[11] L-T Lee C-W Chen H-Y Chang C-C Tang and K-CPan ldquoA non-critical path earliest-finish algorithm for inter-dependent tasks in heterogeneous computing environmentsrdquo inProceedings of the 11th IEEE International Conference on HighPerformance Computing and Communications (HPCC rsquo09) pp603ndash608 Seoul Republic of Korea June 2009

[12] B Xu C Zhao E Hu and B Hu ldquoJob scheduling algorithmbased on Berger model in cloud environmentrdquo Advances inEngineering Software vol 42 no 7 pp 419ndash425 2011

[13] B Mondal K Dasgupta and P Dutta ldquoLoad balancing in cloudcomputing using stochastic hill climbing-a soft computingapproachrdquo Procedia Technology vol 4 pp 783ndash789 2012

[14] M Rahman R Hassan R Ranjan and R Buyya ldquoAdaptiveworkflow scheduling for dynamic grid and cloud computingenvironmentrdquo Concurrency and Computation Practice andExperience vol 25 no 13 pp 1816ndash1842 2013

[15] G Gharooni-fard F Moein-darbari H Deldari and A Mor-varidi ldquoScheduling of scientific workflows using a chaos-genetic algorithmrdquo Procedia Computer Science vol 1 no 1 pp1445ndash1454 2010 International Conference on ComputationalScience ICCS 2010

[16] C Lin and S Lu ldquoScheduling scientific workflows elastically forcloud computingrdquo in Proceedings of the IEEE 4th InternationalConference on Cloud Computing Washington DC USA July2011

[17] Vijindra and S Shenai ldquoSurvey on scheduling issues in cloudcomputingrdquo Procedia Engineering vol 38 pp 2881ndash2888 2012Proceedings of the International Conference on ModellingOptimization and Computing

[18] M Xu L Cui H Wang and Y Bi ldquoA multiple QoS constrainedscheduling strategy of multiple workflows for cloud comput-ingrdquo in Proceedings of the IEEE International Symposium onParallel and Distributed Processing with Applications (ISPA rsquo09)pp 629ndash634 IEEE Chengdu China August 2009

[19] C Lin S Lu X Fei et al ldquoA reference architecture for scientificworkflow management systems and the VIEW SOA solutionrdquoIEEE Transactions on Services Computing vol 2 no 1 pp 79ndash92 2009

[20] S Ghanbari and M Othman ldquoA priority based job schedulingalgorithm in cloud computingrdquo in Proceedings of the Inter-national Conference on Advances Science and ContemporaryEngineering pp 778ndash785 October 2012

[21] F Xhafa and A Abraham Mata-Heuristics for Grid SchedulingProblems Springer Berlin Germany 2008

Submit your manuscripts athttpwwwhindawicom

Computer Games Technology

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Distributed Sensor Networks

International Journal of

Advances in

FuzzySystems

Hindawi Publishing Corporationhttpwwwhindawicom

Volume 2014

International Journal of

ReconfigurableComputing

Hindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Applied Computational Intelligence and Soft Computing

thinspAdvancesthinspinthinsp

Artificial Intelligence

HindawithinspPublishingthinspCorporationhttpwwwhindawicom Volumethinsp2014

Advances inSoftware EngineeringHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Journal of

Computer Networks and Communications

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation

httpwwwhindawicom Volume 2014

Advances in

Multimedia

International Journal of

Biomedical Imaging

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

ArtificialNeural Systems

Advances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Computational Intelligence and Neuroscience

Industrial EngineeringJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Human-ComputerInteraction

Advances in

Computer EngineeringAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Page 13: Research Article Load Balancing in Cloud …downloads.hindawi.com/journals/tswj/2016/3896065.pdf1. Introduction Cloud computing is a computing paradigm for managing and delivering

The Scientific World Journal 13

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Number of delayed tasks

020406080

100120

Del

ayed

task

s

Figure 15 Number of delayed tasks (space shared)

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Combined idle time of all tasks times10

4

0

100

200

300

400

Idle

tim

e (s)

Figure 16 Idle time of all tasks (space shared)

So the number of delayed tasks and combined idle time ofall tasks are lower in RR and WRR

524 Comparison of Million Instructions Reexecuteddue to Task Migration

Analysis The job migrations from one VM to another VMlead to the jobrsquos execution termination in one of the VMsOtherwise the current state of the execution has to be copiedover to another VM to proceed from the left out location inthe previous allotted VM In this project the current state ofthe job at the time of jobmigrationwill be lost So the jobwillbe reexecuted from the start of its instructions in themigratedVMThis kind of execution wastage comes in the time sharedCPUThe instruction reexecutionwill be higher in theRR andWRR algorithms due to the higher number of taskmigrationsin RR and WRR which is shown in Figure 17

6 Conclusion and Future Enhancements

In this work the improved weighted round robin algorithmconsiders the capabilities of each VM and the task length ofeach requested job to assign the jobs into the most appro-priate VMsThis improved weighted round robin algorithmsare having three different stages to handle the three differentscenarios in the environment life cycle The static scheduleralgorithm pays attention to the initial placement of the jobs

10 20 30 40 50 60 70 80 90 100Number of virtual machines

Static round robinWeighted round robinLength based weighted round robin

Million instructions reexecuted by task migration

0

500

1000

1500

Instr

uctio

ns re

exec

uted times10

4

Figure 17 Million instructions reexecuted (time shared)

which distributes the job requests to the participating VMsevenly based on the VMrsquos capabilities and the length of therequested job The dynamic scheduler considers the load ofall its configured VMs and its tentative completion time ofthe current load has been identified along with the arrivedjobrsquos estimated completion time in each of the configuredVMs After this the least possible completion time has beenidentified from the above calculations for this particular jobin one of the VMs and then the job has been assigned to thisVMThe load balancer in the improvedweighted round robinruns at the end of each taskrsquos completion This always makesthe loads evenly distributed across all the VMs at the end ofeach taskrsquos completion and thus eliminates any idle time inthe participating resources (VMs)

The performance analysis and experiment results of thisalgorithm proved that the improved weighted round robinalgorithm ismost suitable to the heterogeneoushomogenousjobs with heterogeneous resources (VMs) compared to theother round robin and weighted round robin algorithmsThis algorithm considers the response time as the main QoSparameter

As part of the future enhancements we can considermul-tiple PEs in the participating heterogeneous VMs along withthe heterogeneous multiple PEs capable jobs with distributedcomputing capabilities in the improvedweighted round robinalgorithm Additionally the load balancing can also considertransferring the state of jobs between the VMs in the jobmigrations These above considerations can help in furtherreducing the job completion time in all the algorithms

This work had considered the overall completion time ofall the participating jobs in different algorithms Instead inthe future enhancements the completion time of each job canbe compared in the different scheduling and load balancingalgorithms The algorithms can be fine-tuned further toachieve the better consistent results on all the differentperspectives Similarly the comparison results should betaken for the different job arrival patterns on all the threedifferent scheduling and load balancing algorithms

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

14 The Scientific World Journal

Acknowledgments

The authors would like to thank Dr S Jayaprakash formerprofessor IIT Madras and Mr R Bhaskar for their continu-ous support towards the successful outcome of this work

References

[1] Z Xiao W Song and Q Chen ldquoDynamic resource allocationusing virtual machines for cloud computing environmentrdquoIEEE Transactions on Parallel and Distributed Systems vol 24no 6 pp 1107ndash1117 2013

[2] L D Dhinesh Babu and P Venkata Krishna ldquoHoney bee behav-ior inspired load balancing of tasks in cloud computing envi-ronmentsrdquo Applied Soft Computing Journal vol 13 no 5 pp2292ndash2303 2013

[3] J Cao K Li and I Stojmenovic ldquoOptimal power allocation andload distribution for multiple heterogeneous multicore serverprocessors across clouds and data centersrdquo IEEE Transactionson Computers vol 63 no 1 pp 45ndash58 2014

[4] R N Calheiros and R Buyya ldquoMeeting deadlines of scientificworkflows in public clouds with tasks replicationrdquo IEEE Trans-actions on Parallel and Distributed Systems vol 25 no 7 pp1787ndash1796 2014

[5] R Basker V Rhymend Uthariaraj and D Chitra Devi ldquoAnenhanced scheduling in weighted round robin for the cloudinfrastructure servicesrdquo International Journal of Recent Advancein Engineering amp Technology vol 2 no 3 pp 81ndash86 2014

[6] Z Yu F Menng and H Chen ldquoAn efficient list schedulingalgorithm of dependent task in gridrdquo in Proceedings of the3rd IEEE International Conference on Computer Science andInformation Technology (ICCSIT rsquo10) IEEE Chengdu ChinaJuly 2010

[7] H M Fard and H Deldari ldquoAn economic approach forscheduling dependent tasks in grid computingrdquo in Proceedingsof the 11th IEEE International Conference on ComputationalScience and Engineering (CSEWorkshops rsquo08) pp 71ndash76 IEEESan Paulo Brazil July 2008

[8] W Kadri B Yagoubi and M Meddeber ldquoEfficient dependenttasks assignment algorithm for grid computing environmentrdquoin Proceedings of the 2nd International Symposium onModellingand Implementation of Complex Systems (MISC rsquo12) Constan-tine Algeria May 2012

[9] S Ijaz E U Munir W Anwar andW Nasir ldquoEfficient schedul-ing strategy for task graphs in heterogeneous computing envi-ronmentrdquo The International Arab Journal of Information Tech-nology vol 10 no 5 2013

[10] Y Xu K Li LHe andT K Truong ldquoADAG scheduling schemeon heterogeneous computing systems using double molecularstructure-based chemical reaction optimizationrdquo Journal ofParallel andDistributed Computing vol 73 no 9 pp 1306ndash13222013

[11] L-T Lee C-W Chen H-Y Chang C-C Tang and K-CPan ldquoA non-critical path earliest-finish algorithm for inter-dependent tasks in heterogeneous computing environmentsrdquo inProceedings of the 11th IEEE International Conference on HighPerformance Computing and Communications (HPCC rsquo09) pp603ndash608 Seoul Republic of Korea June 2009

[12] B Xu C Zhao E Hu and B Hu ldquoJob scheduling algorithmbased on Berger model in cloud environmentrdquo Advances inEngineering Software vol 42 no 7 pp 419ndash425 2011

[13] B Mondal K Dasgupta and P Dutta ldquoLoad balancing in cloudcomputing using stochastic hill climbing-a soft computingapproachrdquo Procedia Technology vol 4 pp 783ndash789 2012

[14] M Rahman R Hassan R Ranjan and R Buyya ldquoAdaptiveworkflow scheduling for dynamic grid and cloud computingenvironmentrdquo Concurrency and Computation Practice andExperience vol 25 no 13 pp 1816ndash1842 2013

[15] G Gharooni-fard F Moein-darbari H Deldari and A Mor-varidi ldquoScheduling of scientific workflows using a chaos-genetic algorithmrdquo Procedia Computer Science vol 1 no 1 pp1445ndash1454 2010 International Conference on ComputationalScience ICCS 2010

[16] C Lin and S Lu ldquoScheduling scientific workflows elastically forcloud computingrdquo in Proceedings of the IEEE 4th InternationalConference on Cloud Computing Washington DC USA July2011

[17] Vijindra and S Shenai ldquoSurvey on scheduling issues in cloudcomputingrdquo Procedia Engineering vol 38 pp 2881ndash2888 2012Proceedings of the International Conference on ModellingOptimization and Computing

[18] M Xu L Cui H Wang and Y Bi ldquoA multiple QoS constrainedscheduling strategy of multiple workflows for cloud comput-ingrdquo in Proceedings of the IEEE International Symposium onParallel and Distributed Processing with Applications (ISPA rsquo09)pp 629ndash634 IEEE Chengdu China August 2009

[19] C Lin S Lu X Fei et al ldquoA reference architecture for scientificworkflow management systems and the VIEW SOA solutionrdquoIEEE Transactions on Services Computing vol 2 no 1 pp 79ndash92 2009

[20] S Ghanbari and M Othman ldquoA priority based job schedulingalgorithm in cloud computingrdquo in Proceedings of the Inter-national Conference on Advances Science and ContemporaryEngineering pp 778ndash785 October 2012

[21] F Xhafa and A Abraham Mata-Heuristics for Grid SchedulingProblems Springer Berlin Germany 2008

Submit your manuscripts athttpwwwhindawicom

Computer Games Technology

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Distributed Sensor Networks

International Journal of

Advances in

FuzzySystems

Hindawi Publishing Corporationhttpwwwhindawicom

Volume 2014

International Journal of

ReconfigurableComputing

Hindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Applied Computational Intelligence and Soft Computing

thinspAdvancesthinspinthinsp

Artificial Intelligence

HindawithinspPublishingthinspCorporationhttpwwwhindawicom Volumethinsp2014

Advances inSoftware EngineeringHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Journal of

Computer Networks and Communications

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation

httpwwwhindawicom Volume 2014

Advances in

Multimedia

International Journal of

Biomedical Imaging

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

ArtificialNeural Systems

Advances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Computational Intelligence and Neuroscience

Industrial EngineeringJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Human-ComputerInteraction

Advances in

Computer EngineeringAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Page 14: Research Article Load Balancing in Cloud …downloads.hindawi.com/journals/tswj/2016/3896065.pdf1. Introduction Cloud computing is a computing paradigm for managing and delivering

14 The Scientific World Journal

Acknowledgments

The authors would like to thank Dr S Jayaprakash formerprofessor IIT Madras and Mr R Bhaskar for their continu-ous support towards the successful outcome of this work

References

[1] Z Xiao W Song and Q Chen ldquoDynamic resource allocationusing virtual machines for cloud computing environmentrdquoIEEE Transactions on Parallel and Distributed Systems vol 24no 6 pp 1107ndash1117 2013

[2] L D Dhinesh Babu and P Venkata Krishna ldquoHoney bee behav-ior inspired load balancing of tasks in cloud computing envi-ronmentsrdquo Applied Soft Computing Journal vol 13 no 5 pp2292ndash2303 2013

[3] J Cao K Li and I Stojmenovic ldquoOptimal power allocation andload distribution for multiple heterogeneous multicore serverprocessors across clouds and data centersrdquo IEEE Transactionson Computers vol 63 no 1 pp 45ndash58 2014

[4] R N Calheiros and R Buyya ldquoMeeting deadlines of scientificworkflows in public clouds with tasks replicationrdquo IEEE Trans-actions on Parallel and Distributed Systems vol 25 no 7 pp1787ndash1796 2014

[5] R Basker V Rhymend Uthariaraj and D Chitra Devi ldquoAnenhanced scheduling in weighted round robin for the cloudinfrastructure servicesrdquo International Journal of Recent Advancein Engineering amp Technology vol 2 no 3 pp 81ndash86 2014

[6] Z Yu F Menng and H Chen ldquoAn efficient list schedulingalgorithm of dependent task in gridrdquo in Proceedings of the3rd IEEE International Conference on Computer Science andInformation Technology (ICCSIT rsquo10) IEEE Chengdu ChinaJuly 2010

[7] H M Fard and H Deldari ldquoAn economic approach forscheduling dependent tasks in grid computingrdquo in Proceedingsof the 11th IEEE International Conference on ComputationalScience and Engineering (CSEWorkshops rsquo08) pp 71ndash76 IEEESan Paulo Brazil July 2008

[8] W Kadri B Yagoubi and M Meddeber ldquoEfficient dependenttasks assignment algorithm for grid computing environmentrdquoin Proceedings of the 2nd International Symposium onModellingand Implementation of Complex Systems (MISC rsquo12) Constan-tine Algeria May 2012

[9] S Ijaz E U Munir W Anwar andW Nasir ldquoEfficient schedul-ing strategy for task graphs in heterogeneous computing envi-ronmentrdquo The International Arab Journal of Information Tech-nology vol 10 no 5 2013

[10] Y Xu K Li LHe andT K Truong ldquoADAG scheduling schemeon heterogeneous computing systems using double molecularstructure-based chemical reaction optimizationrdquo Journal ofParallel andDistributed Computing vol 73 no 9 pp 1306ndash13222013

[11] L-T Lee C-W Chen H-Y Chang C-C Tang and K-CPan ldquoA non-critical path earliest-finish algorithm for inter-dependent tasks in heterogeneous computing environmentsrdquo inProceedings of the 11th IEEE International Conference on HighPerformance Computing and Communications (HPCC rsquo09) pp603ndash608 Seoul Republic of Korea June 2009

[12] B Xu C Zhao E Hu and B Hu ldquoJob scheduling algorithmbased on Berger model in cloud environmentrdquo Advances inEngineering Software vol 42 no 7 pp 419ndash425 2011

[13] B Mondal K Dasgupta and P Dutta ldquoLoad balancing in cloudcomputing using stochastic hill climbing-a soft computingapproachrdquo Procedia Technology vol 4 pp 783ndash789 2012

[14] M Rahman R Hassan R Ranjan and R Buyya ldquoAdaptiveworkflow scheduling for dynamic grid and cloud computingenvironmentrdquo Concurrency and Computation Practice andExperience vol 25 no 13 pp 1816ndash1842 2013

[15] G Gharooni-fard F Moein-darbari H Deldari and A Mor-varidi ldquoScheduling of scientific workflows using a chaos-genetic algorithmrdquo Procedia Computer Science vol 1 no 1 pp1445ndash1454 2010 International Conference on ComputationalScience ICCS 2010

[16] C Lin and S Lu ldquoScheduling scientific workflows elastically forcloud computingrdquo in Proceedings of the IEEE 4th InternationalConference on Cloud Computing Washington DC USA July2011

[17] Vijindra and S Shenai ldquoSurvey on scheduling issues in cloudcomputingrdquo Procedia Engineering vol 38 pp 2881ndash2888 2012Proceedings of the International Conference on ModellingOptimization and Computing

[18] M Xu L Cui H Wang and Y Bi ldquoA multiple QoS constrainedscheduling strategy of multiple workflows for cloud comput-ingrdquo in Proceedings of the IEEE International Symposium onParallel and Distributed Processing with Applications (ISPA rsquo09)pp 629ndash634 IEEE Chengdu China August 2009

[19] C Lin S Lu X Fei et al ldquoA reference architecture for scientificworkflow management systems and the VIEW SOA solutionrdquoIEEE Transactions on Services Computing vol 2 no 1 pp 79ndash92 2009

[20] S Ghanbari and M Othman ldquoA priority based job schedulingalgorithm in cloud computingrdquo in Proceedings of the Inter-national Conference on Advances Science and ContemporaryEngineering pp 778ndash785 October 2012

[21] F Xhafa and A Abraham Mata-Heuristics for Grid SchedulingProblems Springer Berlin Germany 2008

Submit your manuscripts athttpwwwhindawicom

Computer Games Technology

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Distributed Sensor Networks

International Journal of

Advances in

FuzzySystems

Hindawi Publishing Corporationhttpwwwhindawicom

Volume 2014

International Journal of

ReconfigurableComputing

Hindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Applied Computational Intelligence and Soft Computing

thinspAdvancesthinspinthinsp

Artificial Intelligence

HindawithinspPublishingthinspCorporationhttpwwwhindawicom Volumethinsp2014

Advances inSoftware EngineeringHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Journal of

Computer Networks and Communications

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation

httpwwwhindawicom Volume 2014

Advances in

Multimedia

International Journal of

Biomedical Imaging

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

ArtificialNeural Systems

Advances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Computational Intelligence and Neuroscience

Industrial EngineeringJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Human-ComputerInteraction

Advances in

Computer EngineeringAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Page 15: Research Article Load Balancing in Cloud …downloads.hindawi.com/journals/tswj/2016/3896065.pdf1. Introduction Cloud computing is a computing paradigm for managing and delivering

Submit your manuscripts athttpwwwhindawicom

Computer Games Technology

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Distributed Sensor Networks

International Journal of

Advances in

FuzzySystems

Hindawi Publishing Corporationhttpwwwhindawicom

Volume 2014

International Journal of

ReconfigurableComputing

Hindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Applied Computational Intelligence and Soft Computing

thinspAdvancesthinspinthinsp

Artificial Intelligence

HindawithinspPublishingthinspCorporationhttpwwwhindawicom Volumethinsp2014

Advances inSoftware EngineeringHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Journal of

Computer Networks and Communications

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation

httpwwwhindawicom Volume 2014

Advances in

Multimedia

International Journal of

Biomedical Imaging

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

ArtificialNeural Systems

Advances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Computational Intelligence and Neuroscience

Industrial EngineeringJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Human-ComputerInteraction

Advances in

Computer EngineeringAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014