Assesement on Grid Computing Using Priority Scheduler Nawneet Kumar Pandey

advertisement
International Journal of Engineering Trends and Technology (IJETT) – Volume 8 Number 3- Feb 2014
Assesement on Grid Computing Using Priority Scheduler
Nawneet Kumar Pandey1, Rajkumar Goel2, Mayank Kr. Maheshwari3
Abstract— Grid Computing has emerged as an
important new field focusing on resource sharing.
One of the most challenging issues in Grid
Computing is efficient scheduling of tasks. Load
Balancing is a technique to improve parallelism,
utilization of resources increasing throughput
managing and to reduce response time through proper
distribution of the tasks. Generally there are three
type of phases related to Load balancing i.e.
Information Collection, Decision Making, Data
Migration. In this paper, we propose a Load
balancing algorithm for optimal scheduling. It
scheduled the task by minimum completion time and
rescheduled by waiting time of each task to obtain
load balance. This algorithm scheme tries to provide
optimal solution so that it reduces the execution time
and expected price for the execution of all the jobs in
the grid system is minimized. Load balancing
algorithms is of two types, static and dynamic. Our
algorithms in this paper based on dynamic nature.
Keywords— Execution Cost, Resource Monitoring,
Computational Grid,
Load balancing, Priority
scheduler.
I. INTRODUCTION
The rapid development in computing resources has
enhanced the performance of computers and reduced
their costs. This availability of low cost powerful
computers coupled with the popularity of the Internet
and high-speed networks has led the computing
environment to be mapped from distributed to Grid
environments [1]. In fact, recent researches on
computing architectures are allowed the emergence
of a new computing paradigm known as Grid
computing. Grid is a type of distributed system which
supports the sharing and coordinated use of
geographically
distributed
and
multi-owner
resources, independently from their physical type and
location, in dynamic virtual organizations that share
the same goal of solving large-scale applications.
In order to fulfill the user expectations in terms of
performance and efficiency, the Grid system needs
efficient load balancing algorithms for the
distribution of tasks. A load balancing algorithm
attempts to improve the response time of user’s
submitted applications by ensuring maximal
utilization of available resources. The main goal is to
ISSN: 2231-5381
prevent, if possible, the condition where some
processors are overloaded with a set of tasks while
others are lightly loaded or even idle [2]. Although
load balancing problem in conventional distributed
systems has been intensively studied, new challenges
in Grid computing still make it an interesting topic
and many research projects are under way. This is
due to the characteristics of Grid computing and the
complex nature of the problem itself. Load balancing
algorithms in classical distributed systems, which
usually run on homogeneous and dedicated resources,
cannot work well in the Grid architectures.
Grid computing, individual users can retrieve
computers and data, transparently, without taking
into account the location, operating system, account
administration, and other details. In Grid computing,
the details are abstracted, and the resources are
virtualized. Grid Computing should enable the job in
question to be run on an idle machine elsewhere on
the network [6] The main task of grid computing is
the allocation of resources for a process; i.e.,
mapping of tasks to various resources. For example,
mapping of 100 tasks into 20 resources produces
20^50 possible mappings. This is because every job
can be mapped to any of the resources. In our case
the allocation of jobs is in terms of reallocation which
means depending on the status of resources either it is
heavily loaded or not. Here resource means
processors which are involved in the scheduling
process. We used resources and processors
simultaneously. The other complexity of resource
allocation is the lack of accurate information about
the status of the resources.
Before scheduling the tasks in the grid environment,
the characteristics of the grid should be taken into
account. Some of the characteristics of the grid
include
Geographical distribution where the resources of
grid may be located at distant places
Heterogeneity, a grid consists of hardware as well
as software resources that may be files, software
components, sensor programs, scientific instruments,
display devices, computers, supercomputers networks
etc.
Resource sharing, different organizations may own
the resources of the grid
http://www.ijettjournal.org
Page 159
International Journal of Engineering Trends and Technology (IJETT) – Volume 8 Number 3- Feb 2014
Multiple administrations, each organization may
establish different security and administrative
policies to access their resources
Resource coordination, to get combined computing
capabilities, grid resources must be coordinated
[4].Scheduling is highly complicated by the
distributed ownership of the grid resources as Load
balancing algorithm are two type static and dynamic,
In the case of static scheduling, all the information
regarding the tasks and resources such as execution
time of the tasks, speed of the processor are available
by the time the application is scheduled.
In this type of Scheduling, it is easy to program from
the scheduler‟s point of view. But in the case of
dynamic scheduling, the execution time of the tasks
may not be known due to the direction of branches,
number of iterations in the loop etc. So, the task has
to be allocated on the fly as the application executes.
Both static and dynamic scheduling are widely
adopted in the grid. Here, system need not be aware
of the run time behavior of the application before
execution and dynamic load balancing algorithms
distributes the tasks among workstations at run-time;
they use current or recent load information when
making
distribution
decisions
of
tasks.
Multicomputers with dynamic load balancing
allocate/reallocate resources at runtime based on no a
priori task information, which may determine when
and whose tasks can be migrated [7]. As a result,
dynamic load balancing algorithms can provide a
major improvement in performance over static
algorithms. However, this comes at the additional
cost of collecting and maintaining load information,
so it is important to keep these overheads within
reasonable limits [8]. There are three major
parameters which usually define the strategy a
specific load balancing algorithm will employ [9].
These three parameters answer three important
questions:
 Who makes the load balancing decision?
 What information is used to make the load
