Richard Huang (2005)
Scheduling Compute Intensive Applications in Volatile, Shared Resource (Grid) Environments
Master thesis, University of California, San Diego.
While Grid computing has become popular in recent years, understanding Grid application performance remains a challenge. In open, shared resource Grid environments, applications face heterogeneity in resources and dynamic load on the resources. Variance in runtime prediction models leads to further variability in application performance. We investigate factors affecting application performance by extensive simulation using actual compute intensive applications runtimes and actual dynamic resource load. Our main result is that freshness of dynamic resource data does not matter for any data fresher than 300 seconds. Application performance varies less than 2\\% within this range. When a single application is scheduled on a volatile environment, scheduling optimistically improves performance as the scheduler can better tolerate volatility both in task runtime predictions as well as in the resource availability. Performance can be further improved by rescheduling tasks running much longer than predicted. Tasks running longer than predicted can indicate that the resource is overloaded or unavailable. When the number of resources equals or exceeds the number of tasks, the handling of tasks that have greatly exceeded their predicted runtime is critical for application performance. In some cases, rescheduling such tasks can improve application performance by as much as 2 to 3 times. In contrast, when there are more tasks than resources and multiple schedulers are competing for a set of resources, the opposite policy of allowing a late task to run to completion is preferred. This is because there are better resources for which to run that task and therefore rescheduling is unproductive.