Show simple item record

dc.contributor.authorAlistarh, Dan
dc.contributor.authorCensor-Hillel, Keren
dc.contributor.authorShavit, Nir N.
dc.date.accessioned2014-10-23T17:45:18Z
dc.date.available2014-10-23T17:45:18Z
dc.date.issued2014-05
dc.identifier.isbn978-1-4503-2710-7
dc.identifier.urihttp://hdl.handle.net/1721.1/91155
dc.description.abstractLock-free concurrent algorithms guarantee that some concurrent operation will always make progress in a finite number of steps. Yet programmers prefer to treat concurrent code as if it were wait-free, guaranteeing that all operations always make progress. Unfortunately, designing wait-free algorithms is generally a very complex task, and the resulting algorithms are not always efficient. While obtaining efficient wait-free algorithms has been a long-time goal for the theory community, most non-blocking commercial code is only lock-free. This paper suggests a simple solution to this problem. We show that, for a large class of lock-free algorithms, under scheduling conditions which approximate those found in commercial hardware architectures, lock-free algorithms behave as if they are wait-free. In other words, programmers can keep on designing simple lock-free algorithms instead of complex wait-free ones, and in practice, they will get wait-free progress. Our main contribution is a new way of analyzing a general class of lock-free algorithms under a stochastic scheduler. Our analysis relates the individual performance of processes with the global performance of the system using Markov chain lifting between a complex per-process chain and a simpler system progress chain. We show that lock-free algorithms are not only wait-free with probability 1, but that in fact a general subset of lock-free algorithms can be closely bounded in terms of the average number of steps required until an operation completes. To the best of our knowledge, this is the first attempt to analyze progress conditions, typically stated in relation to a worst case adversary, in a stochastic model capturing their expected asymptotic behavior.en_US
dc.language.isoen_US
dc.publisherAssociation for Computing Machinery (ACM)en_US
dc.relation.isversionofhttp://dx.doi.org/10.1145/2591796.2591836en_US
dc.rightsCreative Commons Attribution-Noncommercial-Share Alikeen_US
dc.rights.urihttp://creativecommons.org/licenses/by-nc-sa/4.0/en_US
dc.sourcearXiven_US
dc.titleAre lock-free concurrent algorithms practically wait-free?en_US
dc.typeArticleen_US
dc.identifier.citationDan Alistarh, Keren Censor-Hillel, and Nir Shavit. 2014. Are lock-free concurrent algorithms practically wait-free?. In Proceedings of the 46th Annual ACM Symposium on Theory of Computing (STOC '14). ACM, New York, NY, USA, 714-723.en_US
dc.contributor.departmentMassachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratoryen_US
dc.contributor.departmentMassachusetts Institute of Technology. Department of Electrical Engineering and Computer Scienceen_US
dc.contributor.mitauthorAlistarh, Danen_US
dc.contributor.mitauthorShavit, Nir N.en_US
dc.relation.journalProceedings of the 46th Annual ACM Symposium on Theory of Computing (STOC '14)en_US
dc.eprint.versionOriginal manuscripten_US
dc.type.urihttp://purl.org/eprint/type/ConferencePaperen_US
eprint.statushttp://purl.org/eprint/status/NonPeerRevieweden_US
dspace.orderedauthorsAlistarh, Dan; Censor-Hillel, Keren; Shavit, Nir N.en_US
dc.identifier.orcidhttps://orcid.org/0000-0002-4552-2414
mit.licenseOPEN_ACCESS_POLICYen_US
mit.metadata.statusComplete


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record