We address the problem of maximizing application speedup through runtime, self-selection of an appropriate number of processors on which to run. Automatic, runtime selection of processor allocations is important because many parallel applications exhibit peak speedups at allocations that are data or time dependent. We propose the use of a runtime system that: (a) dynamically measures job efficiencies at different allocations, (b) uses these measurements to calculate speedups, and (c) automatically adjusts a job's processor allocation to maximize its speedup. Using a set of 10 applications that includes both hand-coded parallel programs and compiler-parallelized sequential programs, we show that our runtime system can reliably determine dynamic allocations that match the best possible static allocation, and that it has the potential to find dynamic allocations that outperform any static allocation.
|Original language||English (US)|
|Number of pages||6|
|Journal||IEEE Symposium on Parallel and Distributed Processing - Proceedings|
|State||Published - 1996|
|Event||Proceedings of the 1996 10th International Parallel Processing Symposium - Honolulu, HI, USA|
Duration: Apr 15 1996 → Apr 19 1996
All Science Journal Classification (ASJC) codes