Sections atomiques emboîtées avec échappement de processus légers : sémantiques et compilation

Résumé : La mémoire transactionnelle est un mécanisme de plus en plus populaire pour la programmation parallèle et concurrente. Dans la plupart des implantations, l’emboîtement de transactions n’est pas possible ce qui pénalise la modularité. Plutôt que les transactions, qui sont un choix possible d’implantation, nous considérons directement la notion de section atomique. Dans un objectif d’améliorer la modularité et l’expressivité, nous considérons un langage impératif simple étendu avec des instructions de parallélisme avec lancement et attente de processus légers et une instruction de section atomique à portée syntaxique, depuis laquelle des processus légers peuvent s’échapper. Dans ce contexte notre première contribution est la définition précise de l’atomicité et de la bonne synchronisation. Nous prouvons que pour des traces bien formées, la dernière implique la forme forte de la première. Ceci est fait sur des traces d’exécution abstraites dans le sens où nous ne définissons par précisément la syntaxe et la sémantique opérationnelle d’un langage de programmation. Cette première partie de notre travail peut être considérée comme une spécification pour un tel langage. Nous avons utilisé l’assistant de preuve Coq pour modéliser et prouver nos résultats. Notre deuxième contribution est la définition formelle du langage Atomic Fork Join (AFJ). Nous montrons que les traces de sa sémantique opérationnelle vérifient effectivement les conditions de bonne formation définies précédemment. La troisième contribution est la compilation de programmes AFJ en programmes Lock Unlock Fork Join (LUFJ) un langage avec processus léger et verrous mais sans sections atomiques. Nous étudions la correction de la compilation de AFJ vers LUFJ.
Type de document :
Thèse
Algorithme et structure de données [cs.DS]. Université d'Orléans, 2014. Français. 〈NNT : 2014ORLE2075〉
Liste complète des métadonnées

Littérature citée [81 références]  Voir  Masquer  Télécharger

https://tel.archives-ouvertes.fr/tel-01362118
Contributeur : Abes Star <>
Soumis le : jeudi 8 septembre 2016 - 11:09:08
Dernière modification le : jeudi 17 janvier 2019 - 15:10:02
Document(s) archivé(s) le : vendredi 9 décembre 2016 - 12:33:41

Fichier

thomas-pinsard_3709.pdf
Version validée par le jury (STAR)

Identifiants

  • HAL Id : tel-01362118, version 1

Collections

Citation

Thomas Pinsard. Sections atomiques emboîtées avec échappement de processus légers : sémantiques et compilation. Algorithme et structure de données [cs.DS]. Université d'Orléans, 2014. Français. 〈NNT : 2014ORLE2075〉. 〈tel-01362118〉

Partager

Métriques

Consultations de la notice

136

Téléchargements de fichiers

117