Stability in weak memory models

  • Authors:
  • Jade Alglave;Luc Maranget

  • Affiliations:
  • Oxford University and INRIA;INRIA

  • Venue:
  • CAV'11 Proceedings of the 23rd international conference on Computer aided verification
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Concurrent programs running on weak memory models exhibit relaxed behaviours, making them hard to understand and to debug. To use standard verification techniques on such programs, we can force them to behave as if running on a Sequentially Consistent (SC) model. Thus, we examine how to constrain the behaviour of such programs via synchronisation to ensure what we call their stability, i.e. that they behave as if they were running on a stronger model than the actual one, e.g. SC. First, we define sufficient conditions ensuring stability to a program, and show that Power's locks and read-modify-write primitives meet them. Second, we minimise the amount of required synchronisation by characterising which parts of a given execution should be synchronised. Third, we characterise the programs stable from a weak architecture to SC. Finally, we present our offence tool which places either lock-based or lock-free synchronisation in a x86 or Power program to ensure its stability.