Optimizing Execution of Component-based Applications using Group Instances
Files
Publication or External Link
Date
Advisor
Citation
DRUM DOI
Abstract
Applications that query, analyze and manipulate very large data sets
have become important consumers of resources. With the current trend
toward collectively using heterogeneous collections of disparate
machines (the Grid) for a single application, techniques used for
tightly coupled, homogeneous machines are not sufficient. Recent
research on programming models for developing applications in the Grid
has proposed component-based models as a viable approach, in which an
application is composed of multiple interacting computational objects.
We have been developing a framework, called filter-stream programming,
for building data-intensive applications in a distributed
environment. In this model, the processing structure of an
application is represented as a set of processing units, referred to
as filters. In earlier work, we studied the effects of filter
placement across heterogeneous host machines on the performance of the
application. In this paper, we develop the problem of scheduling
instances of a filter group running on the same set of hosts. A
filter group is a set of filters collectively performing a computation
for an application. In particular, we seek the answer to the
following question: should a new instance be created, or an
existing one reused? We experimentally investigate the effects of
instantiating multiple filter groups on performance under varying
application characteristics.
(Cross-referenced as UMIACS-TR-2001-06)