PRELUDE: A SYSTEM FOR PORTABLE PARALL

  • Authors:
  • W. Weihl;E. Brewer;A. Colbrook;C. Dellarocas;W. Hsieh;A. Joseph;C. Waldspurger;P. Wang

  • Affiliations:
  • -;-;-;-;-;-;-;-

  • Venue:
  • PRELUDE: A SYSTEM FOR PORTABLE PARALL
  • Year:
  • 1991

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper describes PRELUDE, a programming language and accompanying system support for writing portable MIMD parallel programs. PRELUDE supports a methodology for designing and organizing parallel programs that makes them easier to tune for particular architectures and to port to new architectures. It allows the programmer to divide programs into architecture-dependent and architecture-independent parts, and then to change the architecture-dependent parts to port the program to a new machine or to tune its performance on a single machine. The architecture-dependent parts of a program are specified by annotations that describe the mapping of a program onto a machine. PRELUDE provides a variety of mapping mechanisms similar to those in other systems, including remote procedure call, object migration, and data replication and partitioning. In addition, PRELUDE includes novel migration mechanisms for computations based on a form of continuation passing. The implementation of object migration in PRELUDE uses a novel approach based on fixup blocks that is more efficient than previous approaches, and amortizes the cost of each migration so that the cost per migration drops as the frequency of migrations increases. The current implementation of PRELUDE is built on top of PROTEUS, a configurable simulator that provides both fast and accurate simulations of a wide range of MIMD architectures. PROTEUS provides powerful non-intrusive debugging and performance monitoring capabilities that are difficult or impossible to obtain on a real machine. In addition, PROTEUS allows the programmer to test the scalability and portability of a program, including on a range of machine sizes and architectures not supported by available machines. We plan to port the implementation of PRELUDE to commercial and research multiprocessors in the near future.