Published In

Linux Weekly News (LWN.net)

Document Type

Article

Publication Date

12-2007

Subjects

Functional programming (Computer science), Linux, Operating systems (Computers), Electronic data processing -- Distributed processing

Abstract

Read-copy update (RCU) is a synchronization mechanism that was added to the Linux kernel in October of 2002. RCU achieves scalability improvements by allowing reads to occur concurrently with updates. In contrast with conventional locking primitives that ensure mutual exclusion among concurrent threads regardless of whether they be readers or updaters, or with reader-writer locks that allow concurrent reads but not in the presence of updates, RCU supports concurrency between a single updater and multiple readers. RCU ensures that reads are coherent by maintaining multiple versions of objects and ensuring that they are not freed up until all pre-existing read-side critical sections complete. RCU defines and uses efficient and scalable mechanisms for publishing and reading new versions of an object, and also for deferring the collection of old versions. These mechanisms distribute the work among read and update paths in such a way as to make read paths extremely fast. In some cases (non-preemptable kernels), RCU's read-side primitives have zero overhead.

Description

The first in what is proposed as a three-part series on how the read-copy-update mechanism works.

Persistent Identifier

http://archives.pdx.edu/ds/psu/10650

Share

COinS