Professional Documents
Culture Documents
2016 MT 711CS1095 Analysis and Development
2016 MT 711CS1095 Analysis and Development
Shailendra Singh
Master of Technology
in
by
Shailendra Singh
(Roll Number: 711CS1095)
May, 2016
Supervisor’s Certificate
This is to certify that the work presented in the dissertation entitled Analysis and
Development of Efficient Task Scheduling Strategies in Heterogeneous Cloud Environment
submitted by Shailendra Singh, Roll Number 711CS1095, is a record of original research
carried out by him under my supervision and guidance in partial fulfillment of the
requirements of the degree of Master of Technology in Computer Science and Engineering.
Neither this thesis nor any part of it has been submitted earlier for any degree or diploma to
any institute or university in India or abroad.
I am fully aware that in case of any non-compliance detected in future, the Senate of NIT
Rourkela may withdraw the degree awarded to me on the basis of the present dissertation.
Keywords: Cloud Computing; Task Scheduling; Minimizing Task completion time; Virtual
Machines; Load Balancing; CloudSim; Cloudlets.
Contents
Supervisor’s Certificate ii
Dedication iii
Declaration of Originality iv
Acknowledgment v
Abstract vi
List of Figures x
List of Tables xi
1 Introduction 1
1.1 Introduction to Cloud Computing . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Task Scheduling in Cloud Computing . . . . . . . . . . . . . . . . . . . . 2
1.3 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 The Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.5 Structure of thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 Literature Review 6
2.1 Cloud Computing: Overview . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Features of Cloud Computing . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.1 Fast Implementation . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.2 Less Cost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.3 Scalability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.4 Maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.5 Accessibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.6 Security and Privacy . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3 NIST Cloud Model: Essential Characteristics . . . . . . . . . . . . . . . . 7
2.3.1 On-demand self service . . . . . . . . . . . . . . . . . . . . . . . . 8
vii
2.3.2 Broad Network Access . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3.3 Resource Pooling . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3.4 Rapid Elasticity . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3.5 Measured Service . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.4 NIST Cloud Model: Service Models . . . . . . . . . . . . . . . . . . . . . 9
2.4.1 Cloud Software as a Service (SaaS) . . . . . . . . . . . . . . . . . 9
2.4.2 Cloud Platform as a Service (PaaS) . . . . . . . . . . . . . . . . . 9
2.4.3 Cloud Infrastructure as a Service (IaaS) . . . . . . . . . . . . . . . 9
2.5 NIST Cloud Model: Deployment Model . . . . . . . . . . . . . . . . . . . 10
2.5.1 Public Cloud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.5.2 Private Cloud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.5.3 Hybrid Cloud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.5.4 Community Cloud . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.6 Cloud Computing with CloudSim . . . . . . . . . . . . . . . . . . . . . . 11
2.7 Layered Design of CloudSim . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.7.1 User Level Middleware (SaaS) . . . . . . . . . . . . . . . . . . . . 11
2.7.2 Core Middle ware (PaaS) . . . . . . . . . . . . . . . . . . . . . . . 11
2.7.3 System Level (IaaS) . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.7.4 Cloud Application . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.8 Implementing Clouds in CloudSim 3.0.3 . . . . . . . . . . . . . . . . . . . 12
2.9 Task Scheduling Strategy and Simulation in CloudSim . . . . . . . . . . . 13
2.10 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
viii
4 Proposed Work 25
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.2 Notations and Performance Parameters . . . . . . . . . . . . . . . . . . . . 25
4.2.1 Task Execution Time (ET) . . . . . . . . . . . . . . . . . . . . . . 26
4.2.2 Task Start Time (ST) . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.2.3 Task Finish Time (FT) . . . . . . . . . . . . . . . . . . . . . . . . 26
4.2.4 Fractional Task Length (FTL) . . . . . . . . . . . . . . . . . . . . 26
4.2.5 Fractional Machine Capacity (FMC) . . . . . . . . . . . . . . . . . 26
4.3 Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.4 Breif Explantion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.5 Implementation and Results . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.6 Comparative Study: FCFS,LCFP,SCFP,SCHFMC . . . . . . . . . . . . . . 31
4.6.1 Experiment 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.6.2 Experiment 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.6.3 Experiment 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5 Conclusion 36
5.1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.2 Scope for Future Research . . . . . . . . . . . . . . . . . . . . . . . . . . 36
ix
List of Figures
x
List of Tables
xi
Chapter 1
Introduction
• Virtualization
• Resource allocation
• Task scheduling
1
Chapter 1 Introduction
Hosting web services, delivering content to the other web applications and other real time
data processing and applications are the few of the most benefited cloud based application.
Practically all of these applications has different requirements of resources and need different
kind of processing machine for execution in different kind of processing environment.
Maintaining the performance of the resource allocation and task scheduling policies in
the real cloud system for application of varying configuration and service requirements, is
very challenging due to -
• Clouds experiences the frequently changing pattern of demand of services and delivery
of services, and size of the requested system.
This chapter has five other sections. Section 1.2 gives very short description about task
scheduling in cloud environment. Section 1.3 demonstrate the motivation for further part of
this thesis. Section 1.4 shows the actual problem statement for this thesis and finally Section
1.6 concludes the chapter.
2
Chapter 1 Introduction
1.3 Motivation
Cloud computing has become one the most important field of computer science. Resource
allocation and Task scheduling are two of the most challenging issues in any cloud system.
Resource allocation consist of the two phases
The efficiency of any Task scheduling strategy depends upon the resource allocation
in that cloud system. If a very small task has been submitted to the machine with large
processing power than that machine will sit idle for a while. This leads to the bad utilisation
of resources. Every task scheduling methodology must consider the these following
protocols –
• Must improve the proper utilisation of resources (VMs) which are assigned to execute
the task.
• There must be a priority in assigning certain task so that they can be executed properly
and fast.
• Minimizes the execution time of each task and overall completion (Make Span) of the
total task submitted to cloud system.
• There must be very less faults during processing and self re-allocation of resources in
case of failures.
3
Chapter 1 Introduction
∑
n ∑
m
Xij ∗ Tij + Xij ∗ Cij + Xij ∗ Sij ≤ Fmin
i=1 j=1
Every task scheduling algorithm is developed by taking one the above three parameter
(Tij , Cij or Sij ) into consideration. Every scheduler has to decrease Tij and Cij as much as
possible and have to increase Sij upto greater extent.
The main problem statement for this thesis can be briefed in following points:
• Let VMlist = V M1 , V M2 , V M3 ........ V Mn which is stored into a list and can be used
in future during allocation.
• Let Jlist = J1 , J2 , J3 .............. Jm is the list of the m jobs and stored into a list.
• We have to map Jlist =⇒ Vmlist in such a way that overall completion time of all the
job reduces and the use of the resources reduced so that they can serve other jobs in
same time with using any other resource.
4
detailed description of proposed algorithm for new task scheduling algorithm for assigning
jobs into virtual machines. This chapter also contains comparison of the proposed algorithm
with the various other algorithms and explains the goodness of the algorithm. Chapter 5
covers the simulation and results. It contains graphs and tables of the results of comparison
with other algorithms. Chapter 6 concludes the work and proposes some future work.
1.6 Conclusion
The overall motive of a cloud system is to reduce overall processing cost and efficient use
of the resources. Scheduling techniques should be developed in such a way that there is an
even distribution of the load into the virtual machines. Primary goal of task allocation is
to reduce the overall completion time and proper utilisation of virtual machines. Proposed
algorithm has been developed by taking these two issues into consideration. This proposed
algorithm has performed better than many algorithm discussed in chapter 3.
Chapter 2
Literature Review
6
Chapter 2 Literature Review
dramatically decreased and sometimes its completely free. We may have to pay some
monthly subscription fee and at any time we can use any services available at cloud provider.
2.2.3 Scalability
There was a time when if we have to increase our system requirement we had to start from
scratch. For example an any instant our used databases overflowed, than we have to use new
storage infrastructure and have to take care the old data by own. But in cloud technology we
do not have to do anything just have to inform the provider and pay extra cost if applicable
and within minutes our storage is expanded.
2.2.4 Maintenance
This is fact that in software industry maintenance cost of any software is way higher
than production cost. Cloud computing technology has proved it self the perfect solution
for maintenance problem. You get regular notification of your application, statistics and
vulnerabilities. It also suggests the proper methods to make application up and running
smoothly.
2.2.5 Accessibility
This is one of the most important feature of the cloud technology that we do not have to
find any particular place with some resources, simply if we have access to the cloud service
provided we can access anything about application.
7
Chapter 2 Literature Review
8
Chapter 2 Literature Review
9
Chapter 2 Literature Review
10
Chapter 2 Literature Review
11
Chapter 2 Literature Review
• Cloudlet : This class is most frequently used in this project. A cloudlet in CloudSim
is equivalent to a task/job in real cloud system. It has many elements like file size,
length, output size etc. But most commonly used element is length. When we create
object of this class we have to supply length. Length of Cloudlet actually represent
the size of the task. It is represented in Million Instructions (MI).
12
Chapter 2 Literature Review
• Vm: This class is also most frequently used class. A vm object represent the real
virtual machine in clouds. It has components like ram, size, bandwidth and mips out
of these mips is frequently used. Mips stands for million instruction per second we
can directly relate it with MI of cloudlet.
• Host: This class models a host. We can create any number of objects of this class each
one will represent an actual physical machine with its own processing power, storage,
bandwidth, storage cost etc.
• Datacenter: This class is provided to model core infrastructure. This class works
with host class to create the fully function datacenters. Hosts can be heterogeneous or
homogeneous according to their configuration of the MIPS, Storage and RAM etc.
• DatacenterBroker: This class work as mediator between the SaaS and the Cloud
service provider. It finds most suitable clouds and ask for efficiently used resource
allocation policies which can meet application requirements.
13
experiment for variety of inputs. Multiple experiment has been carried out with changing
the processing power of VMs and length of Cloudlets.[8][10-11]
2.10 Conclusion
This chapter has covered most of the literature, tools and libraries used for this project.
This helps in understanding the upcoming algorithm and techniques which can be easily
implemented in CloudSim. Moreover all experimental results has been generated from
CloudSIm.
Chapter 3
3.1 Introduction
Task scheduling is the method to map virtual machines to the tasks (Cloudlets). We can
also say that scheduler has to choose most suitable VM for a particular cloudlet so that
overall execution time for all the Cloudlets decreased and all the virtual machines do not
sit idle during execution of the Cloudlets. Hence every task scheduling technique must
consider the execution time of cloudlets and utilisation of VMs. The performance of the
datacenters is dependent upon these assignment of VMs to the Cloudlets. Task scheduling is
the NP-Complete problem. Hence task scheduling has high importance in cloud computing.
There has been lot of research and many algorithms and techniques has been developed in
task scheduling field[7-11].
This chapter contains five other section than this. Section 3.2 gives brief introduction
about two types of scheduling used in clouds. Section 3.3 contains input data for upcoming
implementation of various algorithm later in this chapter. Section 3.4 gives the system
configuration of the cloud environment for simulation in Cloudsim. Section 3.5 has detailed
description and their implementation of various algorithms. Finally section 3.6 concludes
the chapter.
15
Chapter 3 Implementation of Generic Task Scheduling Strategies in Clouds
schedulers because of pre-processing phase of static schedulers. All of the studied strategies
for this thesis are static scheduling techniques because all the information of the cloudlets
(Task) and VMs (Resource) is already provided before starting execution phase of the cloud
information service (CIS).
This thesis has explanation of few of the most common scheduling techniques, their
algorithms and their experimental results on CloudSim 3.0.3. These algorithms has been
implemented in CloudSim. Input for each implementation has been taken same for better
understanding and comparison with each other -
Two Datacenters with 2 host on each Datacenters. One of the host has quad-core
processor i.e. it has four processing elements (Pe) and each Pe has processing power of
25000 MIPS. While second host is dual-core mean it has two Pes each with processing
power of 25000 MIPS. Each host has RAM of 8 GB. Other parameter has been taken
as default as provided into CloudSim because they are irrelevant to these experiments.
Datacenter broker starts from first Datacenter for creating virtual machines. If it does not
enough processing units in first Datacenter (DC) it requests to second DC and creates the
virtual machine of requested configuration. At last if both DCs can not provide enough
processing units to create VM of desired configuration that VM will not be created.
As creation of VM is the part of Resource Allocation problem of cloud computing, hence
All experiment rely on default resource allocation mechanism provided in CloudSim, Also
to avoid any case where some requested VM is not created because not enough processing
units available at host level (DC). Hence enough MIPS and multi core processors has been
created for performing experiments.
In next part of thesis there are few of the task scheduling strategies has been studied and
few of them has been experimented fully on CloudSim. Their algorithms and experimental
results are shown with their explanation in further part of this thesis. Inputs for all the
experiments is given in next part of this thesis.
16
Chapter 3 Implementation of Generic Task Scheduling Strategies in Clouds
VM Id MIPS RAM(MB) No of Pe
0 1000 512 1
1 600 512 1
2 300 512 1
3 800 512 1
4 1200 512 1
5 400 512 1
Cloudlet Id MI No of Pe
0 8000 1
1 6000 1
2 4000 1
3 6500 1
4 1200 1
5 3300 1
6 2500 1
7 4400 1
8 7700 1
9 3900 1
10 5400 1
11 1900 1
12 2300 1
13 7100 1
14 5100 1
15 4300 1
16 3500 1
17 2600 1
18 6100 1
19 8500 1
17
Chapter 3 Implementation of Generic Task Scheduling Strategies in Clouds
Following are the task scheduling strategies has been studied before writing this thesis.
Few of them are most common techniques. Few of them are implemented in CloudSim and
experimented for the range of inputs apart from the input given in this thesis.
• Min-Min Scheduling
• Max-Min Scheduling
18
Chapter 3 Implementation of Generic Task Scheduling Strategies in Clouds
19
Chapter 3 Implementation of Generic Task Scheduling Strategies in Clouds
• Overall Execution Time: Minimize total execution time of all submitted task.
There may be other parameters to prioritise the task to be executed. For example Round
Robin technique priority the MCT of the task that is why concept of pre-emption and time
slicing came into picture. Upcoming algorithm of this thesis like SCFP, LCFP , Min-Min,
Max-Min and proposed algorithm has given some priority to the execution time and MCT. It
may be MET or overall execution time, depends upon individual algorithm and its approach.
20
Chapter 3 Implementation of Generic Task Scheduling Strategies in Clouds
Algorithm 1
1: procedure M -M A
2: cloudletList(CL) ⇐= CL1 , CL2 , CL3 , ........ ,CLn
3: vmList(VM) ⇐= V M1 ,V M2 ,V M3 , ..... V Mm
4: while notEmpty(cloudletList) do
5: for each Task(CLi ) in cloudletList(CL) do
6: for each machine(V Mj ) in vmList(VM) do
7: Execij ⇐= Calclulate execution time of task CLi in machine V Mj
8: ET Cij ⇐= Execij
9: end for
10: end for
11: Find Minimum value(ET Cij ) in ETC matrix
12: Assign CLi ⇐= V Mj
13: Delete CLi From cloudletList(CL)
14: end while
15: end procedure
21
Figure 3.2: Graphical representation of LCFP results
schedule the task to them in FCFS manner than this simple approach give much better results
than normal FCFS algorithm. Also in series of experiment it also has been observed that if
we use faster machines first than overall execution time decreases and utilisation of machine
is increases. Hence two basic approaches can be tested. One them is LCFP which targets
tasks with large size should be scheduled to faster machines. The result of this algorithms
are better than normal algorithm.
Step for this approach are -
Table 3.3: Comparison of FCFS, LCFP, FCFP with input vmList and cloudletList
23
Chapter 3 Implementation of Generic Task Scheduling Strategies in Clouds
3.6 Conclusion
Previously discussed generic task scheduling methods gives priority to the task and its
completion time. Problem of small task being executed at last in FCFS is solved by Round
Robin method by introducing the time slice method. Min-min and Max-min methods takes of
small job and bigger jobs schedules first respectively. Only LCFP and SCFP methods only
considers VMs capacity. So task scheduling method has been introduced in next chapter
which not only takes care about smaller task schedules first while to distribute the load to
each VM properly.
24
Chapter 4
Proposed Work
4.1 Introduction
All previously discussed task scheduling strategies are being used in current cloud computing
system according to requirement and priority of the task defined by the end user requesting
cloud services. All of the algorithms discussed in last chapter only consider one aspect of
QoS at a time. Either it reduces execution time of tasks or it improves the utilisation and load
balance of the VMs. A new task scheduling strategy has been proposed which decreases total
execution time of all tasks submitted to VMs and at the same time utilisation of VMs is also
improved. The VM utilisation is studied in terms of makespan which is the total time VMs
has executed task till all tasks in all VMs get executed. Hence makespan of the all VMs is
different and becomes one of the most important parameter to improve to overall Quality
of Service of any Cloud Provider. In other words better makespan of machines represents
that VMs did not sit idle during execution process of tasks. Makespan is also defined and
explained in next part of this chapter.
This chapter is divided into 6 sections excluding this introduction section. Section
4.2 contains the different notations and parameters to understand the proposed
algorithm(SCHFMC). Section 4.3 contains actual algorithm. Section 4.4 briefly explains
the SCHFMC algorithm and its working. Section 4.5 contains information about
implementation in Cloudsim 3.0.3. Section 4.6 has detailed comparative study of four
algorithm SCHFMC,FCFS,SCFP,LCFP with simulation results in Cloudsim and at the end
Section 4.7 Concludes the chapter.
25
Chapter 4 Proposed Work
26
Chapter 4 Proposed Work
4.3 Algorithm
Algorithm 2
1: procedure P A - SCHFMC
2: cloudletList(CL) ⇐= CL1 , CL2 , CL3 , ........ ,CLn
3: CLtotal ⇐= CL1 + CL2 + CL3 + ........ +CLn
4: vmList(VM) ⇐= V M1 ,V M2 ,V M3 , ..... V Mm
5: VMtotal ⇐= V M1 + V M2 + V M3 + ..... + V Mm
6: FTLlist = CreateFTLlist(CL,CLtotal)
7: FMClist = CreateFMClist(VM,VMtotal)
8: SortedFTLlist = Sort FTLlist in Ascending order of FTL value of each Cloudlet
9: if (n == 1 AND m == 1) then
10: CL1 ← V M1
11: else
12: for each Cloudlet(CLi ) in SortedFTLlist do
13: Find the V Mj corresponding to maximum FMC value from FMClist
14: Assign the Cloudlet(CLi ) ⇐= V Mj
15: Update FMClist (F M Cj = F M Cj - F T Li )
16: Where F T Li is FTL value of Cloudlet CLi
17: end for
18: end if
19:
20: function C FTL (CL, CLtotal)
21: CLlist ⇐= A New List
22: for each Cloudlet in CL do
23: F T Llisti ⇐= CLi / CLtotal
24: end for
25: return FTLlist
26: end function
27:
28: function C FMC (V M, V M total)
29: VMlist ⇐= A New List
30: for each Vm in VM do
31: F M Clisti ⇐= V Mi / VMtotal
32: end for
33: return FMClist
34: end function
35: End
36: end procedure
27
Chapter 4 Proposed Work
28
Chapter 4 Proposed Work
29
Chapter 4 Proposed Work
Table 4.6: Final allocation table with assigned VM and Execution Time (TE)
Cloudlet Id MI FTL VM id TE
19 8500 9.03 4 22.26
0 8000 8.48 0 21.5
8 7700 8.17 4 21.61
13 7100 7.53 3 23.12
3 6500 6.89 0 20
18 6100 6.47 1 21.61
1 6000 6.36 3 21.75
10 5400 5.73 4 17.75
14 5100 5.41 5 21
7 4400 4.67 0 15.8
15 4300 4.56 1 18.5
2 4000 4.24 2 21
9 3900 4.14 4 14
16 3500 3.72 3 15.5
5 3300 3.51 5 16.5
17 2600 2.76 0 10.4
6 2500 2.65 1 12.5
12 2300 2.44 2 15.33
11 1900 2.03 3 9.5
4 1200 1.21 4 5
Total 94,300 100% 344.63
30
Chapter 4 Proposed Work
4.6.1 Experiment 1
This experiment is carried out for the 5 virtual machines and 20 cloudlets. All four algorithms
have been implemented for the same set of inputs of VMs and Cloudlets. The configuration
of VMs and Cloudlets has been give in Table 4.7 and Table 4.8 respectively. Final results
with execution time of each task from algorithm has been given in Table 4.9. The graph of
final results is shown in Figure 4.1.
With only 20 cloudlets proposed algorithm(SCHFMC) performed better than previous
algorithms. It has improved total execution time of all the cloudlets by 15% compared to
FCFS algorithm. Also it has improved time by 25% than FCFP and by 11% over LCFP
algorithm.
VM Id 0 1 2 3 4
MIPS 1390 103 217 1279 1029
CLID 0 1 2 3 4 5 6 7 8 9
MI 2773 9706 6839 4087 8324 10405 11566 6130 6197 9175
CLID 10 11 12 13 14 15 16 17 18 19
MI 3098 10347 2966 9354 5229 3726 11045 6393 6748 8815
31
Chapter 4 Proposed Work
32
Chapter 4 Proposed Work
4.6.2 Experiment 2
This experiment is carried out with 10 VMs and 50 Cloudlets as inputs. The configuration
of virtual machines are given in Table 4.10 and the configuration of the cloudlets has been
given in Table 4.11. The final total time to execute all the cloudlets by each of the algorithm
has been provided in Table 4.12. Figure 4.2 represents the graphical form of the results.
In this experiment proposed algorithm(SCHFMC) performed much better than other
algorithm. Here proposed algorithm(SCHFMC) improved the total execution by upto 39%
of the FCFS algorithm, 37% of the SCFP algorithm and upto 24% improvement over FCFP
algorithm. This experiment explains that proposed algorithm(SCHFMC) performs in much
better way as number of cloudlets increases.
VMID 0 1 2 3 4 5 6 7 8 9
MIPD 1095 24 796 1973 346 1802 1923 1794 1878 961
33
Chapter 4 Proposed Work
4.6.3 Experiment 3
In this experiment, Series of random variations has been studied. It is consist of 5
experiments and its graphical representation each with 10 VMs and 50 Cloudlets. Graphical
results has been shown from Figure 4.3
MI of each cloudlet lies some random value between 1000 to 9000 and
MIPS of each VM lie some random value between 0 to 2000
One experiment with 20 VMs and 200 Cloudlets has been carried out and as prevous
experiment proposed algorithm(SCHFMC) performs much better than other algorithms.
Results has been shown in last image of Figure 4.3.
In multiple simulation with 20 VMs and 200 Cloudlets proposed algorithm(SCHFMC)
has improved total execution time of all 200 Cloudlets by 25% over FCFS algorithm, 27%
over SCFP and over 21% over LCFP algorithm.
34
Figure 4.3: Graph for results of Experiment 3
4.7 Conclusion
This proposed algorithm(SCHFMC) has proper load balancing mechanism which improved
makespan of each VM significantly. Moreover overall task completion time also decreases
gradually. Multiple experiment with various input has been carried out and in all it perform
very well. In all three experiments proposed algorithm has improved total execution time
of all the cloudlets by VMs by 26% over FCFS assignment, 30% over SCFP scheduling
while 19% improvement over LCFP scheduling. Table 4.13 shown the performance
of the proposed algorithm(SCHFMC) compared to other algorithm as found in previous
experiments.
Conclusion
5.1 Conclusion
Task Scheduling is one of the major issue in cloud computing environment. Because it is
responsible for the execution of the tasks also better utilization of the resources is analysed
by task scheduling methods. Task scheduling policies must take care that task is executed
according to the priority set by user. If user want that his task must executed according
to completion time of task than scheduler must take care of completion time by keeping
in mind that utilization of resources like VMs improves. From the thesis it is clear that
proposed task scheduling algorithms performs much better than algorithm discussed and
analysed in previous chapter of thesis. Proposed algorithm takes care that load on each
machine is equally distributed hence it has proper load balancing schemes. In the end total
completion time of all task significantly decreased and make span of each VM is improved
significantly.
The proposed algorithm of this thesis has proper load balancing strategies that is why
it has performed very well. This algorithm is scales and gives same improvement. As
increment of the cloudlets to the same number of virtual machines, it gives more better
results and improved makespan of each virtual machine.
36
Bibliography
[1] Fox, Armando and Griffith, Rean and Joseph, Anthony and Katz, Randy and Konwinski,
Andrew and Lee, Gunho and Patterson, David and Rabkin, Ariel and Stoica, Ion Above
the clouds: A Berkeley view of cloud computing, Dept. Electrical Eng. and Comput.
Sciences, University of California, Berkeley, Rep. UCB/EECS, 2009.
[2] Dikaiakos, Marios D and Katsaros, Dimitrios and Mehra, Pankaj and Pallis, George and
Vakali, Athena ; Cloud computing: Distributed internet computing for IT and scientific
research, Internet Computing, IEEE, 2009.
[3] Zhang, Qi and Cheng, Lu and Boutaba, Raouf ; Cloud computing: state-of-the-art and
research challenges; Journal of internet services and applications, 2010.
[4] Peter Mell, Timothy Grance The NIST Definition of Cloud Computing, National
Institute of Standards and Technology, Special Publication 800-145, 2009.
[5] Calheiros Rodrigo N and Ranjan Rajiv and Beloglazov, Anton and De Rose, Buyya
Rajkumar ; CloudSim: a toolkit for modeling and simulation of cloud computing
environments and evaluation of resource provisioning algorithms; Software: Practice
and Experience, Vol 41, no 2, p23-50, 2011.
[6] Calheiros Rodrigo N and Ranjan Rajiv and Buyya Rajkumar ; Cloudsim: A novel
framework for modeling and simulation of cloud computing infrastructures and services;
arXiv preprint arXiv:0903.2525, 2009.
[8] Sun, Hong and Chen, Shi-ping and Jin, Chen and Guo, Kai ; Research and simulation
of task scheduling algorithm in cloud computing; TELKOMNIKA Indonesian Journal of
Electrical Engineering, Vol 11, No 11, p6664-6672 2013.
[9] Bala, Anju and Chana, Inderveer ; A survey of various workflow scheduling algorithms
in cloud environment; 2nd National Conference on Information and Communication
Technology (NCICT), pages 26-30, 2011.
37
BIBLIOGRAPHY BIBLIOGRAPHY
[10] Tilak, Sujit and Patil, Dipti ; A survey of various scheduling algorithms in cloud
environment; International Journal of Engineering Inventions, Vol 1, No 2, P36-39,
2012.
[11] Chawla, Yogita and Bhonsle, Mansi ; A study on scheduling methods in cloud
computing; International Journal of Emerging Trends & Technology in Computer Science
(IJETTCS), Vol 1, No 3, p12–17, 2012.
[12] Wu, Xiaonian and Deng, Mengqing and Zhang, Runlian and Zeng, Bing and Zhou,
Shengyuan ; A task scheduling algorithm based on QoS-driven in cloud computing;
Procedia Computer Science, Vol 17, P1162-1169 2013.
[13] Tripathy, Lipsa and Patra, Rasmi Ranjan; Scheduling in cloud computing; International
Journal on Cloud Computing: Services and Architecture (IJCCSA), Vol 4, No 5, p21–7,
2014.
[15] Agarwal, Dr and Jain, Saloni and others ; Efficient optimal algorithm of task scheduling
in cloud computing environment; arXiv preprint arXiv:1404.2076, 2014.
[16] Singh, Lal Shri Vratt and Ahmed, Jawed ; A GREEDY ALGORITHM FOR
TASK SCHEDULING & RESOURCE ALLOCATION PROBLEMS IN CLOUD
COMPUTING; International Journal of Research & Development in Technology and
Management Science–Kailash, Vol 21, No 1, 2014.
[17] Chang, Fangzhe and Ren, Jennifer and Viswanathan, Ramesh ; Optimal resource
allocation in clouds; Cloud Computing (CLOUD), 2010 IEEE 3rd International
Conference on, p418-425, 2010.
[18] Reddy, J Geetha and others ; A Review Work On Task Scheduling In Cloud
Computing Using Genetic Algorithm; International Journal of Technology Enhancements
and Emerging Engineering Research, Vol 2, No 8, P241–245, 2013.
[20] Gulati, Ajay and Chopra, Ranjeev K ; Dynamic round robin for load balancing in a
cloud computing; International Journal of Computer Science and Mobile Computing, Vol
2, No 6, p274–278, 2013.
38
BIBLIOGRAPHY BIBLIOGRAPHY
[21] Guo, Lizheng and Zhao, Shuguang and Shen, Shigen and Jiang, Changyuan ; Task
scheduling optimization in cloud computing based on heuristic algorithm; Journal of
Networks, Vol 7, No 3, p547–553, 2012.
[22] Li, Kai and Wang, Yong and Liu, Meilin ; A Task Allocation Schema Based on
Response Time Optimization in Cloud Computing; arXiv preprint arXiv:1404.1124,
2014.
[23] Bhoi, Upendra and Ramanuj, Purvi N ; Enhanced max-min task scheduling algorithm
in cloud computing; International Journal of Application or Innovation in Engineering
and Management, Vol 2, No 4, p259–264, 2013.
[24] Elzeki, OM and Reshad, MZ and Elsoud, MA ; Improved max-min algorithm in Cloud
computing; International Journal of Computer Applications, Vol 50, No 12, 2012.
[25] Liu, Gang and Li, Jing and Xu, Jianchao ; An improved min-min algorithm in cloud
computing; Proceedings of the 2012 International Conference of Modern Computer
Science and Applications, p47–52, 2013.
Zhao, Chenhong and Zhang, Shanshan and Liu, Qingfeng and Xie, Jian and Hu,
Jicheng; Independent tasks scheduling based on genetic algorithm in cloud computing;
Wireless Communications, Networking and Mobile Computing, 2009. WiCom’09. 5th
International Conference , p1–4, 2010.
[26] Shah, MR Manan D and Kariyani, MR Amit A and Agrawal, MR Dipak L; Allocation
Of Virtual Machines In Cloud Computing Using Load Balancing Algorithm; IJCSITS),
ISSN, p2249–9555, 2013.
[27] Das, Pranesh and Khilar, Pabitra Mohan ; LBVFT: A Load Balancing Technique
for Virtualization and Fault Tolerance in Cloud Computing; International Journal of
Computer Applications, Vol 69, No 28, p14-18, 2010.
[28] Kaur, Rajwinder and Luthra, Pawan; Load Balancing in Cloud Computing;
Proceedings of International Conference on Recent Trends in Information,
Telecommunication and Computing, ITC, 2012.
[29] Katyal, Mayanka and Mishra, Atul ; A Comparative Study of Load Balancing
Algorithms in Cloud Computing Environment; arXiv preprint arXiv:1403.6918, 2014.
[30] Ma, Tinghuai and Chu, Ya and Zhao, Licheng and Ankhbayar, Otgonbayar ; Resource
allocation and scheduling in cloud computing: Policy and algorithm; IETE Technical
Review, Vol 31, No 1, p4–16, 2014.
[31] Piraghaj, Sareh Fotuhi and Calheiros, Rodrigo N and Chan, Jeffrey and Dastjerdi,
Amir Vahid and Buyya, Rajkumar ; Virtual Machine Customization and Task Mapping
39
Architecture for Efficient Allocation of Cloud Data Center Resources; The Computer
Journal, 2015.
[32] Somani, Rajkumar and Ojha, Jyotsana ; A Hybrid Approach for VM Load Balancing
in Cloud Using CloudSim; International Journal of Science, Engineering and Technology
Research (IJSETR), Vol 3, No 6, 2014.
[33] Ray, Soumya and De Sarkar, Ajanta ; Execution analysis of load balancing algorithms
in cloud computing environment; International Journal on Cloud Computing: Services
and Architecture (IJCCSA), Vol 2, No 5, p1–13, 2012.
[34] Parsa, Saeed and Entezari-Maleki, Reza ; RASA: A new task scheduling algorithm in
grid environment; World Applied sciences journal, Vol 7, p152–160, 2009.
[35] Rawat, Pradeep Singh and Saroha, GP and Barthwal, Varun ; Quality of service
evaluation of SaaS modeler (Cloudlet) running on virtual cloud computing environment
using CloudSim; International Journal of Computer Applications, Vol 53, No 13, 2012.