Optimally scheduling parallel programs on multiprocessors is a difficult problem. This is partly due to the fact that interactions between an application, system software, and hardware, have unpredictable effects on performance. They are hard to quantify, and difficult to model. Evaluation and refinement of scheduling paradigms can be made easier by a convenient and effective means of quickly examining system behavior. The paper reports on experience with program visualization as an integral tool in the development and tuning of a scheduler for parallel Fortran loops on a 64-way shared-memory multiprocessor. Over the course of a series of experiments, a visualization system provided feedback concerning the effectiveness of alternative algorithms and parameter tuning. Mathematical models of loop chunking, and the benefits of nested parallelism, were verified, and a performance anomaly due to TLB thrashing was identified and corrected.
展开▼