{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,2,21]],"date-time":"2025-02-21T10:41:42Z","timestamp":1740134502248,"version":"3.37.3"},"reference-count":19,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2017,9,14]],"date-time":"2017-09-14T00:00:00Z","timestamp":1505347200000},"content-version":"vor","delay-in-days":365,"URL":"http:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"ISF","award":["1696\/14"]},{"DOI":"10.13039\/100000001","name":"NSF","doi-asserted-by":"publisher","award":["CCF-1217921, CCF-1301926, IIS-1447786, and CCF-1561807"],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]},{"name":"Oracle and Intel corporations"},{"DOI":"10.13039\/100000015","name":"U.S. Department of Energy","doi-asserted-by":"crossref","award":["DE-SC0008923"],"id":[{"id":"10.13039\/100000015","id-type":"DOI","asserted-by":"crossref"}]},{"name":"SNF Postdoctoral Fellows Program"},{"name":"DoE ASCR","award":["ER26116\/DE-SC0008923"]},{"name":"equipment grants from Intel Corporation"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["J. ACM"],"published-print":{"date-parts":[[2016,11,8]]},"abstract":"Lock-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. Although obtaining efficient wait-free algorithms has been a long-time goal for the theory community, most nonblocking commercial code is only lock-free.<\/jats:p>\n This article suggests a simple solution to this problem. We show that for a large class of lock-free algorithms, under scheduling conditions that approximate those found in commercial hardware architectures, lock-free algorithms behave as if they are wait-free. In other words, programmers can continue to design simple lock-free algorithms instead of complex wait-free ones, and in practice, they will get wait-free progress.<\/jats:p>\n 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 to 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.<\/jats:p>\n 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.<\/jats:p>","DOI":"10.1145\/2903136","type":"journal-article","created":{"date-parts":[[2016,9,14]],"date-time":"2016-09-14T14:38:24Z","timestamp":1473863904000},"page":"1-20","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":5,"title":["Are Lock-Free Concurrent Algorithms Practically Wait-Free?"],"prefix":"10.1145","volume":"63","author":[{"given":"Dan","family":"Alistarh","sequence":"first","affiliation":[{"name":"ETH Zurich, Z\u00fcrich, Switzerland"}]},{"given":"Keren","family":"Censor-Hillel","sequence":"additional","affiliation":[{"name":"Technion, Haifa, Israel"}]},{"given":"Nir","family":"Shavit","sequence":"additional","affiliation":[{"name":"MIT and Tel-Aviv University, MA, USA"}]}],"member":"320","published-online":{"date-parts":[[2016,9,14]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/2483852.2483866"},{"key":"e_1_2_1_2_1","doi-asserted-by":"crossref","unstructured":"Dan Alistarh Keren Censor-Hillel and Nir Shavit. 2013. Are lock-free concurrent algorithms practically wait-free? arXiv:1311.3200. Dan Alistarh Keren Censor-Hillel and Nir Shavit. 2013. Are lock-free concurrent algorithms practically wait-free? arXiv:1311.3200.","DOI":"10.1145\/2591796.2591836"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/2591796.2591836"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/2767386.2767430"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0196-6774(02)00220-1"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-662-48653-5_23"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/301250.301315"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/2486159.2486182"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1007\/11561927_8"},{"volume-title":"Technical Report UCAM-CL-TR-579. Computer Laboratory","author":"Fraser Keir","key":"e_1_2_1_10_1"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1147\/sj.472.0221"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/2851141.2851155"},{"volume-title":"Proceedings of the 13th International Conference on Approximation, and the 14th International Conference on Randomization and Combinatorial Optimization: Algorithms and Techniques (APPROX\/RANDOM\u201910)","year":"1886","author":"Thomas","key":"e_1_2_1_13_1"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/114005.102808"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-25873-2_22"},{"key":"e_1_2_1_16_1","doi-asserted-by":"crossref","unstructured":"David A. Levin Yuval Peres and Elizabeth L. Wilmer. 2008. Markov Chains and Mixing Times. American Mathematical Society Providence RI. David A. Levin Yuval Peres and Elizabeth L. Wilmer. 2008. Markov Chains and Mixing Times. American Mathematical Society Providence RI.","DOI":"10.1090\/mbk\/058"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/248052.248106"},{"key":"e_1_2_1_18_1","doi-asserted-by":"crossref","unstructured":"Michael Mitzenmacher and Eli Upfal. 2005. Probability and Computing: Randomized Algorithms and Probabilistic Analysis. Cambridge University Press New York NY. Michael Mitzenmacher and Eli Upfal. 2005. Probability and Computing: Randomized Algorithms and Probabilistic Analysis. Cambridge University Press New York NY.","DOI":"10.1017\/CBO9780511813603"},{"volume-title":"Systems Programming: Coping with Parallelism. Technical Report RJ 5118","year":"1986","author":"Treiber R. K.","key":"e_1_2_1_19_1"}],"container-title":["Journal of the ACM"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2903136","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2903136","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,12,31]],"date-time":"2022-12-31T09:43:38Z","timestamp":1672479818000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2903136"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2016,9,14]]},"references-count":19,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2016,11,8]]}},"alternative-id":["10.1145\/2903136"],"URL":"https:\/\/doi.org\/10.1145\/2903136","relation":{},"ISSN":["0004-5411","1557-735X"],"issn-type":[{"type":"print","value":"0004-5411"},{"type":"electronic","value":"1557-735X"}],"subject":[],"published":{"date-parts":[[2016,9,14]]},"assertion":[{"value":"2015-03-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2016-03-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2016-09-14","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}