Exploiting parallelism to improve the performance of sequential binary executables

  • Authors:
  • Michael Franz;Efe Yardimci

  • Affiliations:
  • University of California, Irvine;University of California, Irvine

  • Venue:
  • Exploiting parallelism to improve the performance of sequential binary executables
  • Year:
  • 2006

Quantified Score

Hi-index 0.01

Visualization

Abstract

As performance improvements are being increasingly sought via coarse-grained parallelism, established expectations of continued performance increases in sequential programs are not being met. Current trends in computing point towards platforms seeking performance improvements through various degrees of parallelism, as coarse-grained parallelism features are becoming commonplace in even entry-level systems. The broad variety of multiprocessor configurations that will be available will make it difficult to statically create a single parallel version of a program that performs well on the whole range of such hardware. In addition, there is a growing inventory of legacy programs in binary executable form with source code no longer available; these programs cannot be recompiled from source to utilize available processing resources to exploit parallelism. We present a system that improves the performance of such optimized sequential binaries through dynamic recompilation. Leveraging observations made at runtime, a thin software layer recompiles executing code compiled for a uniprocessor and generates parallelized and/or vectorized code segments that exploit available parallel resources. Our solution is entirely software-based and can be ported to existing hardware platforms that have parallel processing capabilities. Our good performance results have been obtained on real hardware without using simulations.