Transactional Memory (TM) promises a unique combination of safety, convenience, and scalability for synchronization in parallel programs. Programs are annotated with transactions designating regions of code that must execute atomically, and the TM implementation is responsible for guaranteeing this property. Scalable TM implementations will be speculative, executing transactions concurrently where possible and transparently suppressing those that conflict, while guaranteeing that the history of committed transactions is serializable. Recently, practical language integration issues, e.g., publication and privatization, explicit speculation, and interoperability with traditional synchronization, have threatened to erode much of the simplicity that originally made transactional programming appealing. In this thesis we preserve the appeal of transactional programming in practical language settings through wholesale replacement of the traditional memory consistency model with strict serializability (SS)—a transactional memory consistency model derived from the database semantics of the same name. We develop NOrec, a low overhead and moderately scalable software TM that supports SS. We develop and test a novel hybrid TM strategy that pairs NOrec with “best-effort” hardware TM in order to scalably support SS on limited hardware. Finally, we implement a novel sandboxing system that simplifies existing software TMs and enables TM implementations that were not previously viable. We conclude that it is possible to address the practical concerns with language integration without sacrificing the elegant simplicity of transactional programming.
|Advisor:||Scott, Michael L.|
|Commitee:||Childers, Bruce R., Ding, Chen, Dwarkadas, Sandhya, Huang, Michael|
|School:||University of Rochester|
|Department:||Hajim School of Engineering and Applied Sciences|
|School Location:||United States -- New York|
|Source:||DAI-B 75/07(E), Dissertation Abstracts International|
|Keywords:||Concurrent programming, Parallel programming, Programming languages, Transactional memory|
Copyright in each Dissertation and Thesis is retained by the author. All Rights Reserved
The supplemental file or files you are about to download were provided to ProQuest by the author as part of a
dissertation or thesis. The supplemental files are provided "AS IS" without warranty. ProQuest is not responsible for the
content, format or impact on the supplemental file(s) on our system. in some cases, the file type may be unknown or
may be a .exe file. We recommend caution as you open such files.
Copyright of the original materials contained in the supplemental file is retained by the author and your access to the
supplemental files is subject to the ProQuest Terms and Conditions of use.
Depending on the size of the file(s) you are downloading, the system may take some time to download them. Please be