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.

Graphics processors

Memory management

Idiosyncratic architectural features

Lock-free concurrent data structures

Parallel programming

Multiple processes

Author

Daniel Cederman

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

A. Gidenstam

University of Borås

P. Ha

Universitetet i Tromsö

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

Subject Categories

Computer and Information Science

DOI

10.1002/9781119332015.ch3

ISBN

9781119332015

More information

Latest update

8/27/2018