Adaptive execution techniques of parallel programs for multiprocessors |
| |
Authors: | Jaejin Lee Jung-Ho Park Honggyu Kim Changhee Jung Daeseob Lim SangYong Han |
| |
Affiliation: | 1. School of Computer Science and Engineering, Seoul National University, Seoul 151-744, Korea1;2. School of Computer Science, Georgia Tech, 801 Atlantic Drive, Atlanta, GA 30332-0280, USA |
| |
Abstract: | In simultaneous multithreading (SMT) multiprocessors, using all the available threads (logical processors) to run a parallel loop is not always beneficial due to the interference between threads and parallel execution overhead. To maximize the performance of a parallel loop on an SMT multiprocessor, it is important to find an appropriate number of threads for executing the parallel loop. This article presents adaptive execution techniques that find a proper execution mode for each parallel loop in a conventional loop-level parallel program on SMT multiprocessors. A compiler preprocessor generates code that, based on dynamic feedbacks, automatically determines at run time the optimal number of threads for each parallel loop in the parallel application. We evaluate our technique using a set of standard numerical applications and running them on a real SMT multiprocessor machine with 8 hardware contexts. Our approach is general enough to work well with other SMT multiprocessor or multicore systems. |
| |
Keywords: | Simultaneous multithreading Adaptive execution Multiprocessors Multicores Performance estimation Performance counters Compiler preprocessors |
本文献已被 ScienceDirect 等数据库收录! |
|