balancing decision, and
our study is to consider factors which can be used as
characteristics for decision making to initiate Load
Balancing. Load Balancing is one of the most
important factors which can affect the performance of
the grid application.
This thesis work analyzes the existing Load
Balancing modules and tries to find out
performance bottlenecks in it. All Load Balancing
algorithms implement five policies [7]. The
efficient implementation of these policies decides
overall performance of Load Balancing algorithm.
The main objective of this thesis is to propose an
efficient Load Balancing Algorithm for Grid
environment.

Main difference between existing Load
Balancing algorithm and proposed Load
Balancing is in implementation of three
policies: Information Policy, Triggering
Policy and Selection Policy.

For implementation of Information Policy
all existing Load Balancing algorithm use
periodic approach, which is time
consuming. The proposed approach uses
activity based approach for implementing
Information policy.

For Triggering Load Balancing proposed
algorithm uses two parameters which
decide Load Index. On the basis of Load
Index Load Balancer decide to activate
Load Balancing process.

For implementation of Selection Policy
Proposed algorithm uses Job length as a
parameter, which can be used more
reliably to make decision about selection
of job for migration from heavily loaded
node to lightly loaded node.
As a result the following things have been addressed
in this paper:
 Where the load balancing decision is made.
2. PROBLEM STATEMENT
•
Study of existing Load Balancing algorithm
for a Grid environment
In grid environments, the shared
resources are dynamic in nature, which in turn affects
application performance. Workload and resource
management are two essential functions provided at
the service level of the Grid software infrastructure.
To improve the global throughput of these
environments, effective and efficient load balancing
algorithms are fundamentally important. The focus of
•
A Load Balancing algorithm has been
proposed and executed in the simulated
Grid environment.
ISSN: 2231-5381
This thesis aims is to design and development of
a performance efficient Load Balancing
algorithm which overcomes the shortcomings of
the current state of the art in the context.
http://www.ijettjournal.org
Page 160
International Journal of Engineering Trends and Technology (IJETT) – Volume 8 Number 3- Feb 2014
3.
PROPOSED
ALGORITHM
LOAD
BALANCING
be categorized as following:
Load balancing is defined as the
allocation of the work of a single application to
processors at run-time so that the execution time of
the application is minimized. This chapter is going to
discuss the design of proposed Load Balancing
algorithm.
3.1 Background
The choice of a load balancing algorithm
for a Grid environment is not always an easy task.
Various algorithms have been proposed in the
literature, and each of them varies based on some
specific application domain. Some load balancing
strategies work well for applications with large
parallel jobs, while others work well for short, quick
jobs. Some strategies are focused towards handling
data-heavy tasks, while others are more suited to
parallel tasks that are computation heavy. While
many different load balancing algorithms have been
proposed, there are four basic steps that nearly all
algorithms have in common:
o Monitoring workstation performance (load
monitoring)
o
o
Exchanging this information
workstations (synchronization)
Actual data movement (job migration)
Efficient Load Balancing algorithm makes Grid
Middleware efficient and which will ultimately leads
to fast execution of application in Grid environment.
In this work, an attempt has been
made to formulate a decentralized, sender-initiated
load balancing algorithm for Grid environments
which is based on different parameters. One of the
important characteristics of this algorithm is to
estimate system parameters such as queue length and
CPU utilization of each participating nodes and to
perform job migration if required.
OF
LOAD
BALANCING
Load balancing should take place
when the load situation has changed. There are some
particular activities which change the load
configuration in Grid environment. The activities can
ISSN: 2231-5381
o
Completion of execution of any job.
o
Arrival of any new resource
o
Withdrawal of any existing resource.
4.1PROPOSED ALGORITHM FOR RESOURCE
ALLOCATION IN GRID COMPUTING
PRIORITY SCHEDULAR (P S) MODEL :
Let M is the number of process in process queue ‘Pq’
is indicated byP2
…
Pm
between
Calculating new distributions and making
the work movement decision (rebalancing
criteria)
4.
DESIGN
ALGORITHM
Arrival of any new job and queuing of that
job to any particular node.
Whenever any of these four activities happens
activity is communicated to master node then load
information is collected and load balancing condition
is checked. If load balancing condition is fulfilled
then actual load balancing activity is performed.
Following is the proposed algorithm for Load
Balancing:
P1
o
o
Process are allocated to N number of Resources
queue ‘Rq’ resources queueR1
R2
….
Rn
Resource queue is maintained according to the
priority of the resources as given below:
The resources which have low loading factor have
assigned a higher priority and which have high
loading factor have assigned a lower priority.
Then we can find the overall cost process execution
in terms of timeLet t1, t2, t3………..tn are the time of execution of
individual process.
Let T(Pi, Rj) be the total cost for ith process in jth
resources can be calculated asm n
m n
Σ Σ T(Pi, Rj)=Σ Σ ti×PR+ CT
I=0 J=0
I=0 J=0
Where ti is the execution time of process
PR= Priority Number
CT= Communication Time
http://www.ijettjournal.org
Page 161
International Journal of Engineering Trends and Technology (IJETT) – Volume 8 Number 3- Feb 2014
Load factor of a given resource is calculated as:
Algorithm for finding load factor:
In this algorithm we are assuming that all recourses
are free i.e. there are currently no process is running
when we start Load _Factor algorithm –
4.2 Function StartLoad Factor ()
{
// Initialize load factor algorithm
Shows priority VS. Load factor
Step1. Initialize the process_queue ‘Pq’
And resources_queue ‘Rq’
Pseudo Code Related To Load Balancing
Algorithm Priority Scheduler (PS) –
Function LB_Start
{
Start
Call Load_ Factor ()
Step1. If (Priority of resources is Maximum
and CPU queue length is Maximum)
Then load factor is maximum
Heavily loaded_Resources
End if
Step2. Loop Begin
For every resources i=1 to n
Step3. Set the load factor of every resource
is Ri =0
Step4. Set the priority of every resource is 1
And insert the resources in a priority
Queue
Loop End
Step5. For every process in process queue
‘Pq’
Step2. If ( Priority of resources is minimum
and CPU queue length is minimum)
Then load factor is minimum
Lightly loaded_Resources
End if
Step6. Assign the process to the resources
which is in the FRONT of the priority
queue
Step7. Update the priority of resources in
‘Rq’
SET Rp=Rp+1
Step3. Migrate the process from Heavily
loades_resources to lightly
loaded_resources
End of the algorithm
}
4.3 Functions used in the above algorithm are:-
Step8. When the process execute
successfully then the priority of
resource decrease by 1
By SETTING Rp=Rp-1
End of the for loop
}
Condition_ happens ():
In the load factor algorithm we are setting the load
factor of each resources is zero and priority of each
resources is one because there is no process for
execution. As the process arrives the load factor of
resources increased and priority of resources decrease
i.e. the right arrow indicate increase of load factor
and left arrow indicate the decrease of priority. This
can be shown in the following figure 5.1
ISSN: 2231-5381
This function return Binary value 0 and 1. If any of
above defined condition is true it returns 1 otherwise
it returns 0.
Load Balancing_Start ():
This function also return Binary Value on the basis
of given parameters (Resource priority and queue
length) load balancing will be required it will return 1
else it will return 0. This function also updates two
http://www.ijettjournal.org
Page 162
International Journal of Engineering Trends and Technology (IJETT) – Volume 8 Number 3- Feb 2014
lists:
HeavilyLoaded_Resource
list
and
LightlyLoaded_Resource list.
In the proposed algorithm information is collected
only if there is a change in configuration of Grid.
This information is used to perform load balancing.
Above is the flow diagram of algorithm. First of all it
initializes different parameters. Whenever any of four
activities which are required to start information
policy of load balancing occurs, it starts collecting
load balancing information.
Once information has been gathered then it is decided
that load balancing is required or not. For this
purpose application uses CPU utilization and queue
length parameters. With help of these parameters we
decide which resource is heavily loaded and which
resource is lightly loaded. After selection of resource
the application selects job out of n-jobs running on
that resource. This selection is based upon on CPU
consumption of different jobs. Least CPU consumed
job will be selected for migration. When job is
selected, application checks for available lightly
loaded resource. If lightly loaded resource is
available then migrate selected job from heavily
loaded resource to lightly loaded resource. If no
lightly loaded resource is available then add selected
job to pending job list. This job will be executed later
when some lightly loaded resource will be available.
Finally all the value will be updated in database.
Additionally, it supports check pointing, whereby a
disk image of an active process is stored on the
workstation in order to facilitate both fault tolerance
and process migration.
technique to achieve a high throughput and high
resource utilization.
5. CONCLUSION
we have presented the design the new scheduling
algorithm Priority Scheduler. Our proposed Priority
scheduler completed a task by using highly utilized
low cost resources with minimum computational
time. Our scheduling algorithm uses the priority
queue of resources to achieve a higher throughput.
This algorithm is performing better for task in real
environment. However, in all situations, the proposed
algorithms perform better then the some existing
ones.
But grid application performance remains a challenge
in dynamic grid environment. Resources can be
submitted to Grid and can be withdrawn from Grid at
any moment. This characteristic of Grid makes Load
Balancing one of the critical features of Grid
infrastructure
We implement the above algorithm by using
Gridsim toolkit. we can hybrid the Priority Scheduler
with any evolutionary scheduling algorithm like
Genetic algorithm, Particle Swarm Optimization
6. FUTURE DIRECTIONS
ISSN: 2231-5381
But grid application performance remains a challenge
in dynamic grid environment. Resources can be
submitted to Grid and can be withdrawn from Grid at
any moment. This characteristic of Grid makes Load
Balancing one of the critical features of Grid
infrastructure. There are a number of factors, which
can affect the grid application performance like load
balancing, heterogeneity of resources and resource
sharing in the Grid environment. In this thesis we
have focused on Load Balancing and tried to present
the impacts of Load Balancing on grid application
performance and finally proposed an efficient Load
Balancing algorithm for Grid environment.
Every Load Balancing algorithm implements five
policies. The efficient implementation of these
policies decides overall performance of Load
Balancing algorithm. In this work we analyzed
existing Load Balancing algorithm and proposed an
enhanced algorithm which more efficiently
implements three out of five policies implemented in
existing Load Balancing algorithm. These three
policies are: Information Policy, Triggering Policy
and Selection Policy. Proposed algorithm is executed
in simulated Grid environment.
Load Balancing is one of most important features of
Grid Middleware for efficient execution of compute
intensive applications. The efficiency of Load
Balancing Module overall decides the efficiency of
Grid Middleware.
The work performed in this Project can be used as the
basis for an improved load balancing module in
Condor. This not only improves the performance of
grid application but also makes it more powerful,
reliable and capable of handling more complex and
large problems in Grid environment. A further
extension to this work would be in making this Load
balancing Module a middleware independent module.
References
1. Clovis Chapman1, Paul Wilson2 (2004)
‘Condor services for the Global Grid:
Interoperability between Condor and OGSA’
Proceedings of the UK e-Science All Hands
Meeting, ISBN 1-904425-21-6, pages 870877, Nottingham, UK.
2. I. Foster, C. Kesselman, and S. Tuecke.
(2001) ‘The anatomy of the Grid: Enabling
scalable virtual organization’ International
http://www.ijettjournal.org
Page 163
International Journal of Engineering Trends and Technology (IJETT) – Volume 8 Number 3- Feb 2014
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Journal of Supercomputer Applications.
Jean-Christophe Durand (2004) ‘Grid
Computing a Conceptual and Practical Study’
Proceeding of the Fifth IEEE Workshop on
Grid Computing (GRID’04).
Kai Lu, Riky Subrata and Albert Y. Zomaya
(2002) ‘An Efficient Load Balancing
Algorithm for Heterogeneous Grid Systems
considering Desirability of Grid Sites’
Sydney, Australia.
L. Xiao, Z. Xu. and X.Zhang (2003) ‘Lowcost and reliable mutual anonymity protocols
in peer-to-peer networks’ IEEE Transactions
on Parallel and Distributed Systems, 14(90):
829-840.
Rajkumar Buyya (1999) ‘Grid Computing
and Distributed Systems (GRIDS) Lab’,
Australia.
Ratnesh Kumar Nath, Seema Bawa,
Inderveer Chana (2007) ‘Load Balancing
Issues in Grid Environment’ National
Seminar on Recent Advancement in
Information Technology (RAIT) organized
by Indian School of Mines, Dhanbad .
Ratnesh Kumar Nath, Seema Bawa,
Inderveer Chana (2007) ‘“Load Balancing in
Grid Environment: Strategies, Algorithms
and Policies’
National Symposium on
Security and Soft Computing (NSSC)
organized by National Institute of
Technology, Surat.
F. Azzedin and M. Maheswaran (2002)
‘Evolving and managing
trust in grid
computing systems’ In IEEE Canadian
Conference on Electrical and Computer
Engineering (CCECE), pages 1424-1429.
Moreno Marzolla, Paolo andreetto, Valerio
Venturi, Andrea Ferraro, and Shiraz Memon
et al.(2007) ‘Open standards based
interoperability of job submission and
management interfaces
across the grid
middleware platform’ In Proceedings of the
Third IEEE International Conference on eScience and Grid Computing, Pages 592-601.
Heinz Stockinger (2007) ‘Defining the grid:
a snapshot on the current view’ The Journal
of Supercomputing, (1): 3-17.
I. Foster, et al (2002) ‘The Physiology of the
Grid: An Open GridServices Architecture for
Distributed
Systems
Integration’
GlobusResearch Work in Progress.
C. Mattmann, et al.(2006) ‘A software
Architecture-Based Framework for Highly
Distributed and Data Intensive Scientific
Applications’ In Proceeding of the ICSE.
2006.
ISSN: 2231-5381
14. Czalkowski. K., Fitzgerald S., Foster I. and
Kesselamn C. (2001)‘Grid Information
Services for Distributed Resource Sharing’,
In10th IEEE International Symposium on
High Performance Distributed Computing,
IEEE Press, 181-184.
15. Czalkowski. K., Fitzgerald S., Foster I. and
Kesselamn
C.
(1998)‘A
Resource
Management
Architecture
for
Meta
computing Sys.’ In4th Workshop on Job
Scheduling Strategies for Parallel Processing,
Springer-Verlag, 1998, 62-82.
16. Foster, I., Kesselman, C., Nick, J.M. and
Tuecke, S. (2002)
‘Grid Services for
Distributed Systems Integration’ IEEE
Computer, 35 (6). 2002
17. Foster, I., Kesselman, C., Tsudik, G. and
Tuecke, S. (1998) ‘ASecurity
Architecture for Computational Grids’ In
ACM Conference on Computers and
Security, 1998, 83-91.
http://www.ijettjournal.org
Page 164
Download