Document Type

Technical Report

Publication Date



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.


A technical report produced by the Portland State University College of Engineering and Computer Science. No date appears on the resource; publication date of 2011 is presumed.

Persistent Identifier