Performance Evaluation of Some Grid Programming Models
Document Sample


(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 10, No. 9, September 2012
Performance Evaluation of Some Grid Programming Models
W. A. Awad
Mathematics & Computer Science Department, Faculty of Science, Port Said University, Egypt.
Scientific Research Group in Egypt (SRGE), http://www.egyptscience.net
E-Mail: Waelak71@yahoo.com
Abstract- Grid programming has bringing powerful and cheap computing
properties and capabilities of managing power into the hands of more
computation in the distributed individuals in the form of Commodity-
environment which is typically Off-The-Shelf (COTS) desktops and
heterogeneous and dynamic in addition servers[14]. A new paradigm of
to deepening memory and distributed computing is Grid
bandwidth/latency hierarchy. The grid computing; it provides easy access to
applications need to be heterogeneous large geographical shared computing
and dynamic to run on different types resources which were provided to a
of resources whose configuration may large virtual organization; these
change during run-time. The grid resources are geographically apart
programming models are high-level while appearing to users as one
programming paradigms that prevent device[1]. These shared computing
users from dealing with the low level resources include traditionally local
implementation details. Implementing resources such as memory, storage and
applications with Grid programming CPUs. All these resources are
paradigms is a big challenge to perform connected through the Internet and a
efficiency and it overcomes the task middleware software layer to provide
time-consuming that comes from basic services for security, monitoring,
dealing with excessive low-level details accessing information about
of provided APIs. In this paper three components, etc[15]. Also Grid
programming models are presented and computing is one of many services
discussed; they are P-Grade, which are provided in Grid technology.
JavaSymphony, and OpenGR. Finally It provides secure services for
the evaluation between the models is executing application jobs on
done to find the best performance with distributed computational resources
saving consumed time. individually or collectively. Some
examples of Grid computing are NASA
Keywords: Grid Computing, Grid IPG [9], the World Wide Grid [3], and
Programming, P-Grade, JavaSymphony the NSF TeraGrid[19].
and OpenGR. There are various types of Grid
computing to address multiple
1. Introduction application requirements which can be
summarized as:
Nowadays the distributed
resources become an important
Computational: A computational grid
powerful computation platform that is
is focused on setting aside resources
needed owing to increase the number of
specifically for computing power. In
high bandwidth networks, with a need
this type of grid most of the machines
for decreasing the cost of computing by
are high-performance servers.
.
70 http://sites.google.com/site/ijcsis/
ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 10, No. 9, September 2012
Scavenging: A scavenging grid is most services, data sources and hardware
commonly used with large numbers of resources[16].
desktop machines. Machines are
scavenged for available CPU cycles and Grid programming models consist
of when their resources are available to of tools, conventions, protocols,
participate in the grid. language constructs and a set of
Data grid: A data grid is responsible libraries that encapsulate a useful
for housing and providing an access to functionality[5]. Building effective
data across multiple organizations. applications for the grid is a challenge
Users are not concerned with where this in grid programming environment
data is located as long as they have where the high level programming
access to the data. For example, you language paradigm has to prevent users
may have two universities doing life from dealing with the low level details
science research, each with unique data. of each resource. A programming
A data grid would allow them to share model can be presented in many
their data, manage the data, and manage different forms, e.g., a language, a
security issues such as who has access library API, or a tool with extensible
to what data[8]. functionality. The main property of
As mentioned above, Grid creates successful programming models is
a computing environment with basic enabling both high-performance and the
characteristics that are heterogeneous flexible composition and management
and distributed, so the development of of resources. Programming models also
the application needs a good influence the entire software lifecycle:
programming environment to avoid design, implementation, debugging,
time consuming[2]. operation, maintenance, etc. Hence,
successful programming models should
2. Grid Programming Models also facilitate the effective use of all
manners of development tools, e.g.,
The main goal of Grid compilers, debuggers, performance
programming is to manage computing monitors, etc[16]. Some examples for
environments that have parallel, various models currently in use include
distributed, heterogeneous and dynamic MPI for message passing, Condor for
nature. In addition to that, grid high throughput, and HPF for data
applications need to allocate resources parallelism[5].
flexibly to service across those dynamic
environments. On the other hand it may 2.1 Grid Programming Models
be possible to build grid applications Properties
using established programming tools, Some properties can be handled to
they are not particularly well-suited to grid programming models environment
effectively manage flexible as follows:
composition or deal with heterogeneous 1. Usability; Grid programming tools
hierarchies of machines, data and and environment should support a wide
networks with heterogeneous range of programming concepts and
performance[16]. A grid programmer paradigms, and, to the users, there
will have to manage a computation to should be a low barrier to acceptance of
this environment, and also will have to the tools and environment.
design the interaction between remote
.
71 http://sites.google.com/site/ijcsis/
ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 10, No. 9, September 2012
2. Dynamic; adaptability. A grid supplied MPI for intra-machine
programmer should be able to adapt to messaging.
the dynamicity of the architecture or Tejedor and Badia[4]
configurations of the grid. implemented COMPSs that provide a
3. Portability; Grid programming superscalar model implementation
models and language should allow grid based on Grid Component Model. As a
codes greater software portability. result, the runtime of COMPSs has
4. Interoperability; Having the open gained some features such as
and extensible architecture, grid may reusability, flexibility and separation of
support many different kinds of concerns which are from the
protocols, services, applications component-based programming
programming interface, and software practice.
development kits, and they should be
interoperable when appropriate. 4. Grid Programming Models
5. Reliability; Grid user should be able
to check, recover or react to the faults This section handles three
of the system helped by programming programming models as examples of
environment[6]. Grid programming models, which are
P-Grade, JavaSymphony, and OpenGR.
3. Related Work We will represent and discuss the
In this section some related models and focus on some of their
researches that focus on grid important features.
programming environment will be
introduced. Wang, et. al[21], 1- P-GRADE
represented a high-level programming It is a high-level graphical
environment for the non-professional environment that was provided to
end users called GSML (Grid Service develop parallel applications for both
Markup Language) , also they defined a parallel systems and the Grid. It is
lower-level service-oriented based on the nature of interactive
programming language for Grid execution of parallel programs in the
developers called Abacus. Currently Grid. PVM and MPI codes can be
most of the Grid programming models generated according to the parallel
are evolved from the traditional parallel applications execution in the Grid
and distributed programming environment [13]. The main definition
models.[18]. supported by P-GRADE is multi-job
Foster and Karonis introduced an workflow execution for the Grid. This
MPICH-G2 [22] which is a grid- workflow management provides
enabled implementation of the MPI that parallel execution at both inter-job and
uses the Globus services (e.g., job intra-job level. P-GRADE provides a
startup, security) that automatically mechanism of automatic checkpoint
convert data in messages to be sent that provides a fault-tolerant workflow
between machines of different execution mechanism.
architectures and also it supports Migration between different grid
multiprotocol communication by sites is an important feature in PVM
automatically selecting TCP for inter- applications that are generated by P-
machine messaging and vendor- GRADE. It guarantees reliable, fault-
.
72 http://sites.google.com/site/ijcsis/
ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 10, No. 9, September 2012
tolerant parallel program execution in (JRS), allocates resources (machines
the Grid system. These Grid sites have where JRS is active), distributes code as
to be monitored when the application Java objects among the resources, and
migrates among them, the remotely invokes methods of these
Mercury/GRM/PROVE Grid objects. After all these usages, the
applications play the role of monitoring application un-registers and is removed
any parallel application launched and from the JRS s list of active
analyzed by P-GRADE at run time. applications. JRS is implemented as an
In other words, P-GRADE is a agent based system, with agents
graphical programming environment. running on each computing resource to
Its major goal is to provide an easy-to- be used by the JSAs ([11,12]). From the
use, integrated set of programming main important services that The JS
tools for the development of generic programming paradigm introduces are
message-passing (MP) applications to the dynamic virtual distributed
be run on both homogeneous and architectures (VAs), that allow
heterogeneous distributed computing developer to manage the resources in JS
systems such as supercomputers, applications, and JavaSymphony
clusters and Grid systems. remote objects (JS objects), that are
From the viewpoint of the used to distribute data and code
researchers, some features of P- between the resources. On the other
GRADE can be concluded as follows: hand, there is an important feature that
1- It can support each stage of the is not supported by other grid
parallel program development life- application, it is the free
cycle by an integrated graphical communication between the distributed
environment. components with each other in the
2- It can generate either PVM or MPI applications.
code for executing on Finally JS programming paradigm
supercomputers, clusters and in the handles other main features of grid
Grid. applications like migration, distributed
3- Its application does not need any event mechanism, distributed
changes in the resources that run synchronization mechanisms[7].
over through its run-time[13].
3- OpenGR
2- JavaSymphony OpenGr is a new grid
JavaSymphony is a high-level programming environment for Remote
simple programming model that allows Procedure Call (RPC) based master.
the programmer to control parallelism, This environment is realized through
load balancing, and locality at a high the use of a set of compiler directives,
level of abstraction in Grid and is implemented as a parallel
applications, with hide the low level execution mechanism.
implemented details (i. e. RMI, sockets, The Remote Procedure Call
and threads) and error-prone from the (RPC) facility is widely used for
programmer. JavaSymphony distributed computing. Several grid
Applications (JSA) can be designed by computing systems also adopt RPC
JavaSymphony API. It registers with (grid-enabled RPC) as the basic model
the JavaSymphony Runtime System of computation [20]. The RPC-style
.
73 http://sites.google.com/site/ijcsis/
ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 10, No. 9, September 2012
system is particularly useful in which it 5. Evolution of Programming Models
provides an easy-to-use, intuitive
programming interface, allowing users Nowadays we can say that, the
of the grid system to make grid enabled programming models is becoming very
applications easily[10]. important to be easier, more abstract,
The OpenGR directives make the and more closer to the user. This paper
existing sequential applications able to is trying to find the best programming
be readily adapted to the grid models among the available models to
environment as master worker parallel help both developers and end users.
programs using the RPC architecture. Evaluation of programming models is a
Although , the grid RPC provides a way to suggest the best one.
suitable programming model for a grid The runtime is one of the
environment, additional tools are important criteria that has to be
required for implementing these grid evaluated in grid models, because we
applications. For example, the functions need to achieve a faster execution of the
that will be executed on the server side application by these models. So the
should be decided, and its evaluation is needed to be applied on
modifications need to use grid RPC the execution of different applications.
application programming interface The speed up of the executed
(API). Another problem in the grid applications depends on the
environment is the heterogeneous independent and parallelism between
collection of resources at many sites, it tasks of the application and the
is necessary for the programmer to response time, network bandwidth in
check/know the hosting environment of the other side.
each and every server before the server Based on the programming
stubs can be deployed. This poses models that are presented in the above
obvious problems when large number section, the evaluation need a
of servers (or remote hosts) are simulation in order to measure the
involved. performance of each model. The
OpenGR directives for C/C++ is models, i. e, P-Grade, OpenGR and
presented to solve the above problems, java symphony, are evaluated by using
with providing an incremental similar workload simulation
programming environment for a grid environment of Job Sharing and Multi-
RPC programming with minimal source site. The comparison between the
code modification, with providing a performance of the above models is
Hybrid parallelization for describing done through a java simulation that
parallelism. All of these methods with simulates different grid workloads
reducing the complexity and the work environment. This comparison is
of the server stub shipping, and concluded in table 1. The simulated
providing a semi-automated server stub workloads contain ten CPUs nodes
install facility as a part of the compiler connected by 100 Mbps Ethernet. Each
system[10]. node contains 2GHz processing unit,
128 MB RAM, and with running Linux
operating system.
.
74 http://sites.google.com/site/ijcsis/
ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 10, No. 9, September 2012
For each node, the efficiency ratio Where t s is the sequential run time
can be calculated by equation 1. for the application, and t p the parallel
ts
eff * 100% eq(1) [17] run time, and N the number of CPUs
t p .N
nodes.
Programming Single CPU 5CPUs 10 CPUs
Models ts(per sec) tp(per sec) ts(per sec) tp(per sec) ts(per sec) tp(per sec)
eff eff eff
OpenGR 1.5 1.5 100% 7.5 1.6 93.8% 16 1.9 78.9%
JavaSymphony 2.3 2.3 100% 11.5 2.5 92% 23.6 3.0 76.7%
P-Grade 2.8 2.8 100% 14.00 3.3 84.8% 27.5 4.1 68.2%
Table. 1- Comparison Between Three Programming Models
As shown in the above affected in sequential time. But the
comparison in table 1, obviously, we importance of resources distribution
can find the efficiency of the three is clear when we follow the parallel
models did not change when one time, where it did not change
resource is used, but when the effectively in the efficiency. Finally,
resources distribution increased, the OpenGr is found to be the best
time and efficiency are affected. For programming model in efficiency
example, it was clear that the more and in saving time. The following
resource are distributed, the more figures show the comparison chart
time is consumed, and this is greatly between the programming models.
120%
100%
80%
efficiency
OpenGR
JavaSymphony 60%
P-Grade
40%
20%
0%
Programming Models
Fig. 1- Comparison between Efficiency of the Programming Models
.
75 http://sites.google.com/site/ijcsis/
ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 10, No. 9, September 2012
30
25
sequential run time
20
OpenGR
JavaSymphony 15
P-Grade
10
5
0
3 2 1
Programming Models
Fig. 2- Comparison between Sequential Run-Time of the Programming Models
30
25
sequential run time
20
OpenGR
JavaSymphony 15
P-Grade
10
5
0
3 2 1
Programming Models
Fig. 3- Comparison between Parallel Run-Time of the Programming Models
6. Conclusion grid programming models which are
End users of Grid computing P-Grade, JavaSymphony, and
systems do not need to deal with the OpenGR. Evaluation of these
low level implementation details of programming models is a way to
application. They need a high level suggest the best one of them. The
programming models that prevent runtime is one of the important
them from these details. These criteria that has to be evaluated
models are the Grid programming because we need to achieve a faster
models. The big challenge that faced execution of the application. After
on the Grid programming paradigms evaluation, OpenGr is found to be
is performing efficiency and the best programming model in
overcomes the task time-consuming efficiency and in saving time with
that comes from dealing with fixed Bandwidth and internet
excessive low-level details of connection speed.
provided APIs. In this paper we
present three models as example of
.
76 http://sites.google.com/site/ijcsis/
ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 10, No. 9, September 2012
References programming environment,
Parallel Computing Vol. 31,
[1] Azzedin; F, Mahewaran; M, issue. 10, pp. 1140 1154, 2005.
Integrating trust into grid [8] Jacob; B., et. Al, Introduction to
resource management systems, Grid Computing, International
in: Proceedings of ICPP 2002, Technical Support
2002. Organization, IBM Redbooks ,
[2] Bai; X., et. al, Grid Programming December 2005.
Environment, [9] Johnston; W, et. al, Grids as
ww2.cs.mu.oz.au/ production computing
678/SampleTermPaper.doc, environments: The engineering
visited on 28 August 2012, 11 aspects of NASA_s information
P.M. power grid, in: Proceedings of
[3] Buyya; R, The World-Wide Grid. 8th IEEE International
Available from: Symposium on High
http://www.buyya.com Performance Distributed
/ecogrid/wwg/, visited on 25 Computing, Redondo Beach,
August 2012, 10 Am. CA, 1999.
[4] Chu; X, et. al, A Novel Approach [10] Jugravu; A, Fahringer; T,
for Realising Superscalar JavaSymphony, a programming
Programming Model on Global model for the Grid, Future
Grids, Proceedings of the 10th Generation Computer Systems,
International Conference on Vol. 21, Issue. 1, pp. 239 246,
High-Performance Computing 2005.
in Asia-Pacific Region (HPC [11] Jugravu; A, Fahringer; T,
Asia 2009), published on 02 Javasymphony: New Directives
May 2009. to control and synchronize
[5] Govindaraju; M, et. al, XCAT locality, parallelism, and load
2.0: A Component-Based balancing for Cluster and Grid-
Programming Model for Grid Computing, Proceeding in JGI
Web Services, In '02 Proceedings of the 2002
Grid 2002,3rd International joint ACM-ISCOPE conference
Workshop on Grid on Java Grande, 2002, pp. 8-17.
Computing , 2002, [12] Jugravu; A, Fahringer; T, On
http://www.extreme.indiana.ed the implementation of
u/ xcat, visited on 30 July 2012, JavaSymphony, Proceeding in
02 PM. IPDPS '03 Proceedings of the
[6] He; G, et. al., Research on User 17th International Symposium
Programming Environment in on Parallel and Distributed
Grid, Grid and Cooperative Processing, IEEE Computer
Computing, pp. 778 785, 2004. Society Washington, DC, USA,
[7] Hirano; M, et. al, OpenGR: A pp. 34 43, 2003.
directive-based grid
.
77 http://sites.google.com/site/ijcsis/
ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 10, No. 9, September 2012
[13] Kacsuk; P, et. al., P-GRADE: Computing, Vol. 6, No. 3, pp.
A Grid Programming 19-32, 2005.
Environment, Journal of Grid [18] Shu; C, et. al., Towards an End-
Computing, Vol. 1, No. 2, pp. User Programming
171 197, 2003. Environment for the Grid,
[14] Khoo; B, et.al., Amulti- Lecture Notes in Computer
dimensional scheduling scheme Science, Vol. 3795, pp. 345
in a Grid computing 356, 2005.
environment, J. Parallel Distrib. [19] Tangpongprasit; S, et. al., A
Comput., Vol. 67, Issue. 6, pp. time-to-live based reservation
659 673, 2007. algorithm on fully decentralized
[15] Kielmann; T, Programming resource discovery in Grid
Models for Grid Applications computing, Parallel Computing,
and Systems, proceeding in Vol. 31, Issue. 6, pp. 529 543,
Modern Computing, 2006. JVA 2005.
'06. IEEE John Vincent [20] Tanaka; Y, et. al,
Atanasoff 2006 International Implementation and evaluation
Symposium, Vrije Universiteit, of gridpc based on globus,
Amsterdam, 3-6 October 2006, Parallel Computing, Vol. 31
pp.27-23. Issue 10, pp. 165 170.
[16] Lee; C, Talia; T, Grid [21] Wang, L., et. Al, Abacus: A
Programming Models: Current Service-Oriented Programming
Tools, Issues and Directions, Language for Grid
Proceeding in PDCAT'04 Applications, Proceeding in
Proceedings of the 5th SCC '05 Proceedings of the
international conference on 2005 IEEE International
Parallel and Distributed Conference on Services
Computing: applications and Computing, Vol. 1, pp 225-232.
Technologies, pp. 868-871, [22] Karonis; N, et. al., MPICH-G2:
2004. A Grid-Enabled Implementa-
[17] Nieuwpoort; R, et. al., Satin: tion of the Message Passing
Simple and Efficient Java- Interface, Journal of Parallel
based Grid Programming, and Distributed Computing -
Scientific International Journal Special issue on computational
for Parallel and Distributed grids, Vol. 63, Issue 5, pp. 551-
563, 2003.
.
78 http://sites.google.com/site/ijcsis/
ISSN 1947-5500
Related docs
Other docs by ijcsiseditor
Digital Images Encryption in Spatial Domain Based on Singular Value Decomposition and Cellular Automata
Views: 0 | Downloads: 0
Agent Behavior in Multiagent Systems: Issues and Challenges in Design, Development and Implementation
Views: 1 | Downloads: 0
Optimizing Cost, Delay, Packet Loss and Network Load in AODV Routing Protocols
Views: 2 | Downloads: 0
Get documents about "