kirancodes.me
To Proof Maintenance & Beyond!

Checking Concurrent Data Structures Under the C/C++11 Memory Model

Peizhao Ou, Brian Demsky

Abstract

Concurrent data structures often provide better performance on multi-core processors but are significantly more difficult to design and test than their sequential counterparts. The C/C++11 standard introduced a weak memory model with support for low-level atomic operations such as compare and swap (CAS). While low-level atomic operations can significantly improve the performance of concurrent data structures, they introduce non-intuitive behaviors that can increase the difficulty of developing code.

Related papers