Programming Language Concepts for Multiprocessors.

Abstract

It is currently possible to build multiprocessor systems which will support the tightly coupled activity of hundreds to thousands of different instruction streams, or processes. This can be done by coupling many monoprocessors, or a smaller number of pipelined multiprocessors, through a high concurrency switching network. The switching network may be couple processors to memory modules, resulting in a shared memory multiprocessor system, or it may couple processor/memory pairs, resulting in a distributed memory system. The need to direct the activity of very many processes simultaneously places qualitatively different demands on a programming language than the direction of a single process. In spite of the different requirements, most languages for multiprocessors have been simple extensions of conventional, single stream programming languages. The extensions are often implemented by way of subroutine calls and have little impact on the basic structure of the language. This paper attempts to examine the underlying conceptual structure of parallel languages for large scale multiprocessors on the basis of an existing language for shared memory multiprocessors, known as the Force, and to extend the concepts in this language to distributed memory systems.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Sep 01, 1987
Accession Number
ADA193465

Entities

People

  • Harry F. Jordan

Organizations

  • University of Colorado Boulder

Tags

Communities of Interest

  • Materials and Manufacturing Processes

DTIC Thesaurus Topics

  • Algorithms
  • Cells
  • Computations
  • Computer Programming
  • Computers
  • Decomposition
  • Differential Equations
  • Engineering
  • Global Communications
  • Instructions
  • Language
  • Parallel Computing
  • Parallel Processing
  • Partial Differential Equations
  • Programming Languages
  • Scheduling (Production)
  • Systems Engineering

Fields of Study

  • Engineering

Readers

  • Parallel and Distributed Computing.
  • Theoretical Analysis.