Affiliation:
1. Technion, Haifa, Israel
Abstract
Lock-freedom is a progress guarantee that ensures overall program progress. Wait-freedom is a stronger progress guarantee that ensures the progress of each thread in the program. While many practical lock-free algorithms exist, wait-free algorithms are typically inefficient and hardly used in practice. In this paper, we propose a methodology called
fast-path-slow-path
for creating efficient wait-free algorithms. The idea is to execute the efficient lock-free version most of the time and revert to the wait-free version only when things go wrong. The generality and effectiveness of this methodology is demonstrated by two examples. In this paper, we apply this idea to a recent construction of a wait-free queue, bringing the wait-free implementation to perform in practice as efficient as the lock-free implementation. In another work, the fast-path-slow-path methodology has been used for (dramatically) improving the performance of a wait-free linked-list.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
51 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. A wait-free queue with polylogarithmic step complexity;Distributed Computing;2024-08-17
2. Type-Based Gradual Typing Performance Optimization;Proceedings of the ACM on Programming Languages;2024-01-05
3. A Wait-free Queue with Polylogarithmic Step Complexity;Proceedings of the 2023 ACM Symposium on Principles of Distributed Computing;2023-06-16
4. Wait-Free Updates and Range Search Using Uruv;Lecture Notes in Computer Science;2023
5. WRLqueue: A Lock-Free Queue For Embedded Real-Time System;2022 IEEE 24th Int Conf on High Performance Computing & Communications; 8th Int Conf on Data Science & Systems; 20th Int Conf on Smart City; 8th Int Conf on Dependability in Sensor, Cloud & Big Data Systems & Application (HPCC/DSS/SmartCity/DependSys);2022-12