Skip to main content

Toward a Grainless Semantics for Shared-Variable Concurrency

John Reynolds ( Computer Science Department, Carnegie Mellon University )

Conventional semantics for shared-variable concurrency suffers from the "grain of time" problem, i.e., the necessity of specifying a default level of atomicity. We propose a semantics that avoids any such choice by regarding all interference that is not controlled by explicit critical regions as catastrophic. It is based on three principles:

  • Operations have duration and can overlap one another during execution.
  • If two overlapping operations touch the same location, the meaning of the program execution is "wrong''.
  • If, from a given starting state, execution of a program can give "wrong", then no other possibilities need be considered.

Share this: