Biomedical Engineering Reference
In-Depth Information
Legacy Applications . Legacy applications, that is, applications that have been
used (and work well) for a significant period of time, are present in various
computing fields. In particular, bioinformaticians typically use large collections
(e.g., EMBOSS [51] and Accelrys [32]) of software tools and utilities, which
are used on a daily basis. Mainly, because such applications work well in their
current environment, the users (and thus programmers) are often hesitant to port
or re-implement their programs to make them Grid enabled or web-services
enabled. Furthermore, given the sheer volume of existing applications, porting
is a tremendous effort in itself.
Middleware Dependency . Owing to the nascent stage of current grid technology,
a lot of competing middleware are being developed by different groups (despite
the widespread acceptance of Globus [23] as a de facto standard). As developers
race to create grid-enabled applications, they often find that the resulting code
becomes middleware specific. Not only does this present problems when moving
to other middleware implementations, for example, Unicore [7], but also it slows
down the development process as the underlying middleware must be set-up,
configured, and tested to develop the code. For example, short of providing
each team member with their own test bed, it would be extremely hard to test
development code in isolation.
23.3
GRID APPLICATIONS
Grid application development remains limited to a small class of applications due to a
number of issues, some of which were discussed earlier, such as high latency, hetero-
geneity, legacy applications, and middleware dependency. Another challenge for grid
application developers lies in the absence of generic schedulers for grid environ-
ments. As a result, application developers need to incorporate aspects of scheduling
into the applications. Although application level schedulers [14] and problem solv-
ing environments are being developed, these are not ubiquitous enough for generic
application development. Keeping in mind the challenges mentioned earlier, it seems
reasonable to classify grid applications that can be developed using currently available
technology into the following main classes [34], namely,
1. Single Program Multiple Data : This category also includes the class of
parameter sweep applications. The primary characteristic of this category of
applications is the very minimal inter-node communication. These applications
typically tend to be embarrassingly parallel in nature.
2. Hierarchical Parallelism : Applications belonging to this category are those
that have a mix of fine-grained and coarse-grained parallelism. These appli-
cations can typically be re-engineered so that fine-grained parallelism at
the intra-cluster level and coarse-grained parallelism at the inter-node level
coexist.
Search WWH ::




Custom Search