Strongly Linearizable Implementations of Fundamental Primitives
dc.contributor.advisor | Woelfel, Philipp | |
dc.contributor.author | Ovens, Sean | |
dc.contributor.committeemember | Woelfel, Philipp | |
dc.contributor.committeemember | Cockett, J. Robin B. | |
dc.contributor.committeemember | Hendler, Danny | |
dc.date | 2019-11 | |
dc.date.accessioned | 2019-08-21T18:00:33Z | |
dc.date.available | 2019-08-21T18:00:33Z | |
dc.date.issued | 2019-08-20 | |
dc.description.abstract | Linearizability is the gold standard of correctness conditions for shared memory algorithms, and historically has been considered the practical equivalent of atomicity. However, it has been shown [1] that replacing atomic objects with linearizable implementations can affect the probability distribution of execution outcomes in randomized algorithms. Thus, linearizable objects are not always suitable replacements for atomic objects. A stricter correctness condition called strong linearizability has been developed and shown to be appropriate for randomized algorithms in a strong adaptive adversary model [1]. We devise several new lock-free strongly linearizable implementations from atomic registers. In particular, we give the first strongly linearizable lock-free snapshot implementation that uses bounded space. This improves on the unbounded space solution of Denysyuk and Woelfel [2]. As a building block, our algorithm uses a lock-free strongly linearizable ABA-detecting register. We obtain this object by modifying the wait-free linearizable ABA-detecting register of Aghazadeh and Woelfel [3], which, as we show, is not strongly linearizable. Aspnes and Herlihy [4] identified a wide class types that have wait-free linearizable implementations from atomic registers. These types require that any pair of operations either commute, or one overwrites the other. Aspnes and Herlihy gave a general wait-free linearizable implementation of such types, employing a wait-free linearizable snapshot object. Replacing that snapshot object with our lock-free strongly linearizable one, we prove that all types in this class have a lock-free strongly linearizable implementation from atomic registers. | en_US |
dc.identifier.citation | Ovens, S. (2019). Strongly Linearizable Implementations of Fundamental Primitives (Master's thesis, University of Calgary, Calgary, Canada). Retrieved from https://prism.ucalgary.ca. | en_US |
dc.identifier.doi | http://dx.doi.org/10.11575/PRISM/36841 | |
dc.identifier.uri | http://hdl.handle.net/1880/110755 | |
dc.language.iso | eng | en_US |
dc.publisher.faculty | Science | en_US |
dc.publisher.institution | University of Calgary | en |
dc.rights | University of Calgary graduate students retain copyright ownership and moral rights for their thesis. You may use this material in any way that is permitted by the Copyright Act or through licensing that has been assigned to the document. For uses that are not allowable under copyright legislation or licensing, you are required to seek permission. | en_US |
dc.subject | Distributed Algorithms | en_US |
dc.subject | Shared Memory | en_US |
dc.subject | Strong Linearizability | en_US |
dc.subject.classification | Computer Science | en_US |
dc.title | Strongly Linearizable Implementations of Fundamental Primitives | en_US |
dc.type | master thesis | en_US |
thesis.degree.discipline | Computer Science | en_US |
thesis.degree.grantor | University of Calgary | en_US |
thesis.degree.name | Master of Science (MSc) | en_US |
ucalgary.item.requestcopy | true | en_US |