POSC—a partitioning and optimizing SISAL compiler

  • Authors:
  • Vivek Sarkar;David Cann

  • Affiliations:
  • IBM Research, T. J. Watson Research Center, P.O. Box 704, Yorktown Heights, NY;Computing Research Group, L-306, Lawrence Livermore National Lab., P.O. Box 808, Livermore, CA

  • Venue:
  • ICS '90 Proceedings of the 4th international conference on Supercomputing
  • Year:
  • 1990

Quantified Score

Hi-index 0.02

Visualization

Abstract

Single-assignment languages like SISAL offer parallelism at all levels—among arbitrary operations, conditionals, loop iterations, and function calls. All control and data dependencies are local, and can be easily determined from the program. Various studies of SISAL programs have shown that they contain massive amounts of potential parallelism. There are two major challenges in converting this potential parallelism into real speedup on multiprocessor systems. First, it is important to carefully select the useful parallelism in a SISAL program, so as to obtain good speedup by trading off parallelism with overhead. Second, it is important to do sequential optimizations, so that the sequential components (tasks) of the SISAL program have comparable execution times with sequential languages such as Fortran, Pascal and C. The POSC compiler system described in this paper addresses both issues by integrating previous work on efficient sequential implementation of SISAL programs with previous work on selecting the useful parallelism in a SISAL program. The combined approach is validated by real speedup measurements on a Sequent Balance multiprocessor.