Conception et réalisation d'un système d'exploitation pour des processeurs many-cores. (Operating System Design and Implementation for Single-Chip cc-NUMA Many-Core)

De nos jours, des processeurs a memoire partagee coherente ayant jusqu’a 100 coresintegres sur la meme puce sont une realite et des processeurs many-cores ayant plusieurs centaines, voire, un millier de cores sont a prevoir prochainement.Dans ces architectures, la question de la localite du trafic lie aux miss decaches L1 (data, instruction et TLB) est primordiale a la fois pour passer al’echelle et pour reduire la consommation electrique (energie consommee par bittransfere). Notre these est que : (i) la gestion de la localite des acces memoiredoit etre prise en compte au niveau du noyau du systeme d’exploitation et elle doitetre effectuee d’une maniere transparente aux applications utilisateur; et (ii) les noyaux monolithiques actuels sont incapables de renforcer la localite des acces memoire des threads d’une meme application parallele, car la notion de threadsdans ces noyaux est intrinsequement inadaptee pour les processeurs many-cores.Par consequent, nous pensons que la demarche suivie jusqu’a present pour faireevoluer les noyaux monolithiques n’est pas suffisante et qu’il est imperatif demettre la question de la localite des acces memoire au centre de cette evolution.Pour prouver notre these, nous avons concu et realise ALMOS (Advanced Locality Management Operating System), un systeme d’exploitation experimental a base de noyau monolithique distribue. ALMOS dispose d’un nouveau concept de thread, nomme Processus Hybrides. Il permet a son noyau de renforcer, d’une maniere transparente, la localite des acces memoire lies a l'execution de chaque thread. La gestion des ressources (cores et memoires physiques) dans le noyau d’ALMOS est distribuee renforcant la localite des acces memoire lors de la realisation des services systemes. La prise de decision concernant l’allocation memoire, le placement des tâches et l’equilibrage de charge dans le noyau d’ALMOS est decentralisee, multi-criteres et sans prise de verrou. Elle repose sur une infrastructure distribuee coordonnant d’une maniere scalable l’acces aux ressources.En utilisant le prototype virtuel precis au cycle et au bit pres du processeur many-core TSAR, nous avons experimentalement demontre que : (i) les performances(scalabilite et temps d’execution) du schema d'ordonnancement distribue du noyaud’ALMOS sur 256 cores depassent celles des noyaux monolithiques existants; (ii) la realisation repartie de l’appel systeme fork permet de passer a l’echellece service systeme sur 512 cores; (iii) le cout de la mise a jour de l’infrastructure distribue de prise de decisions du noyau d’ALMOS ne necessiteque 0.05% de la puissance de calcul totale du processeur TSAR; (iv) les performances(scalabilite, temps d’execution et trafic distant) de la strategie d’affinitememoire du noyau d’ALMOS, nomme Auto-Next-Touch, depassent celles des deuxstrategies First-Touch et Interleave sur 64 cores; (v) le modele de processushybrides d’ALMOS permet de passer a l’echelle deux applications hautementmulti-threads existantes sur 256 cores et une troisieme sur 1024 cores; et enfin (vi) le couple ALMOS/TSAR (64 cores) offre systematiquement une bien meilleure scalabilite que le couple Linux/AMD (Interlagos 64 cores) pour 8 applications de classe HPC et traitement d’images.