{"doi":"10.4230/LIPIcs.OPODIS.2019.15","page":"15:1-15:16","file":[{"relation":"main_file","file_id":"7609","date_updated":"2020-07-14T12:48:01Z","checksum":"d66f07ecb609d9f02433e39f80a447e9","file_name":"2019_LIPIcs_Alistarh.pdf","access_level":"open_access","creator":"dernst","content_type":"application/pdf","file_size":13074131,"date_created":"2020-03-23T09:22:48Z"}],"date_updated":"2023-02-23T13:12:12Z","conference":{"name":"OPODIS: International Conference on Principles of Distributed Systems","end_date":"2019-12-19","location":"Neuchatal, Switzerland","start_date":"2019-12-17"},"_id":"7605","publication":"23rd International Conference on Principles of Distributed Systems","day":"01","volume":153,"publisher":"Schloss Dagstuhl - Leibniz-Zentrum für Informatik","year":"2020","language":[{"iso":"eng"}],"oa":1,"license":"https://creativecommons.org/licenses/by/3.0/","publication_status":"published","external_id":{"arxiv":["1911.06347"]},"tmp":{"short":"CC BY (3.0)","image":"/images/cc_by.png","legal_code_url":"https://creativecommons.org/licenses/by/3.0/legalcode","name":"Creative Commons Attribution 3.0 Unported (CC BY 3.0)"},"intvolume":" 153","citation":{"chicago":"Alistarh, Dan-Adrian, Alexander Fedorov, and Nikita Koval. “In Search of the Fastest Concurrent Union-Find Algorithm.” In 23rd International Conference on Principles of Distributed Systems, 153:15:1-15:16. Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 2020. https://doi.org/10.4230/LIPIcs.OPODIS.2019.15.","apa":"Alistarh, D.-A., Fedorov, A., & Koval, N. (2020). In search of the fastest concurrent union-find algorithm. In 23rd International Conference on Principles of Distributed Systems (Vol. 153, p. 15:1-15:16). Neuchatal, Switzerland: Schloss Dagstuhl - Leibniz-Zentrum für Informatik. https://doi.org/10.4230/LIPIcs.OPODIS.2019.15","mla":"Alistarh, Dan-Adrian, et al. “In Search of the Fastest Concurrent Union-Find Algorithm.” 23rd International Conference on Principles of Distributed Systems, vol. 153, Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 2020, p. 15:1-15:16, doi:10.4230/LIPIcs.OPODIS.2019.15.","ieee":"D.-A. Alistarh, A. Fedorov, and N. Koval, “In search of the fastest concurrent union-find algorithm,” in 23rd International Conference on Principles of Distributed Systems, Neuchatal, Switzerland, 2020, vol. 153, p. 15:1-15:16.","ista":"Alistarh D-A, Fedorov A, Koval N. 2020. In search of the fastest concurrent union-find algorithm. 23rd International Conference on Principles of Distributed Systems. OPODIS: International Conference on Principles of Distributed Systems, LIPIcs, vol. 153, 15:1-15:16.","ama":"Alistarh D-A, Fedorov A, Koval N. In search of the fastest concurrent union-find algorithm. In: 23rd International Conference on Principles of Distributed Systems. Vol 153. Schloss Dagstuhl - Leibniz-Zentrum für Informatik; 2020:15:1-15:16. doi:10.4230/LIPIcs.OPODIS.2019.15","short":"D.-A. Alistarh, A. Fedorov, N. Koval, in:, 23rd International Conference on Principles of Distributed Systems, Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 2020, p. 15:1-15:16."},"author":[{"last_name":"Alistarh","full_name":"Alistarh, Dan-Adrian","id":"4A899BFC-F248-11E8-B48F-1D18A9856A87","orcid":"0000-0003-3650-940X","first_name":"Dan-Adrian"},{"full_name":"Fedorov, Alexander","last_name":"Fedorov","first_name":"Alexander"},{"last_name":"Koval","full_name":"Koval, Nikita","id":"2F4DB10C-F248-11E8-B48F-1D18A9856A87","first_name":"Nikita"}],"department":[{"_id":"DaAl"}],"alternative_title":["LIPIcs"],"quality_controlled":"1","scopus_import":"1","abstract":[{"text":"Union-Find (or Disjoint-Set Union) is one of the fundamental problems in computer science; it has been well-studied from both theoretical and practical perspectives in the sequential case. Recently, there has been mounting interest in analyzing this problem in the concurrent scenario, and several asymptotically-efficient algorithms have been proposed. Yet, to date, there is very little known about the practical performance of concurrent Union-Find. This work addresses this gap. We evaluate and analyze the performance of several concurrent Union-Find algorithms and optimization strategies across a wide range of platforms (Intel, AMD, and ARM) and workloads (social, random, and road networks, as well as integrations into more complex algorithms). We first observe that, due to the limited computational cost, the number of induced cache misses is the critical determining factor for the performance of existing algorithms. We introduce new techniques to reduce this cost by storing node priorities implicitly and by using plain reads and writes in a way that does not affect the correctness of the algorithms. Finally, we show that Union-Find implementations are an interesting application for Transactional Memory (TM): one of the fastest algorithm variants we discovered is a sequential one that uses coarse-grained locking with the lock elision optimization to reduce synchronization cost and increase scalability. ","lang":"eng"}],"publication_identifier":{"isbn":["9783959771337"],"issn":["18688969"]},"type":"conference","month":"02","date_published":"2020-02-01T00:00:00Z","file_date_updated":"2020-07-14T12:48:01Z","date_created":"2020-03-22T23:00:46Z","oa_version":"Published Version","user_id":"2DF688A6-F248-11E8-B48F-1D18A9856A87","article_processing_charge":"No","has_accepted_license":"1","status":"public","title":"In search of the fastest concurrent union-find algorithm","ddc":["000"]}