COOL: An Object-Based Language for Parallel Programming

  • Authors:
  • Rohit Chandra;Anoop Gupta;John L. Hennessy

  • Affiliations:
  • -;-;-

  • Venue:
  • Computer
  • Year:
  • 1994

Quantified Score

Hi-index 4.10

Visualization

Abstract

Effectively using shared-memory multiprocessors requires substantial programming effort. We present the programming language COOL (Concurrent Object-Oriented Language), which was designed to exploit coarse-grained parallelism at the task level in shared-memory multiprocessors. COOL's primary design goals are efficiency and expressiveness. By efficiency we mean that the language constructs should be efficient to implement and a program should not have to pay for features it does not use. By expressiveness, we imply that the program should flexibly support different concurrency patterns, thereby allowing various decompositions of a problem. COOL emphasizes the integration of concurrency and synchronization with data abstraction to ease the task of creating modular and efficient parallel programs. It is an extension of C++, which was chosen because it supports abstract data type definitions and is widely used.