Lock-Free Concurrent Data Structures
Book chapter, 2017

© 2017 by John Wiley & Sons, Inc. All rights reserved. Concurrent data structures are the data sharing side of parallel programming. An implementation of a data structure is called lock-free, if it allows multiple processes/hreads to access the data structure concurrently and also guarantees that at least one operation among those finishes in a finite number of its own steps regardless of the state of the other operations. This chapter provides a sufficient background and intuition to help the interested reader to navigate in the complex research area of lock-free data structures. It offers the programmer familiarity to the subject that allows using truly concurrent methods. The chapter discusses the fundamental synchronization primitives on which efficient lock-free data structures rely. It discusses the problem of managing dynamically allocated memory in lock-free concurrent data structures and general concurrent environments. The idiosyncratic architectural features of graphics processors that is important to consider when designing efficient lock-free concurrent data structures for this emerging area.

Multiple processes

Memory management

Lock-free concurrent data structures

Graphics processors

Parallel programming

Idiosyncratic architectural features

Author

Daniel Cederman

Chalmers, Computer Science and Engineering (Chalmers), Networks and Systems (Chalmers)

A. Gidenstam

University of Borås

P. Ha

University of Tromsø – The Arctic University of Norway

Håkan Sundell

University of Borås

Marina Papatriantafilou

Chalmers, Computer Science and Engineering (Chalmers), Networks and Systems (Chalmers)

Philippas Tsigas

Chalmers, Computer Science and Engineering (Chalmers), Networks and Systems (Chalmers)

Programming multi-core and many-core computing systems

29-58

Fine-grain synchronization and memory consistency in parallell programming (or Helping programmers avoid surprises due to aggressive memory models)

Swedish Research Council (VR) (2010-4801), 2011-01-01 -- 2013-12-31.

Areas of Advance

Information and Communication Technology

Subject Categories (SSIF 2011)

Computer and Information Science

DOI

10.1002/9781119332015.ch3

More information

Latest update

12/16/2025