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.

Parallel programming

Graphics processors

Memory management

Idiosyncratic architectural features

Multiple processes

Lock-free concurrent data structures

Author

Daniel Cederman

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

A. Gidenstam

Hogskolan i Boras

P. Ha

Universitetet i Tromso

Håkan Sundell

Hogskolan i Boras

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
9781119332015 (ISBN)

Subject Categories (SSIF 2011)

Computer and Information Science

DOI

10.1002/9781119332015.ch3

ISBN

9781119332015

More information

Created

10/7/2017