Skip to Main content Skip to Navigation
Theses

Conception et implémentation d'un langage de programmation concurrente modulaire

Johan Grande 1
1 INDES - Secure Diffuse Programming
CRISAM - Inria Sophia Antipolis - Méditerranée
Résumé : La programmation concurrente à mémoire partagée est un modèle classique de concurrence qui permet notamment de tirer parti des processeurs multicoeurs aujourd'hui très répandus dans les ordinateurs personnels. Les programmes concurrents sont sujets au problème des interblocages, notoirement difficiles à prévoir et à éliminer, en particulier dans le cas de l'utilisation du mécanisme de synchronisation très populaire que sont les mutex. Dans cette thèse nous avons travaillé à rendre plus aisée la programmation avec des mutex en étudiant des méthodes d'évitement des interblocages. Nous avons d'abord étudié une méthode utilisant une analyse statique par un système de types et d'effets, puis une variante de cette méthode dans un langage à typage dynamique. La seconde méthode est celle que nous avons le plus développée. Elle combine prévention et évitement des interblocages pour fournir une fonction de verrouillage sans interblocages expressive et utilisable. Nous l'avons implémentée sous forme d'une bibliothèque Hop (dialecte de Scheme). Ce faisant, nous avons développé un algorithme sans famine pour l'acquisition simultanée d'un nombre arbitraire de mutex, et identifié le concept d'interblocage asymptotique. Nous avons également été amenés à proposer une optimisation des exceptions (blocs finally). Nos tests de performances semblent indiquer un impact négligeable de l'utilisation de notre bibliothèque sur des applications concurrentes réelles. La majeure partie de notre recherche pourrait être appliquée à d'autres langages de programmation structurée tels que Java.
Document type :
Theses
Complete list of metadatas

Cited literature [50 references]  Display  Hide  Download

https://tel.archives-ouvertes.fr/tel-01246636
Contributor : Abes Star :  Contact
Submitted on : Thursday, January 7, 2016 - 11:32:20 AM
Last modification on : Thursday, January 11, 2018 - 4:48:00 PM
Document(s) archivé(s) le : Friday, April 8, 2016 - 1:18:49 PM

File

2015NICE4067.pdf
Version validated by the jury (STAR)

Identifiers

  • HAL Id : tel-01246636, version 2

Collections

Citation

Johan Grande. Conception et implémentation d'un langage de programmation concurrente modulaire. Autre [cs.OH]. Université Nice Sophia Antipolis, 2015. Français. ⟨NNT : 2015NICE4067⟩. ⟨tel-01246636v2⟩

Share

Metrics

Record views

686

Files downloads

1038