Learn More
1 ABSTRACT 1 Synchronization overhead, contention, and deadlock can pose severe challenges to designers and implementers of parallel programs. Therefore, many researchers have proposed update disciplines that solve these problems in restricted but commonly occurring situations. However, these proposals rely either on garbage collectors [7, 8], termination(More)
Read-copy update is a mechanism for constructing highly scalable algorithms for accessing and modifying read-mostly data structures, while avoiding cacheline bouncing, memory contention, and deadlocks that plague highly scalable operating system implementations. In particular, code that performs read-only accesses may be written without any locks, atomic(More)
The performance of synchronization instructions on shared memory multiprocessors (SMMP) has declined dramatically compared to the performance of simple instructions. As a result, operating system developers for SMMPs have sought out synchronization algorithms that avoid using these instructions, especially in commonly executed paths. One such algorithm that(More)
Read-copy update (RCU) is a synchronization technique that often replaces reader-writer locking because RCU's read-side primitives are both wait-free and an order of magnitude faster than uncontended locking. Although RCU updates are relatively heavy weight, the importance of read-side performance is increasing as computing systems become more responsive to(More)
Read-copy update (RCU) has been used in the Linux kernel for more than a decade, raising the question of exactly what it is used for. To answer this question, we briefly survey use of RCU in the Linux kernel, addressing the why, where, and how of its usage. This document also includes a novel graphical depiction of the relationships among several patterns(More)
Autonomic computing systems are designed to be self-diagnosing and self-modifying, such that they notice performance and correctness problems, pinpoint their causes, and react accordingly. These abilities can increase performance, uptime, and security, while simultaneously reducing the effort and knowledge required of system administrators. One way that(More)