This material is based upon work supported in part by the National Science Foundation under Grant No. CNS-0719851.
Functional programming (Computer science), Parallel processing (Electronic computers), Electronic data processing -- Distributed processing
The semantics of reader-writer locks allow read-side concurrency. Unfortunately, the locking primitives serialize access to the lock variable to an extent that little or no concurrency is realized in practice for small critical sections. Relativistic programming is a methodology that also allows read- side concurrency. Relativistic programming uses dfferent ordering constraints than reader-writer locking. The different ordering constraints allow relativistic readers to proceed without synchronization so relativistic readers scale even for very short critical sections. In this paper we explore the diferences between the ordering constraints for reader-writer locking and relativistic programs. We show how and why the dfferent ordering constraints allow relativistic programs to have both better performance and better scalability than their reader-writer locking counterparts.
Howard, Philip William; Triplett, Josh; Walpole, Jonathan; and McKenney, Paul E., "The Ordering Requirements of Relativistic and Reader-Writer Locking Approaches to Shared Data Access" (2011). Computer Science Faculty Publications and Presentations. 54.