Thèse soutenue

Ordonnancement de fils d'exécution dans les systèmes d'exploitation multi-coeurs
FR  |  
EN
Accès à la thèse
Auteur / Autrice : Redha Gouicem
Direction : Gilles Muller
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 23/10/2020
Etablissement(s) : Sorbonne université
Ecole(s) doctorale(s) : École doctorale Informatique, télécommunications et électronique de Paris
Partenaire(s) de recherche : Laboratoire : LIP6 (1997-....)
Jury : Président / Présidente : Karine Heydemann
Examinateurs / Examinatrices : Rachid Guerraoui, Étienne Rivière, Julien Sopena
Rapporteurs / Rapporteuses : Pascal Felber, Vivien Quéma

Résumé

FR  |  
EN

Dans cette thèse, nous traitons du problème des ordonnanceurs pour architectures multi-cœurs en l’abordant sous plusieurs angles : celui de la conception (simplicité et correction), celui de l’amélioration des performances et enfin celui du développement d’ordonnanceurs sur mesure pour une application. En résumé, les contributions présentées sont les suivantes : - Ipanema, un langage dédié au développement d’ordonnanceurs de processus pour multi-coeurs. Nous implémentons également au coeur du noyau Linux une nouvelle abstraction permettant d’ajouter dynamiquement un nouvel ordonnanceur écrit en Ipanema. - une série d’outils de recherche de bogues de performance. Grâce à ces outils, nous montrons que l’ordonnanceur de Linux, CFS, souffre d’un problème lié à la gestion de la fréquence sur les processeurs modernes. Nous proposons une solution à ce problème sous la forme d’un patch soumis à la communauté. Ce patch permet d’améliorer significativement les performances de nombreuses applications. - une modélisation des ordonnanceurs sous forme d’un “feature tree”. Nous implémentons ces fonctionnalités de façon indépendantes afin de proposer un nouvel ordonnanceur entièrement modulaire. Cet ordonnanceur modulaire nous permet d’étudier exhaustivement les différentes combinaisons de fonctionnalités ouvrant ainsi la voie au développement d’ordonnanceurs spécifiques à une application donnée.