Return to search

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

De nos jours, des processeurs à mémoire partagée cohérente ayant jusqu’à 100 coresintégrés sur la même puce sont une réalité et des processeurs many-cores ayant plusieurs centaines, voire, un millier de cores sont à prévoir prochainement.Dans ces architectures, la question de la localité du trafic lié aux miss decaches L1 (data, instruction et TLB) est primordiale à la fois pour passer àl’échelle et pour réduire la consommation électrique (énergie consommée par bittransféré). Notre thèse est que : (i) la gestion de la localité des accès mémoiredoit être prise en compte au niveau du noyau du système d’exploitation et elle doitêtre effectuée d’une manière transparente aux applications utilisateur; et (ii) les noyaux monolithiques actuels sont incapables de renforcer la localité des accès mémoire des threads d’une même application parallèle, car la notion de threadsdans ces noyaux est intrinsèquement inadaptée pour les processeurs many-cores.Par conséquent, nous pensons que la démarche suivie jusqu’à présent pour faireévoluer les noyaux monolithiques n’est pas suffisante et qu’il est impératif demettre la question de la localité des accès mémoire au centre de cette évolution.Pour prouver notre thèse, nous avons conçu et réalisé ALMOS (Advanced Locality Management Operating System), un système d’exploitation expérimental à base de noyau monolithique distribué. ALMOS dispose d’un nouveau concept de thread, nommé Processus Hybrides. Il permet à son noyau de renforcer, d’une manière transparente, la localité des accès mémoire liés à l'exécution de chaque thread. La gestion des ressources (cores et mémoires physiques) dans le noyau d’ALMOS est distribuée renforçant la localité des accès mémoire lors de la réalisation des services systèmes. La prise de décision concernant l’allocation mémoire, le placement des tâches et l’équilibrage de charge dans le noyau d’ALMOS est décentralisée, multi-critères et sans prise de verrou. Elle repose sur une infrastructure distribuée coordonnant d’une manière scalable l’accès aux ressources.En utilisant le prototype virtuel précis au cycle et au bit près du processeur many-core TSAR, nous avons expérimentalement démontré que : (i) les performances(scalabilité et temps d’exécution) du schéma d'ordonnancement distribué du noyaud’ALMOS sur 256 cores dépassent celles des noyaux monolithiques existants; (ii) la réalisation répartie de l’appel système fork permet de passer à l’échellece service système sur 512 cores; (iii) le coût de la mise à jour de l’infrastructure distribué de prise de décisions du noyau d’ALMOS ne nécessiteque 0.05% de la puissance de calcul totale du processeur TSAR; (iv) les performances(scalabilité, temps d’exécution et trafic distant) de la stratégie d’affinitémémoire du noyau d’ALMOS, nommé Auto-Next-Touch, dépassent celles des deuxstratégies First-Touch et Interleave sur 64 cores; (v) le modèle de processushybrides d’ALMOS permet de passer à l’échelle deux applications hautementmulti-threads existantes sur 256 cores et une troisième sur 1024 cores; et enfin (vi) le couple ALMOS/TSAR (64 cores) offre systématiquement une bien meilleure scalabilité que le couple Linux/AMD (Interlagos 64 cores) pour 8 applications de classe HPC et traitement d’images. / Nowadays, single-chip cache-coherent many-core processors having up to 100 coresare a reality. Many-cores with hundreds or even a thousand of cores are planned in the near future. In theses architectures, the question of the locality of L1 cache-miss related traffic (data, instruction and TLB) is essential for both scalability and power consumption (energy by moved bit). Our thesis is that: (i) handling the locality of memory accesses should be done at kernel level of an operating system in a transparent manner to user applications; and (ii) the current monolithic kernels are not able to enforce the locality of memory accesses of multi-threaded applications, because the concept of thread in these kernels is inherently unsuitable for many-core processors. Therefore, we believe that the evolution approach of monolithic kernels undertaken until now is insufficient and it is imperative to put the question of the locality of memory accesses in the heart of this evolution.To prove our thesis, we designed and implemented ALMOS (Advanced Locality Management Operating System), an experimental operating system based on a distributed monolithic kernel. ALMOS has a new concept of thread, called Hybrid Process. It allows its kernel to enforce the locality of memory accesses of each thread. The resources (cores and physical memory) management in ALMOS's kernel is distributed enforcing the locality of memory accesses when performing system services. Decision making regarding memory allocation, tasks placement and load balancing in ALMOS's kernel is decentralized, multi-criteria and without locking. It is based on a distributed infrastructure coordinating, in a scalable manner, the accesses to resources.Using the cycle accurate and bit accurate virtual prototype of TSAR many-core processor, we experimentally demonstrated that: (i) performance (scalability and execution time) on 256 cores of the distributed scheduling scheme of ALMOS's kernel outperform those of the shared scheduling scheme found in existing monolithic kernels; (ii) distributed realization of the fork system call enables this system service to scale on 512 cores; (iii) updating the distrusted decision-making infrastructure of ALMOS's kernel costs just 0.05 % of the total computing power of TSAR processor; (iv) performance (scalability, execution time and remote traffic) of memory affinity strategy of ALMOS's kernel, called Auto-Next-Touch, outperform those of two existing strategies First-Touch and Interleave on 64 cores; (v) concept of Hybrid Process of ALMOS's kernel scales up two existing highly multi-threads applications on 256 cores and a third one on 1024 cores; and finally (vi) the couple ALMOS/TSAR (64 cores) gives systematically much better scalability than the couple Linux/AMD (Interlagos 64 cores) for 8 multi-threads applications belonging to HPC and image processing domains.

Identiferoai:union.ndltd.org:theses.fr/2014PA066587
Date27 February 2014
CreatorsAlmaless, Ghassan
ContributorsParis 6, Greiner, Alain
Source SetsDépôt national des thèses électroniques françaises
LanguageFrench
Detected LanguageFrench
TypeElectronic Thesis or Dissertation, Text

Page generated in 0.0082 seconds