• DocumentCode
    957490
  • Title

    Capsules: a shared memory access mechanism for Concurrent C/C++

  • Author

    Gehani, Narain H.

  • Author_Institution
    AT&T Bell Lab., Murray Hill, NJ, USA
  • Volume
    4
  • Issue
    7
  • fYear
    1993
  • fDate
    7/1/1993 12:00:00 AM
  • Firstpage
    795
  • Lastpage
    811
  • 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 memory multiprocessor, the authors believed it would be appropriate to supplement Concurrent C/C++ with explicit facilities for synchronizing accesses to shared data structures. The capsule, which is a shared memory access mechanism designed especially for Concurrent C/C++ to match the C++data abstraction facility called the class, is discussed. Capsules are 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
  • Keywords
    inheritance; message passing; parallel languages; parallel programming; shared memory systems; synchronisation; Concurrent C compiler; Concurrent C/C++; capsule; class; data abstraction; inheritance; message passing; parallel programming; shared data structures; shared memory access mechanism; shared memory multiprocessor; Computer languages; Data structures; Memory architecture; Message passing; Parallel programming; Programming profession; Specification languages; Strontium;
  • fLanguage
    English
  • Journal_Title
    Parallel and Distributed Systems, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    1045-9219
  • Type

    jour

  • DOI
    10.1109/71.238301
  • Filename
    238301