Title :
Extending OpenMP to support slipstream execution mode
Author :
Ibrahim, Khaled Z. ; Byrd, Gregory T.
Author_Institution :
Dept. of Electr. & Comput. Eng., North Carolina State Univ., Raleigh, NC, USA
Abstract :
OpenMP has emerged as a widely accepted standard for writing shared memory programs. Hardware-specific extensions such as data placement are usually needed to improve the scalability of applications based on this standard. This paper investigates the implementation of an OpenMP compiler that supports slipstream execution mode, a new optimization mechanism for CMP-based distributed shared memory multiprocessors. Slipstream mode uses additional processors to reduce communication overhead, rather than to increase parallelism. We discuss how each OpenMP construct can be implemented to take advantage of slipstream mode, and we present a minor extension that allows runtime or compile-time control of slipstream execution. We also investigate the interaction between slipstream mechanisms and OpenMP scheduling. Our implementation supports both static and dynamic scheduling in slipstream mode. We extended the Omni OpenMP compiler to generate binaries that support slipstream mode, and we show the performance of slipstream-enabled codes using OpenMP codes from the NAS Parallel Benchmark suite, running on the SimOS simulator. Our extension to OpenMP allowed the benchmarks to achieve an average performance improvement of 14% with static scheduling. For dynamic scheduling the performance improvement is 12% on average.
Keywords :
distributed shared memory systems; optimising compilers; parallel programming; parallelising compilers; processor scheduling; software performance evaluation; software standards; CMP; NAS Parallel Benchmark suite; Omni OpenMP compiler; OpenMP compiler; OpenMP standard; SimOS simulator; communication overhead; compile-time control; distributed shared memory multiprocessors; dynamic scheduling; optimization mechanism; performance; runtime control; slipstream execution mode; static scheduling; Application software; Communication system control; Concurrent computing; Dynamic scheduling; Optimizing compilers; Parallel processing; Processor scheduling; Runtime; Scalability; Writing;
Conference_Titel :
Parallel and Distributed Processing Symposium, 2003. Proceedings. International
Print_ISBN :
0-7695-1926-1
DOI :
10.1109/IPDPS.2003.1213119