Dynamic autonomous scheduling on heterogeneous systems

Advances in network and middleware technologies have brought computing with many widely-distributed and heterogeneous resources to the forefront. The large distributed platforms of Grid Computing and Internet Computing allow scientists to solve problems at unprecedented scales and/or at greatly reduced cost. Efficiently managing the computation is a difficult and challenging problem, given the heterogeneous attributes of the underlying components. An added complexity is that resources in these environments exhibit dynamically changing performance. In this dissertation we consider independent task applications , which decompose into a large number of uniform independent tasks, where all application data initially resides in a single repository, and the time required to transfer that data is a significant factor. We support the premise that dynamic, autonomous scheduling of independent task applications can achieve maximum steady-state throughput and low overhead in networks of non-dedicated heterogeneous computers. We present two autonomous bandwidth-centric scheduling protocols that answer some practical challenges of attaining the optimal steady-state execution rate. We also consider the potential decrease in computation rate of a host due to concurrent data transfers to and from that host. Our experiments show that the computation rate can be reduced by over 50%, and that the reduction is roughly proportional to the communication transfer rate. We present the Communication-Interference processor model that incorporates the interference rate of communication on computation. We show how to determine an optimal steady-state allocation for a fork graph (tree of height 1) in this new model. Finally, we compare the performance of various autonomous scheduling algorithms on an example testbed of near and distant heterogeneous processors. Our aggressive Communication-Interference-Centric algorithm performed the best overall.