Lock-Free Concurrent Data Structures
Kapitel i bok, 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

Idiosyncratic architectural features

Memory management

Parallel programming

Graphics processors

Lock-free concurrent data structures

Författare

Daniel Cederman

Chalmers, Data- och informationsteknik, Nätverk och system

A. Gidenstam

Högskolan i Borås

P. Ha

Universitetet i Tromso

Håkan Sundell

Högskolan i Borås

Marina Papatriantafilou

Chalmers, Data- och informationsteknik, Nätverk och system

Philippas Tsigas

Chalmers, Data- och informationsteknik, Nätverk och system

Programming multi-core and many-core computing systems

29-58

Ämneskategorier

Data- och informationsvetenskap

DOI

10.1002/9781119332015.ch3

ISBN

9781119332015