• Aucun résultat trouvé

Verifying Programs on Relaxed Memory Models with a Focus on x86-TSO

N/A
N/A
Protected

Academic year: 2021

Partager "Verifying Programs on Relaxed Memory Models with a Focus on x86-TSO"

Copied!
1
0
0

Texte intégral

(1)

Verifying Programs on Relaxed Memory Models

with focus on x86-TSO

Alexander Linden

Institut Montefiore, Université de Liège, Belgium

Lock

Single Port Memory

Relaxed memory model P1 Pn Stores Loads Commits initial state no errors

relaxation

to avoid

error state

part of the state space

State sp

ace exp

loration

- allows the verification of cyclic programs by modelling the

store buffers by automata.

Example : Unbounded buffer content (x,1)(y,1)(x,1)(y,1) ... (x,1)(y,1)

is represented by the finite automaton

- limits the size of the state space by using order reduction techniques (POR) :

- persistent sets, - sleep sets. (x,1) (y,1) (x,1) Memory fence insertion

The approach : state space exploration and memory fence insertion

Start with a program that is correct (with respect to a

safety property) under SC (the standard memory model). Verify that the safety property still holds when the

program is moved to a relaxed memory model and correct it as needed.

The results A verification tool that

- can handle cyclic programs, - is compatible with POR,

- produces a correct program.

Future work :

- extend to other memory models, - optimize use of POR.

Mutual Exclusion Algorithms without err. correction with error correction

Program entry #P #St t(s) #St #iter #f t(s)

Dekker single 2 118 0.84 92 3 2 0.80 Dekker repeated 2 5468 12,7 213 5 4 0.41 Peterson single 2 108 0.09 52 3 2 0.03 Peterson repeated 2 400 0.58 54 3 2 0.05 Gen. Pet. single 3 15476 44,4 1164 7 6 1.55 Bakery single 2 775 0.58 340 5 4 0.15

http://www.montefiore.ulg.ac.be linden@montefiore.ulg.ac.be

Experiments :

Evaluation tool

Switch FIFO

Store Buffer

The problem

Ensuring that concurrent programs remain correct when moved to multi-core processors implementing relaxed memory models

(x86-TSO).

Fig : x86-TSO model

The features of the approach

Procedure :

1. Explore the state space of the

program, modelling the store buffers. 2. When violations of safety

properties are found :

- detect a problematic relaxation ; - avoid it by inserting a

memory fence into the program ; - repeat this procedure until

Références

Documents relatifs

(see Introduction and Chapter 1) is in the case of the early stages of the reactions in the solid state, totally un-useful. In fact, we have to remember that for the late stages,

Experiments conducted at Stanford University [6] with a nitrogen/argon plasma forced to recombine within 250 s from a state of equilibrium at a temperature of 7200 K to a state of

Coupled with the 100% contacts efficaces initiative, which introduces agencies to user-centred design, these spaces bring together designers, public agents, coaches, and makers

We can mention, for instance, the Back and Forth Nudging proposed by Auroux and Blum [1], the Time Reversal Focusing by Phung and Zhang [10], the algorithm proposed by Ito, Ramdani

3.2.6 Influence of Prime Mover Speed and Test Bench Implementation

In this paper, we have considered distributed bounded- error state estimation applied to the problem of source tracking with a network of wireless sensorsT. Estimation is performed in

Denote the set of all context-free grammars with states and some number of reversal-bounded counters by CFG-SC, and the languages they generate with the free interpretation and

Experiments on excitation transfer and total colli- sional depopulation (quenching) of lower excited states of alkali atoms have been performed in our laboratory [3]..