Abstract

Scheduling parallel programs optimally on multiple processors is difficult, partly because of interactions between applications, system software, and hardware having unexpected effects on performance. These interactions are hard to quantify and difficult to model. A convenient and effective means of quickly examining the behavior of such systems can make the evaluation and refinement of scheduling paradigms easier. The authors have used a program visualization tool called PV to help them develop and tune runtime systems for scheduling nested parallel loops on shared and distributed memory machines. In a series of experiments, PV gave feedback concerning the effectiveness of alternative algorithms and parameters. A prevalent and striking revelation of the visualizations was that, because of systemic effects, parallel loop iterations exhibit execution time variance, even when there is no algorithmic variance. This suggests that dynamic scheduling might be necessary to effectively use processors.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call