Performance Evaluation of Some Grid Programming Models by ijcsiseditor


									                                       (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),

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.

                                                                                  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
                                                                              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-

                                                                             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

                                                                             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.

                                                                              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
eff          * 100% eq(1) [17]                             run time, and N the number of CPUs
      t p .N

 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.




           JavaSymphony                                                                        60%


                                                 Programming Models

                     Fig. 1- Comparison between Efficiency of the Programming Models

                                                                                     ISSN 1947-5500
                                   (IJCSIS) International Journal of Computer Science and Information Security,
                                   Vol. 10, No. 9, September 2012



                                                                                                   sequential run time
         JavaSymphony                                                                         15


                               3                     2                       1
                                           Programming Models

          Fig. 2- Comparison between Sequential Run-Time of the Programming Models



                                                                                                   sequential run time
         JavaSymphony                                                                         15


                               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

                                                                                 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                                   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                               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

                                                                            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,, 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.

                                                                            ISSN 1947-5500

To top