Exploitation pratique et efficace du parallélisme sur processeurs multi-coeurs
Auteur / Autrice : | Pierre Palatin |
Direction : | Olivier Temam |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance en 2008 |
Etablissement(s) : | Paris 11 |
Partenaire(s) de recherche : | Autre partenaire : Université de Paris-Sud. Faculté des sciences d'Orsay (Essonne) |
Mots clés
Mots clés contrôlés
Mots clés libres
Résumé
Cette thèse propose la notion de division conditionnelle, permettant d'exploiter efficacement le parallélisme offert par les architectures multi-coeurs. Cette opération permet programmeur de demander au système ou au processeur la création d'un nouveau thread. Le système est libre de refuser la création de ce thread additionnel. Cela permet au système de contrôler le programme et ainsi de l'adapter aux ressources disponibles. Le programmeur doit donc décrire le parallélisme potentiel, laissant le processeur prendre des décisions vis-à-vis des caractéristiques à l'exécution du programme. La première partie développée au sein de cette thèse est un ensemble de modifications matérielles, offrant une instruction de division conditionnelle. Cela permet de montrer qu'il est possible d'obtenir des comportements similaires aux comportements obtenus à l'aide d'optimisations complexes, mais sans nécessiter de la part du programmeur une compréhension précise de l'architecture. Une implémentation logicielle a également développée, afin d'offrir un support de la division au niveau du langage. Cette thèse montre qu'il est également possible d'implémenter une division conditionnelle sans support matériel, sans provoquer de perte notable de performance, aussi bien dans les cas parallèles que séquentiels. Enfin, un modèle mémoire a été conçu. Ce modèle tire parti des habitudes existantes en programmation parallèle et propose la notion de cellule. Les cellules rendent explicite pour le système et pour le processeur les éléments de structure de données que le programme manipule.