Information Technology Reference
In-Depth Information
provide recommendations for some meaningful
grid-enabling strategies.
General Approach . First, we have to make
sure that we gain an important benefit form run-
ning our application on a grid. And we should start
asking a few more general questions, top-down.
Has this code been developed in-house, or is it
a third-party code, developed elsewhere? Will I
submit many jobs (as e.g. in a parameter study),
or is the overall application structure a workflow,
or is it a single monolithic application code? In
case of the latter, are the core algorithms within
the application program of explicit or of implicit
nature? In many cases, grid-enabling those kinds
of applications can be based on experience made in
the past with parallelizing them for the moderately
or massively parallel systems, see e.g. Fox et al.
(1994) and Dongarra et al. (2003).
In-house Codes . In case of an application
code developed in-house, the source code of this
application is often still available, and ideally the
code developers are still around. Then, we have
the possibility to analyze the structure of the code,
its components (subroutines), dependencies, data
handling, core algorithms, etc. With older codes,
sometimes, this analysis has already been done
before, especially for the vector and parallel com-
puter architectures of the 1980ies and 1990ies.
Indeed, some of this knowledge can be re-used
now for the grid-enabling process, and often only
minor adjustments are needed to port such a code
to the grid.
Third-Party Codes licensed from so-called
Independent Software Vendors (ISVs) cannot
be grid-enabled without the support from these
ISVs. Therefore, in this case, we recommend to
contact the ISV. In case the ISV receives similar
requests from other customers as well, there might
be a real chance that the ISV will either provide a
grid-enabled code or completely change its sales
strategy and sell its software as a service, or de-
velops its own application portal to provide access
to the application and the computing resources.
But, obviously, this requires patience and is thus
not a solution if you are under a time constraint.
Parameter Jobs. In science and engineering,
often, the application has to run many times: same
code, different data. Only a few parameters have
to be modified for each individual job, and at the
end of the many job runs, the results are analyzed
with statistical or stochastic methods, to find a
certain optimum. For example, during the design of
a new car model, many crash simulations have to
be performed, with the aim to find the best-suited
material and geometry for a specific part of the
wire-frame model of the car.
Application Workflows. It is very common
in so-called Problem Solving Environments
that the application program consists of a set of
components or modules which interact with each
other. This can be modeled in Grid workflow
environments which support the design and the
execution of the workflow representing the ap-
plication program. Usually, these Grid workflow
environments contain a middleware layer which
maps the application modules onto the different
resources in the grid. Many Workflow Environ-
ments have been developed in recent years for
grids, such as Triana (2003), Taverna (2008), Sim-
dat (2008), P-Grade (2003), and Kepler (Altintas,
2004). One application which is well suited for
such a workflow is climate simulation. Today's
climate codes consist of modules for simulating
the weather on the continent with mesoscale
meteorology models, and include other modules
for taking into account the influence from ocean
and ocean currents, snow and ice, sea ice, wind,
clouds and precipitation, solar and terrestrial
radiation, absorption, emission, and reflection,
land surface processes, volcanic gases and par-
ticles, and human influences. Interactions happen
between all these components, e.g. air-ocean,
air-ice, ice-ocean, ocean-land, etc. resulting in a
quite complex workflow which can be mapped
onto the underlying Grid infrastructure.
Highly Parallel Applications. Amdahl's Law
states that the scalar portion of a parallel program
Search WWH ::




Custom Search