Adaptively increasing performance and scalability of automatically parallelized programs

  • Authors:
  • Jaejin Lee;H. D. K. Moonesinghe

  • Affiliations:
  • School of Computer Science and Engineering, Seoul National University, Seoul, Korea;Department of Computer Science and Engineering, Michigan State University, East Lansing, MI

  • Venue:
  • LCPC'02 Proceedings of the 15th international conference on Languages and Compilers for Parallel Computing
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper presents adaptive execution techniques that determine whether automatically parallelized loops are executed parallelly or sequentially in order to maximize performance and scalability. The adaptation and performance estimation algorithms are implemented in a compiler preprocessor. The preprocessor inserts code that automatically determines at compile-time or at run-time the way the parallelized loops are executed. Using a set of standard numerical applications written in Fortran77 and running them with our techniques on a distributed shared memory multiprocessor machine (SGI Origin2000), we obtain the performance of our techniques, on average, 26%, 20%, 16%, and 10% faster than the original parallel program on 32, 16, 8, and 4 processors, respectively. One of the applications runs even more than twice faster than its original parallel version on 32 processors.