• DocumentCode
    1131370
  • Title

    COOL: An object-based language for parallel programming

  • Author

    Chandra, Rohit ; Gupta, Anoop ; Hennessy, John L.

  • Author_Institution
    Comput. Syst. Lab., Stanford Univ., CA, USA
  • Volume
    27
  • Issue
    8
  • fYear
    1994
  • Firstpage
    13
  • Lastpage
    26
  • 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.<>
  • Keywords
    abstract data types; object-oriented languages; parallel languages; synchronisation; C++; COOL; Concurrent Object-Oriented Language; abstract data type definitions; concurrency patterns; data abstraction; design goals; efficiency; expressiveness; language constructs implementation; parallel programming language; problem decompositions; shared-memory multiprocessors; synchronization; task-level coarse-grained parallelism; Computer languages; Concurrent computing; Parallel processing; Parallel programming; Program processors; Programming environments; Programming profession; Protection; Runtime; Writing;
  • fLanguage
    English
  • Journal_Title
    Computer
  • Publisher
    ieee
  • ISSN
    0018-9162
  • Type

    jour

  • DOI
    10.1109/2.303616
  • Filename
    303616