Litcius/Paper detail

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

Jonas Oberhauser, Rafael Lourenco de Lima Chehab, Diogo Behrens, Ming Fu, Antonio Paolillo, Lilith Oberhauser, Koustubha Bhat, Yuzhong Wen, Haibo Chen, Jaeho Kim, Viktor Vafeiadis

202140 citationsDOIOpen Access PDF

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.

Topics & Concepts

LivenessComputer scienceSynchronization (alternating current)Model checkingMemory safetyRelaxation (psychology)Distributed computingEmbedded systemParallel computingAlgorithmProgramming languageComputer networkCompilerPsychologySocial psychologyChannel (broadcasting)Parallel Computing and Optimization TechniquesSecurity and Verification in ComputingDistributed systems and fault tolerance