• DocumentCode
    1824481
  • Title

    Practical considerations for non-blocking concurrent objects

  • Author

    Bershad, Brian N.

  • Author_Institution
    Carnegie Mellon Univ., Pittsburgh, PA, USA
  • fYear
    1993
  • fDate
    25-28 May 1993
  • Firstpage
    264
  • Lastpage
    273
  • Abstract
    An important class of concurrent objects are those that are nonblocking, that is, whose operations are not contained within mutually exclusive critical sections. A nonblocking object can be accessed by many threads at a time, yet update protocols based on atomic compare-and-swap operations can be used to guarantee the object´s consistency. The author examines the compare-and-swap operation in the content of contemporary bus-based shared memory multiprocessors, although the results generalize to distributed shared memory multiprocessors. He describes an operating system-based solution that permits the construction of a nonblocking compare-and-swap function on architectures that only support more primitive atomic primitives such as test-and-set or atomic exchange. Several locking strategies are evaluated that can be used to synthesize a compare-and-swap operation, and it is shown that the common techniques for reducing synchronization overhead in the presence of contention are inappropriate when used as the basis for nonblocking synchronization. A simple synchronization strategy is described that has good performance because it avoids much of the synchronization overhead that normally occurs when there is contention
  • Keywords
    concurrency control; operating systems (computers); protocols; shared memory systems; synchronisation; atomic compare-and-swap operations; atomic exchange; bus-based shared memory multiprocessors; contention; distributed shared memory multiprocessors; locking strategies; mutually exclusive critical sections; nonblocking concurrent objects; nonblocking synchronization; operating system; primitive atomic primitives; synchronization overhead; test-and-set; threads; update protocols; Access protocols; Computer science; Concurrent computing; Contracts; Information science; Software performance; System recovery; System testing; US Government; Yarn;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Distributed Computing Systems, 1993., Proceedings the 13th International Conference on
  • Conference_Location
    Pittsburgh, PA
  • Print_ISBN
    0-8186-3770-6
  • Type

    conf

  • DOI
    10.1109/ICDCS.1993.287700
  • Filename
    287700