Front Page

The Liberty Research Group

An Adaptive OpenMP Loop Scheduler for Hyperthreaded SMPs [abstract] (PDF)
Yun Zhang, Mihai Burcea, Victor Cheng, Ron Ho, and Micheal Voss
Proceedings of the 17th International Conference for Parallel and Distributed Computing Systems (PDCS), September 2004.

Hyperthreaded(HT) and simultaneous multi- threaded (SMT) processors are now available in commodity workstations and servers. This technology is designed to increase throughput by executing multiple concurrent threads on a single physical pro- cessor. These multiple threads share the processor's functional units and on-chip memory hierarchy in an attempt to make better use of idle resources. This work focuses on tuning the behavior of OpenMP applications executing on SMPs with SMT processors. We propose a self-tuning OpenMP loop scheduler designed to react to behavior caused by inter-thread data locality, instruction mix and SMT-related load imbalance. This adaptive loop scheduler automati- cally selects the number of threads that should be used for each parallel loop and a good scheduling policy for the iterations. It is shown that this scheduler outperforms all other OpenMP schedulers, and because it can dynamically select the number of threads to use for each region, it even outperforms the best combination of runtime schedulers for any fixed number of threads.