Sponsor
This material is based upon work supported in part by the National Science Foundation under Grant No. CNS- 0719851.
Document Type
Article
Publication Date
5-2011
Subjects
Transaction systems (Computer systems), Threads (Computer programs), Synchronization, Systems programming (Computer science), Parallel programming (Computer science) -- Performance
Abstract
Relativistic Programming is a technique that allows low overhead, linearly-scalable concurrent reads. It also allows joint access parallelism between readers and a writer. Unfortunately, it has so far been limited to a single writer so it does not scale on the write side. Software Transactional Memory (STM) is a technique that allows programs to take advantage of disjoint access parallelism on both the read-side and write-side. Unfortunately, STM systems have a higher overhead than many other synchronization mechanisms so although STM scales, STM starts from a lower baseline. We propose combining relativistic programming and software transactional memory in a way that gets the best of both worlds: low-overhead linearly-scalable reads that never conflict with writes and scalable disjoint access parallel writes. We argue for the correctness of our approach and present performance data that shows an actual implementation that delivers the promised performance characteristics.
Persistent Identifier
http://archives.pdx.edu/ds/psu/10378
Citation Details
Howard, Philip W., and Jonathan Walpole. "A relativistic enhancement to software transactional memory." 3rd USENIX Workshop on Hot Topics in Parallelism (HotPar 2011). 2011.
Description
Permission has been granted by the USENIX Association to reprint the above paper. This paper was originally published in the proceedings of the 3rd USENIX Workshop on Hot Topics in Parallelism (HotPar 2011). © USENIX Association, 2011.