Concurrent Aggregates (CA): An Object-Oriented Language for Fine-Grained Message-Passing Machines

Abstract

Fine-grained parallel machines exhibit great potential for high speed computation. Several machines such as the J-machine and the Mosaic C are projected to provide peak performance of 100's of billions of instructions per second in an air-cooled computer that fits in a cubic meter. While the hardware technology to build fine-grained machines is available, significant challenges remain in developing software systems to harness their computational power. To program massively-concurrent MIMD machines, programmers need tools for managing complexity. One important tool used in the sequential programming world is hierarchies of abstractions. Unfortunately, most concurrent object-oriented languages construct hierarchical abstractions from objects that serialize - serializing the abstractions. In machines with tens of thousands of processors, this unnecessary serialization can cause significant loss of concurrency. Tools for managing concurrency should not restrict or reduce program concurrency. Concurrent Aggregated (CA) provides multiple-access data abstraction tools, Aggregates, for managing program complexity. These tools can be used to implement abstractions with virtually unlimited potential for concurrency. Such tools allow programmers to modularize programs without reducing concurrency. These aggregates can be composed hierarchies of abstractions, allowing the structuring of a program to be highly concurrent at all levels.

Open PDF

Document Details

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

Entities

People

  • Andrew A. Chien

Organizations

  • Massachusetts Institute of Technology

Tags

Communities of Interest

  • Energy and Power Technologies

DTIC Thesaurus Topics

  • Application Software
  • Artificial Intelligence
  • Circuit Boards
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Debugging
  • Electrical Engineering
  • Lisp Programming Language
  • Operating Systems
  • Parallel Computing
  • Parallel Processing
  • Printed Circuit Boards
  • Printed Circuits
  • Programming Languages
  • Two Dimensional

Fields of Study

  • Computer science
  • Engineering

Readers

  • Parallel and Distributed Computing.