To achieve improved performance, application schedulers are
typically designed to satisfy the resource requirements of specific
applications. Consequently, application characteristics and models are often
embedded in the scheduler itself. Results have shown that this strategy is
effective for achieving improved application performance. However,
application-specific schedulers may not be easily retargeted for other
applications. In this thesis, we propose a modular application scheduler design
that employs detailed application performance models and mapping strategies
that promote application performance, but does not embed such components within
the scheduler itself. Our scheduler is both environment-sensitive and
configurable. To ensure that schedules are properly targeted for conditions of
the target execution environment at run-time, the scheduler can incorporate
dynamic resource availability in scheduling decisions. The scheduler also
supports a set of configurable scheduling policies that are easily tuned to
control scheduler behavior. We implement a prototype scheduler and use the
class of iterative, mesh-based applications to test the prototype. We implement
two test applications, Jacobi and the Game of Life, and develop performance
models and mapping strategies for each application. We present experimental
results we obtained by applying our scheduling methodology to Jacobi and the
Game of Life in Computational Grid environments. Our testbeds included up to
20 machines organized in 4 clusters at 3 geographically distributed sites. In
these experiments, our approach consistently outperforms conventional
scheduling approaches.
Pre-2018 CSE ID: CS2002-0698