Pi: A Parallel Architecture Interface for Multi-Model Execution

Abstract

Existing parallel architectures are constructed monolithically, with no well defined boundaries separating model and machine issues. This makes it difficult to evaluate the effect of a single component of an architecture, or compare it with the corresponding components of other architectures. Machine hardware is specialized to support a single programming model, even though similar but more general mechanisms could support a variety of models. Often details of an implementation become visible in the programming environment, restricting future implementation improvements because of compatibility. The lack of an interface between model and machine issues also complicates the translation of a machine improvement into a performance improvement for model applications. This thesis defines Pi, a parallel architecture interface that separates model and machine issues, allowing them to be addressed independently. This provides greater flexibility for both the model and machine builder. Pi addresses a set of common parallel model requirements including low latency communication, fast task switching, low cost synchronization, efficient storage management, the ability to exploit locality, and efficient support for sequential code. Since Pi provides generic parallel operations, it can efficiently support for sequential code. Since Pi provides generic parallel operations, it can efficiently support many parallel programming models including hybrids of existing models. Pi also forms a basis of comparison for architectural components. (kr)

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Jul 01, 1990
Accession Number
ADA228345

Entities

People

  • Donald S. Wills

Organizations

  • Massachusetts Institute of Technology

Tags

Communities of Interest

  • Advanced Electronics
  • C4I
  • Energy and Power Technologies

DTIC Thesaurus Topics

  • Application Software
  • Artificial Intelligence
  • Cells
  • Communication Networks
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Computing System Architectures
  • Content Addressable Memory
  • Instruction Set Architecture
  • Language
  • Lisp Programming Language
  • Operating Systems
  • Parallel Computing
  • Programming Languages
  • Simulators

Fields of Study

  • Computer science
  • Engineering

Readers

  • Adaptive Control and Estimation with Uncertainty in Dynamic Systems.
  • Database Systems and Applications
  • Parallel and Distributed Computing.