VSync: Push-button verification and optimization for synchronization primitives on weak memory models

46Citations
Citations of this article
38Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Implementing highly efficient and correct synchronization primitives on modern Weak Memory Model (WMM) architectures, such as ARM and RISC-V, is very difficult even for human experts. We introduce VSync, a framework to assist in optimizing and verifying synchronization primitives on WMM architectures. VSync automatically detects missing and overly-constrained barriers, while ensuring essential safety and liveness properties. VSync relies on two novel techniques: 1) Adaptive Linear Relaxation (ALR), which utilizes barrier monotonicity and speculation to quickly find a correct maximally-relaxed barrier combination; and 2) Await Model Checking (AMC), which for the first time makes it possible to check termination of await loops on WMMs. We use VSync to automatically optimize and verify state-of-the-art synchronization primitives from systems like seL4, CertiKOS, musl libc, DPDK, Concurrency Kit, and Linux, as well as from the literature. In doing so, we found three correctness bugs on deployed systems due to missing barriers and several performance bugs due to overly-constrained barriers. Synchronization primitives optimized by VSync have similar performance to industrial libraries optimized by experts.

Author supplied keywords

Cite

CITATION STYLE

APA

Oberhauser, J., Chehab, R. L. D. L., Behrens, D., Fu, M., Paolillo, A., Oberhauser, L., … Vafeiadis, V. (2021). VSync: Push-button verification and optimization for synchronization primitives on weak memory models. In International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS (pp. 530–545). Association for Computing Machinery. https://doi.org/10.1145/3445814.3446748

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free