Multi-core systems modeling for formal verification of parallel algorithms

  • Authors:
  • Mathieu Desnoyers;Paul E. McKenney;Michel R. Dagenais

  • Affiliations:
  • EfficiOS Inc.;IBM Linux Technnoology Center;Ecole Polytechnique, Montreal

  • Venue:
  • ACM SIGOPS Operating Systems Review
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

Modeling parallel algorithms at the architecture level enables exploring side-effects of the weakly ordered nature of modern processors. Formal verification of such models with model-checking can ensure that algorithm guarantees will hold even in the presence of the most aggressive compiler and processor optimizations. This paper proposes a virtual architecture to model the effects of such optimizations. It first presents the OoOmem framework to model out-of-order memory accesses. It then presents the OoOisched framework to model the effects of out-of-order instruction scheduling. These two frameworks are explained and tested using weaklyordered memory interaction scenarios known to be affected by weak ordering. Then, modeling of user-level RCU (Read- Copy Update) synchronization algorithms is presented. It uses the virtual architecture proposed to verify that the RCU guarantees are indeed respected.