Scalable reader-writer synchronization for shared-memory multiprocessors
PPOPP '91 Proceedings of the third ACM SIGPLAN symposium on Principles and practice of parallel programming
UNIX internals: the new frontiers
UNIX internals: the new frontiers
Memory consistency models for shared-memory multiprocessors
Memory consistency models for shared-memory multiprocessors
Tornado: maximizing locality and concurrency in a shared memory multiprocessor operating system
OSDI '99 Proceedings of the third symposium on Operating systems design and implementation
Experience with processes and monitors in Mesa
Communications of the ACM
Hazard Pointers: Safe Memory Reclamation for Lock-Free Objects
IEEE Transactions on Parallel and Distributed Systems
Enabling autonomic behavior in systems software with hot swapping
IBM Systems Journal
Exploiting deferred destruction: an analysis of read-copy-update techniques in operating system kernels
Memory ordering in modern microprocessors, Part I
Linux Journal
Performance of memory reclamation for lockless synchronization
Journal of Parallel and Distributed Computing
Introducing technology into the Linux kernel: a case study
ACM SIGOPS Operating Systems Review - Research and developments in the Linux kernel
The multikernel: a new OS architecture for scalable multicore systems
Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles
Responsive systems: an introduction
IBM Systems Journal
Why the grass may not be greener on the other side: a comparison of locking vs. transactional memory
ACM SIGOPS Operating Systems Review
Scalable concurrent hash tables via relativistic programming
ACM SIGOPS Operating Systems Review
A case for relativistic programming
Proceedings of the 2012 ACM workshop on Relaxing synchronization for multicore and manycore scalability
Structured deferral: synchronization via procrastination
Communications of the ACM
Structured Deferral: Synchronization via Procrastination
Queue - Concurrency
Hi-index | 0.02 |
Read-copy update (RCU) is a synchronization mechanism in the Linux™ kernel that provides significant improvements in multiprocessor scalability by eliminating the writer-delay problem of readers-writer locking. RCU implementations to date, however, have had the side effect of expanding non-preemptible regions of code, thereby degrading real-time response. We present here a variant of RCU that allows preemption of read-side critical sections and thus is better suited for real-time applications. We summarize priority-inversion issues with locking, present an overview of the RCU mechanism, discuss our counter-based adaptation of RCU for real-time use, describe an additional adaptation of RCU that permits general blocking in read-side critical sections, and present performance results. We also discuss an approach for replacing the readers-writer synchronization with RCU in existing implementations.