著者
Brian N. Bershad
タイトル
Practical Considerations for Lock-Free Concurrent Objects
日時
Sep 1991
概要
An important class of concurrent objects are those that are lock-free, that is, whose operations are not contained within mutually exclusive critical sections. A lock-free object can be accessed by many threads at a time, yet clever update protocols based on atomic Compare-And-Swap operations guarantee the object's consistency. In this paper we take a practical look at the Compare-And-Swap operation in the context of contemporary shared memory multi- processors. We first describe an operating system-based solution that permits the construction of a non-blocking Compare-And-Swap function on processor architectures that only support lock- oriented atomic primitives. We then evaluate several locking strategies that can be used to synthesize a Compare-And-Swap operation. We show that the common techniques for reducing the overhead of lock-oriented synchronization in the presence of contention are inappropriate when used as the basis for lock-free synch- ronization. We then describe s simple modification to an existing synch- ronization protocol which allows us to avoid much of the overhead normally associated with contention.
カテゴリ
CMUTR
Category: CMUTR
Institution: Department of Computer Science, Carnegie
        Mellon University
Abstract: An important class of concurrent objects are those that are
        lock-free, that is, whose operations are not contained within
        mutually exclusive critical sections.
        A lock-free object can be accessed by many threads at a time,
        yet clever update protocols based on atomic Compare-And-Swap 
        operations guarantee the object's consistency.
        In this paper we take a practical look at the Compare-And-Swap
        operation in the context of contemporary shared memory multi-
        processors.
        We first describe an operating system-based solution that 
        permits the construction of a non-blocking Compare-And-Swap
        function on processor architectures that only support lock-
        oriented atomic primitives.
        We then evaluate several locking strategies that can be used
        to synthesize a Compare-And-Swap operation.
        We show that the common techniques for reducing the overhead
        of lock-oriented synchronization in the presence of contention
        are inappropriate when used as the basis for lock-free synch-
        ronization.
        We then describe s simple modification to an existing synch-
        ronization protocol which allows us to avoid much of the 
        overhead normally associated with contention. 
Number: CMU-CS-91-183
Bibtype: TechReport
Month: Sep
Author: Brian N. Bershad		
Title: Practical Considerations for Lock-Free Concurrent Objects
Year: 1991
Address: Pittsburgh, PA
Super: @CMUTR