@giuliano.losa

A methodology for creating fast wait-free data structures

, und . Proceedings of the 17th ACM SIGPLAN symposium on Principles and Practice of Parallel Programming, Seite 141--150. New York, NY, USA, ACM, (2012)
DOI: 10.1145/2145816.2145835

Zusammenfassung

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 <i>fast-path-slow-path</i> 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.

Beschreibung

A methodology for creating fast wait-free data structures

Links und Ressourcen

Tags

Community

  • @giuliano.losa
  • @dblp
@giuliano.losas Tags hervorgehoben