2. RESOURCE SCHEDULING ALGORITHM
Seminar
Submitted in partial fulfillment of the requirements
For the degree of
Bachelor of Technology in Information Technology
By
SHILPA DAMOR
09BIT007
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
AHMEDABAD-382481
April 2013
3. 3
Certificate
This is to certify that the Seminar entitled ”RESOURCE SCHEDULING ALGORITHM(CLOUD COM-
PUTING)” submitted by SHILPA DAMOR (09BIT007) , towards the partial fulfillment of the requirements
for the degree of Bachelor of Technology in information technology of Nirma University of Science and Tech-
nology, Ahmedabad is the record of work carried out by him under my supervision and guidance. In my
opinion, the submitted work has reached a level required for being accepted for examination. The results
embodied in this Seminar, to the best of my knowledge, haven’t been submitted to any other university or
institution for award of any degree or diploma.
Prof. preeti kathiria, Prof. Vibha ptel,
Assistant Professor, Associate Professor
Dept. of Computer Science & Engg., Dept. of Computer Science & Engg.,
Institute of Technology, Institute of Technology,
Nirma University, Ahmedabad Nirma University, Ahmedabad
Dr.Sanjay Garg
Professor and Head of Department,
Dept. of Computer Science & Engg.,
Institute of Technology,
Nirma University, Ahmedabad
4. 4
Abstract
Goal of a seminar is to understand and research about resource scheduling recently in used and briefly
describe about various application of resource scheduling.some of topics which covers in the seminar are
following:
ˆ what is resource scheduling
ˆ Need of resource scheduling
ˆ resource scheduling algorithm work on different algorithm which are support it.
ˆ explain support algorithm.
ˆ application of different algorithm
There is one point is resource scheduling algorithm which helpful for resource allocation, resource provisioning
needs reliable and efficient support of negotiation ,monitoring, metering, and feedback
5. 5
Acknowledgements
I would like to express my heartfelt gratitude to Prof. Vibha patel,Associate Professor in Department of
computer science and engineering for his valuable time and guidance that made the seminar project work
a success. Thanking all my friends and all those who had helped me in carrying out this work. I am also
indebted to the library resources centre and interest services that enabled us to ponder over the vast subject
of ”resource scheduling”.
I am also gratefull to my Seminar faculty prof. Prof.preeti katheria who gave us enormous advice and help
me in my seminar to be fulfilled successfully.
- SHILPA DAMOR.
09BIT007
8. Chapter 1
Introduction of cloud computing
Cloud computing is nothing but it is a collection/group of integrated and networked hardware, software and
Internet infrastructure (called a platform).
In addition, the platform provides on demand services, that are always on, anywhere, anytime and any place.
Cloud computing technology virtualizes and offers many services across the network. It mainly aims at scal-
ability, availability, throughput, and resource utilization
What is resource scheduling?
ˆ Resource scheduling is a way of determining schedule On which activities should be performed.
ˆ Demand for resource.
ˆ resources scheduling strategy is the key technology in cloud computing
How data is proceeds:
Figure 1.1: how data is proceeds
8
10. Chapter 2
NEED OF RESOURCE
SCHEDULING ALGORITHM
2.1 About RSA
ˆ Minimize the variation during the resource demand
ˆ Improve efficiency
ˆ Reflect reality
ˆ Modifying activities within time , in other word modify resource loading for each unit of time.
2.2 Technical aspects
ˆ Not every technology is absolutely new, but is enhanced to realize a specific feature, directly or as a
pre-condition.
ˆ Virtualization is an essential characteristic of cloud computing. Virtualization in clouds refers to
multi-layer hardware platforms, operating systems, storage devices, network resources, etc.
ˆ The first prominent feature of virtualization is the ability to hide the technical complexity from users, so
it can improve independence of cloud services. Secondly, physical resource can be efficiently configured
and utilized, considering that multiple applications are run on the same machine.
ˆ Thirdly, quick recovery and fault tolerance are permitted.
ˆ Virtual environment can be easily backed up and migrated with no interruption in service
2.3 Resource managment
ˆ From the providers point of view, large scale of virtual machines needs to be allocated to thousands of
distributed users, dynamically, fairly, and most important, profitably.
ˆ From the consumers point of view, users are economy-driven entities when they make the decision to
use cloud service
10
11. Chapter 3
Types of algorithm
ˆ genetic algorithm
ˆ bee algorithm
ˆ ant colony algorithm
ˆ work flow algorithm
ˆ load balance algorithm
3.1 genetic algorithm
3.1.1 introduction of genetic algorithm
ˆ This work describes a genetic algorithm approach to resource-constrained scheduling using a direct,
time-based representation
ˆ This document describes a genetic algorithm for finding optimal solutions to dynamic resource-constrained
scheduling problems.
ˆ the genetic algorithm was applied to over 1000 small job shop and project scheduling problems (10-300
activities, 3-10 resource types).the algorithm performed fairly well on a wide variety of problems.genetic
algorithms operate on a population of solutions rather than a single solution and employ heuristics
such as selection, crossover, andmutation to evolve better solutions.
3.1.2 step of genetic algorithm
ˆ it is necessary to encode any possible solution of the problem as population.
ˆ The next step is to generate an initial population from valid chromosomes(population).
ˆ During each successive generation, a proportion of the existing population is selected to breed a new
generation.
ˆ Genetic operators
The next step is to generate a second generation population of solutions from those selected through
genetic operators: crossover (also called recombination), and/or mutation. For each new solution to
be produced, a pair of ”parent” solutions is selected for breeding from the pool selected previously.
By producing a ”child” solution using the above methods of crossover and mutation, a new solution is
created which typically shares many of the characteristics of its ”parents”. New parents are selected
for each new child, and the process continues until a new population of solutions of appropriate size
is generated. Although reproduction methods that are based on the use of two parents are more
”biology inspired”, some research[3][4] suggests that more than two ”parents” generate higher quality
chromosomes.
11
12. CHAPTER 3. TYPES OF ALGORITHM 12
ˆ termination
This generational process is repeated until a termination condition has been reached. Common termi-
nating conditions are: A solution is found that satisfies minimum criteria
Fixed number of generations reached
Allocated budget (computation time/money) reached
The highest ranking solution’s fitness is reaching or has reached a plateau such that successive itera-
tions no longer produce better results
Manual inspection
Combinations of the above
3.1.3 Advantage
used to generate useful solutions to optimization and search problems.
3.1.4 disadvantage
The genetic algorithm performed well on someproblems that were very difficult for the branch and
bound techniques (i.e. the branch andbound method took a long time to find the optimal solution
the genetic algorithm did not perform well on problems inwhich the resources were tightly constrained.
This comes as little surprise since therepresentation forces the genetic algorithm to search for resource-
feasibility, and tightlyconstrained resources mean fewer resource-feasible solutions
the genetic algorithm did not perform well on the jobshop problem
3.1.5 application
ˆ bioinformatics
ˆ phylogenetics
ˆ computational science
ˆ engineering
ˆ economics
ˆ chemistry
ˆ manufacturing
ˆ mathematics
ˆ physics
13. CHAPTER 3. TYPES OF ALGORITHM 13
3.2 bee algorithm
3.2.1 introduction of bee algorithm
It is a nature inspired algorithm which tries to track the activities of bee to get their food.
First they select scout bee to go and search a wide domain of areas, if a scout bee finds a poten-
tial food resource it returns to its hive and does a waggle dance which tells other bees the direction and
the distance of the potential food resource. A set of selected bees goes to the food resource and starts
bringing in the honey while other scout bees does the same work and sets of bees are sent to different
location to bring in the food. After every identification of a food resource the scout bee informs others
and sets its course for other new sites nearby the potential food resource.
Using this activities we define terms as in no of scout bees (n), no of sites selected out of n visited sites
(m), no of best sites out of whole set (e), no of bees recruited for the best sites e (nep), no of bees
recruited for other sites (m-e)
3.2.2 step of bee algorithm
ˆ Initialize population with random solutions.
ˆ Evaluate fitness of the population.
ˆ While (stopping criterion not met)
ˆ Select sites for neighborhood search
ˆ Recruit bees for selected sites (more bees for best e sites) and evaluate fitness.
ˆ Select the fittest bee from each patch.
ˆ Assign remaining bees to search randomly and evaluate their fitness.
ˆ End While.
3.2.3 application
ˆ Training neural networks for pattern recognition.
ˆ Forming manufacturing cells.
ˆ Scheduling jobs for a production machine.
ˆ Solving continuous problems and engineering optimization.
ˆ Finding multiple feasible solutions to a preliminary design problems.
ˆ Data clustering
ˆ Optimising the design of mechanical components.
ˆ Multi-Objective Optimisation. a fuzzy logic controller for a robot gymnast. Vision and Image Analysis.
14. CHAPTER 3. TYPES OF ALGORITHM 14
3.3 ant colony algorithm
3.3.1 introduction of ant colony algorithm
same as bee algorithm. it is work done as bee algorithm
the first algorithm was aiming to search for an optimal path in a graph, based on the behavior of
ants seeking a path between their colony and a source of food.
3.3.2 step of ant colony algorithm
ˆ The first ant finds the food source (F), via any way (a), then returns to the nest (N), leaving behind
a trail pheromone (b)
ˆ Ants indiscriminately follow four possible ways, but the strengthening of the runway makes it more
attractive as the shortest route.
ˆ Ants take the shortest route; long portions of other ways lose their trail pheromones.
3.3.3 application
ˆ Ant Colony Optimization with Fuzzy Logic
This method introduces fuzzy intelligence into ants to accelerate searching ability
15. CHAPTER 3. TYPES OF ALGORITHM 15
3.4 work flow algorithm
3.4.1 introduction of work flow algorithm
Workflow scheduling is the problem of mapping each task to appropriate resource and allowing the
tasks to satisfy some performance criterion. Workflow is processes that consist of a series of steps
which simplifies the complexity of executions and management of applications.
3.4.2 key concept
The main concepts dealing in this paper are cloud computing and workflow scheduling. Cloud com-
puting is a term that involves delivering hosted services over the Internet. Workflow scheduling is the
problem of mapping each task to appropriate resource allowing the tasks to satisfy some performance
criterion
3.4.3 step of worl flow algorithm
A workflow enables the structuring of applications in a directed acyclic graph form where each node
represents the task and edges represent the dependencies between the nodes of the applications
A single workflow consists of a set of tasks and each task communicate with another task in the
workflow. Workflows are supported by Workflow Management Systems.
Workflow scheduling discovers resources and allocates tasks on suitable resources.
Workflow scheduling plays a vital role in the workflow management
Proper scheduling of workflow can have an efficient impact on the performance of the system.
For proper scheduling in workflows various scheduling algorithms are used.
3.4.4 advantage
With the emerging of cloud computing, cloud workflow systems are designed to facilitate the cloud in-
frastructure to support large scale distributed collaborative e-business and e-science applications. The
management and scheduling of resources in Cloud environment is complex, and therefore demands
sophisticated tools for analysis the algorithm before applying them to the real system.
3.4.5 disadvantage
Existing workflow algorithms does not consider the execution time. Therefore there is a need to
implement a new scheduling algorithm that can minimize the execution time in cloud environment.
Moving workflows to a cloud computing environment enables the use of various cloud services to
facilitate workflow execution.
16. CHAPTER 3. TYPES OF ALGORITHM 16
3.5 load balance algorithm
3.5.1 introduction of load balance algorithm
why we need load balancing in cloud?
to achieve optimal resource utilization, maximize throughput, minimize response time, and avoid over-
load. Using multiple components with load balancing, instead of a single component, may increase
reliability through redundancy.
The load balancing service is usually provided by dedicated software or hardware, such as a multilayer
switch or a Domain Name System server.
3.5.2 application
One of the most used common applications of load balancing is to provide a single Internet service
from multiple servers, sometimes known as a server farm.
Commonly, load-balanced systems include popular web sites, large Internet Relay Chat networks,
high-bandwidth File Transfer Protocol sites, Network News Transfer Protocol (NNTP) servers and
Domain Name System (DNS) servers.
Lately, some load balancers have evolved to support databases; these are called database load bal-
ancers.alancers.