UWSpace is currently experiencing technical difficulties resulting from its recent migration to a new version of its software. These technical issues are not affecting the submission and browse features of the site. UWaterloo community members may continue submitting items to UWSpace. We apologize for the inconvenience, and are actively working to resolve these technical issues.
 

The Fence Complexity of Persistent Sets

dc.contributor.authorCoccimiglio, Gaetano
dc.date.accessioned2021-09-21T12:59:15Z
dc.date.available2021-09-21T12:59:15Z
dc.date.issued2021-09-21
dc.date.submitted2021-09-15
dc.description.abstractThis thesis studies fence complexity of concurrent sets in a non-volatile shared memory model. I consider the case where CPU registers and cache memory remain volatile while main memory is non-volatile. Flush instructions are required to force shared state to be written back to non-volatile memory. These flush instructions must be accompanied by the use of expensive fence instructions to enforce ordering among such flushes. Collectively I refer to a flush and a fence as a psync. In this model the system can crash at any time. When the system crashes the contents of volatile memory are lost. I consider lock-free implementations of the set abstract data type and the safety properties of strict linearizability and durable linearizability. Strict linearizability forces crashed operations to take effect before the crash or not take effect at all; the weaker property of durable linearizability enforces this requirement only for operations that have completed prior to the crash event. In this thesis, I consider classes of strict linearizable implementations that guarantee operations take effect at or before the point when the operation is persisted. I prove two lower bounds for lock-free implementations of the set abstract data type. First, I prove that it is impossible to implement strict linearizable lock-free sets in which read-only (or search) operations do not flush or fence. Second, I prove that for any durable-linearizable lock-free set there must exist an execution in which some process must perform at least one redundant psync as part of an update operation. I also present several implementations of persistent concurrent lock-free sets. I evaluate these implementations against existing persistent sets. This evaluation exposes the impact of algorithmic design and safety properties on psync complexity in practice as well as the cost of recovering the data structure following a system crash.en
dc.identifier.urihttp://hdl.handle.net/10012/17433
dc.language.isoenen
dc.pendingfalse
dc.publisherUniversity of Waterlooen
dc.subjectconcurrent setsen
dc.subjectnon-volatile memoryen
dc.subjectstrict linearizabilityen
dc.subjectdurable linearizbilityen
dc.subjectpersistent memoryen
dc.subjectlower boundsen
dc.subjectpersistent setsen
dc.titleThe Fence Complexity of Persistent Setsen
dc.typeMaster Thesisen
uws-etd.degreeMaster of Mathematicsen
uws-etd.degree.departmentDavid R. Cheriton School of Computer Scienceen
uws-etd.degree.disciplineComputer Scienceen
uws-etd.degree.grantorUniversity of Waterlooen
uws-etd.embargo.terms0en
uws.contributor.advisorBrown, Trevor
uws.contributor.affiliation1Faculty of Mathematicsen
uws.peerReviewStatusUnrevieweden
uws.published.cityWaterlooen
uws.published.countryCanadaen
uws.published.provinceOntarioen
uws.scholarLevelGraduateen
uws.typeOfResourceTexten

Files

Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Coccimiglio_Gaetano.pdf
Size:
2.81 MB
Format:
Adobe Portable Document Format
Description:
Full thesis
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
6.4 KB
Format:
Item-specific license agreed upon to submission
Description: