Automatically Partitioning Threads Based on Remote Paths

  • Authors:
  • Affiliations:
  • Venue:
  • ICPADS '98 Proceedings of the 1998 International Conference on Parallel and Distributed Systems
  • Year:
  • 1998

Quantified Score

Hi-index 0.00

Visualization

Abstract

In order to program multithreaded architectures effectively compiler support to automatically partition programs into threads is essential. This paper proposes a remote-path based thread partitioning framework, which can generate low-level threads from procedural programs automatically. The framework has been implemented in the EARTH-C compiler, which uses data dependence graph (DDG) as an intermediate representation for thread partitioning. To make the compiler work fast, a practical O(n^2) algorithm is designed to build {\em non-redundant} DDG. To generate correct and efficient threaded code, the remote-path heuristic is employed to satisfy thread partitioning constraints and schedule threads to run fast. The experimental results show that the DDG building algorithm is fast and the remote path based heuristic is very effective in partitioning programs into ``optimized'' threads.