{"oa_version":"None","volume":"12-16-March-2016","date_created":"2018-12-11T11:48:29Z","publist_id":"6871","user_id":"2DF688A6-F248-11E8-B48F-1D18A9856A87","publisher":"ACM","year":"2016","scopus_import":"1","quality_controlled":"1","title":"Lease/Release: Architectural support for scaling contended data structures","status":"public","acknowledgement":"We would like to thank Richard Black, Miguel Castro, Dave Dice, Aleksandar Dragojevic, Maurice Herlihy, Ant Rowstron, Nir Shavit, and Vasileios Trigonakis, as well as the anonymous reviewers, for helpful suggestions during the development of this paper.","type":"conference","doi":"10.1145/2851141.2851155","day":"27","author":[{"full_name":"Haider, Syed","first_name":"Syed","last_name":"Haider"},{"last_name":"Hasenplaugh","first_name":"William","full_name":"Hasenplaugh, William"},{"id":"4A899BFC-F248-11E8-B48F-1D18A9856A87","full_name":"Alistarh, Dan-Adrian","first_name":"Dan-Adrian","last_name":"Alistarh","orcid":"0000-0003-3650-940X"}],"article_processing_charge":"No","month":"02","date_updated":"2022-03-18T12:56:29Z","conference":{"name":"PPoPP: Principles and Practice of Parallel Pogramming"},"date_published":"2016-02-27T00:00:00Z","publication_status":"published","citation":{"ieee":"S. Haider, W. Hasenplaugh, and D.-A. Alistarh, “Lease/Release: Architectural support for scaling contended data structures,” presented at the PPoPP: Principles and Practice of Parallel Pogramming, 2016, vol. 12-16-March-2016.","mla":"Haider, Syed, et al. Lease/Release: Architectural Support for Scaling Contended Data Structures. Vol. 12-16-March-2016, ACM, 2016, doi:10.1145/2851141.2851155.","short":"S. Haider, W. Hasenplaugh, D.-A. Alistarh, in:, ACM, 2016.","apa":"Haider, S., Hasenplaugh, W., & Alistarh, D.-A. (2016). Lease/Release: Architectural support for scaling contended data structures (Vol. 12-16-March-2016). Presented at the PPoPP: Principles and Practice of Parallel Pogramming, ACM. https://doi.org/10.1145/2851141.2851155","ista":"Haider S, Hasenplaugh W, Alistarh D-A. 2016. Lease/Release: Architectural support for scaling contended data structures. PPoPP: Principles and Practice of Parallel Pogramming vol. 12-16-March-2016.","chicago":"Haider, Syed, William Hasenplaugh, and Dan-Adrian Alistarh. “Lease/Release: Architectural Support for Scaling Contended Data Structures,” Vol. 12-16-March-2016. ACM, 2016. https://doi.org/10.1145/2851141.2851155.","ama":"Haider S, Hasenplaugh W, Alistarh D-A. Lease/Release: Architectural support for scaling contended data structures. In: Vol 12-16-March-2016. ACM; 2016. doi:10.1145/2851141.2851155"},"extern":"1","language":[{"iso":"eng"}],"_id":"785","abstract":[{"text":"High memory contention is generally agreed to be a worst-case scenario for concurrent data structures. There has been a significant amount of research effort spent investigating designs which minimize contention, and several programming techniques have been proposed to mitigate its effects. However, there are currently few architectural mechanisms to allow scaling contended data structures at high thread counts. In this paper, we investigate hardware support for scalable contended data structures. We propose Lease/Release, a simple addition to standard directory-based MSI cache coherence protocols, allowing participants to lease memory, at the granularity of cache lines, by delaying coherence messages for a short, bounded period of time. Our analysis shows that Lease/Release can significantly reduce the overheads of contention for both non-blocking (lock-free) and lock-based data structure implementations, while ensuring that no deadlocks are introduced. We validate Lease/Release empirically on the Graphite multiprocessor simulator, on a range of data structures, including queue, stack, and priority queue implementations, as well as on transactional applications. Results show that Lease/Release consistently improves both throughput and energy usage, by up to 5x, both for lock-free and lock-based data structure designs.","lang":"eng"}]}