Capsules: A Shared Memory Access Mechanism for Concurrent C/C++

  • Authors:
  • N. H. Gehani

  • Affiliations:
  • -

  • Venue:
  • IEEE Transactions on Parallel and Distributed Systems
  • Year:
  • 1993

Quantified Score

Hi-index 0.00

Visualization

Abstract

Concurrent C/C++ is a superset of C and C++ that provides parallel programming facilities based on message passing. Upon porting Concurrent C/C++to a shared memorymultiprocessor, the authors believed it would be appropriate to supplement ConcurrentC/C++ with explicit facilities for synchronizing accesses to shared data structures. Thecapsule, which is a shared memory access mechanism designed especially for ConcurrentC/C++ to match the C++data abstraction facility called the class, is discussed. Capsulesare like monitors but they have significant advantages. Capsules satisfy T. Bloom's (1979) criteria for expressiveness of synchronization conditions, support inheritance, allow operations to execute in parallel, and permit them to time out. The design of capsules is reviewed. The author evaluates existing shared memory mechanisms, describes capsules, gives examples of capsules, compares capsules with monitors, and discusses how capsules are implemented by the Concurrent C compiler.