Futex based locks for C11's generic atomics (extended abstract)

Jens Gustedt 1
1 CAMUS - Compilation pour les Architectures MUlti-coeurS
Inria Nancy - Grand Est, ICube - Laboratoire des sciences de l'ingénieur, de l'informatique et de l'imagerie
Abstract : We present a new algorithm and implementation of a lock primitive that is based on Linux' native lock interface, the futex system call. It allows us to assemble compiler support for atomic data structures that can not be handled through specific hardware instructions. Such a tool is needed for C11's atomics interface because here an _Atomic qualification can be attached to almost any data type. Our lock data structure for that purpose meets very specific criteria concerning its field of operation and its performance. By that we are able to outperform gcc's libatomic library by around 60%.
Complete list of metadatas

Cited literature [6 references]  Display  Hide  Download

https://hal.inria.fr/hal-01304108
Contributor : Jens Gustedt <>
Submitted on : Tuesday, April 19, 2016 - 10:41:35 AM
Last modification on : Saturday, October 27, 2018 - 1:23:57 AM
Long-term archiving on : Tuesday, November 15, 2016 - 5:43:21 AM

File

sac2016.pdf
Explicit agreement for this submission

Identifiers

Citation

Jens Gustedt. Futex based locks for C11's generic atomics (extended abstract). The 31st Annual ACM Symposium on Applied Computing, Apr 2016, Pisa, Italy. ⟨10.1145/2851613.2851956⟩. ⟨hal-01304108⟩

Share

Metrics

Record views

303

Files downloads

350