Locks Considered Harmful: A Look at Non-traditional Synchronization

  • Authors:
  • Michel Raynal

  • Affiliations:
  • IRISA, Rennes Cedex, France 35042

  • Venue:
  • SEUS '08 Proceedings of the 6th IFIP WG 10.2 international workshop on Software Technologies for Embedded and Ubiquitous Systems
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper considers the implementation of concurrent objects in systems prone to asynchrony and process failures. It first shows that lock-based solutions have drawbacks that can make them redhibitory for systems deployed in very demanding environments, such as embedded systems. Then, considering the adaptive renaming problem as a paradigm of coordination and synchronization problems, the paper investigates wait-free implementations of an adaptive renaming object (wait-free means that these implementations do not rest on locks or waiting loops). This problem consists in assigning new distinct names (to the subset of processes that want to acquire a new name) in such a way that the new name space be as small as possible.The best that can be done in asynchronous systems prone to process crashes, and where the processes communicate only through read/write atomic registers, is a new naming space of size M= 2p茂戮驴 1, where pis the number of processes that want to acquire a new name (whatever the number of processes in the system). An algorithm providing such an optimal renaming space is described. Then, it is shown how the use of "additional power" such as appropriate failure detectors, or synchronization primitives stronger than read/write operations, allows to bypass the 2p茂戮驴 1 lower bound.