-
Welcome
-
Subscribe to
Enabling Fast Per-CPU User-Space Algorithms with Restartable Sequences
Session information has not yet been published for this event.
One Line Summary
Explanation of the Restartable Sequences (rseq) system call: algorithm, ABI, and use-cases.
Abstract
In 2012, Paul Turner and Andrew Hunter (Google) proposed a mechanism initially called “PerCpu Atomics”. Its main purpose is to allow performing atomic operations on per-CPU data without the overhead of atomic instructions. After many rounds of feedback, its latest implementation is known as “Restartable Sequences”. It opens the door to implementation of various per-CPU algorithms in user-space, better use of system memory and CPU caches. This presentation is about the current ABI exposed by the proposed system call, its algorithm, how to use it from user-space, and discussion of the use-cases it fulfills, namely:
- Per-CPU memory allocators,
- Per-CPU RCU grace period tracking in user-space,
- Per-CPU ring buffers,
- Per-CPU spinlocks.
Tags
scaling, performance, System Call, Atomic Operations, Per-CPU
Presentation Materials
slidesSpeaker
-
Mathieu Desnoyers
EfficiOS- Website: http://www.efficios.com/
- Blog: http://lttng.org/blog
- Twitter: DesnoyersMa
Biography
Mathieu Desnoyers main contributions are in the area of tracing (monitoring/performance analysis/debugging) and scalability, both at the kernel and user-space levels. He maintains the LTTng project, the Userspace RCU library, as well as the Linux kernel membarrier system call. He works in close collaboration with the telecommunication industry, many Linux distributions, and with customers developing hardware scaling from small embedded devices to
large-deployment servers. He is CEO and Senior Software Architect at EfficiOS.