Information Technology Reference
In-Depth Information
interoperability, and is not aimed at leveraging
Grid services provided by other platforms.
JavaSymphony (Fahringer and Jugravu, 2005)
provides a semi-automatic execution model that
deals with migration, parallelism and load bal-
ancing of applications. The model also allows
programmers to explicitly control such aspects
through API primitives. Similarly, Babylon (van
Heiningen, 2008) features weak mobility, remote
object communication and parallelism in an uni-
form programming API. As JavaSymphony and
Babylon are API-inspired gridification tools, they
require developers to learn another API as well as
to perform extensive modifications when gridify-
ing their conventional applications.
Moreover, Ibis (van Nieuwpoort et al., 2005)
is a Grid platform designed as an uniform and
extensible communication facility on top of which
a variety of distributed programming models are
implemented. An interesting subsystem of Ibis
is Satin (Wrzesinska et al., 2006), which allows
developers to straightforwardly execute conven-
tional divide and conquer codes in parallel on
clusters and Grids. Similar to JPPF, Ibis offers
limited support for using well-established Grid
protocols such as WSDL and UDDI (Curbera
et al., 2002). Consequently, interoperability is
almost absent when using these tools to build
Grid applications.
GMarte (Alonso et al., 2006) is a high-level
API offering an object-oriented view on top of
Globus (Foster, 2005). Developers can employ the
API to compose and execute existing binary codes
by means of a new Java application. GMarte also
features metascheduling capabilities and fault-
tolerance via custom checkpointing mechanisms.
However, as GMarte treats these codes as black
boxes, their structure cannot be altered to make
better use of Grid resources, for example, parallel-
ize or distribute portions of the codes. In addition,
XCAT (Gannon et al., 2005) supports distributed
execution of component-based applications on
top of existing Grid platforms (mostly Globus).
Application components can also represent legacy
binary programs. XCAT provides an API to build
workflow applications by assembling service
and legacy components. Though this task can be
performed with little programming effort, develop-
ers still have to manage component creation and
linking in their programs. Besides, like GMarte,
XCAT does not provide support for fine tuning
components at the application level.
All in all, existing toolkits and frameworks
for gridifying software can be grouped into two
major categories (Mateos et al., 2008a): those
that aim at separating application logic from Grid
functionality, and those that do not. Our work
aligns with the proposals in the former category.
However, we believe that these efforts are some
way off from being effective tools for gridifying
applications. On one hand, those efforts that rely on
an API-oriented approach to gridification require
modifications to the input applications, which in
turn requires developers to learn Grid APIs and
negatively affects maintainability and portability.
Nevertheless, developers have a deeper control of
the internal structure of their applications. Con-
versely, tools based on gridifying by wrapping or
composing existing applications (e.g. GEMLCA,
GMarte, XCAT, LGF, GridSAM) simplify gridifi-
cation, but prevent the usage of tuning mechanisms
such as parallelization, mobility and distribution
of individual application components. This rep-
resents a trade-off between ease of gridification
versus true flexibility to configure the runtime
aspects of gridified applications.
In this sense, JGRIM tackles this trade-off by
avoiding excessive source code modifications
when porting applications to the Grid, yet offer-
ing means to effectively tune these applications
at a high level of abstraction once they have been
transformed. Besides, developers are allowed to
furnish application component with common Grid
concerns such as parallelism and distribution at
several levels of granularity. Moreover, JGRIM
preserves the integrity of the application logic
by allowing developers to seamlessly inject Grid
concerns to their applications. This means that,
Search WWH ::




Custom Search