| | 1 | De nos jours, des processeurs à mémoire partagée cohérente ayant jusqu’à 100 cores |
| | 2 | intégrés sur la même puce sont une réalité et des processeurs many-cores ayant |
| | 3 | plusieurs centaines, voire, un millier de cores sont à prévoir prochainement. |
| | 4 | Dans ces architectures, la question de la localité du trafic lié aux miss de |
| | 5 | caches L1 (data, instruction et TLB) est primordiale à la fois pour passer à |
| | 6 | l’échelle et pour réduire la consommation électrique (énergie consommée par bit |
| | 7 | transféré). Notre thèse est que : (i) la gestion de la localité des accès mémoire |
| | 8 | doit être prise en compte au niveau du noyau du système d’exploitation et elle doit |
| | 9 | être effectuée d’une manière transparente aux applications utilisateur; et |
| | 10 | (ii) les noyaux monolithiques actuels sont incapables de renforcer la localité des |
| | 11 | accès mémoire des threads d’une même application parallèle, car la notion de threads |
| | 12 | dans ces noyaux est intrinsèquement inadaptée pour les processeurs many-cores. |
| | 13 | Par conséquent, nous pensons que la démarche suivie jusqu’à présent pour faire |
| | 14 | évoluer les noyaux monolithiques n’est pas suffisante et qu’il est impératif de |
| | 15 | mettre la question de la localité des accès mémoire au centre de cette évolution. |
| | 16 | |
| | 17 | Pour prouver notre thèse, nous avons conçu et réalisé ALMOS (Advanced Locality |
| | 18 | Management Operating System), un système d’exploitation expérimental à base de |
| | 19 | noyau monolithique distribué. ALMOS dispose d’un nouveau concept de thread, nommé |
| | 20 | Processus Hybrides. Il permet à son noyau de renforcer, d’une manière transparente, |
| | 21 | la localité des accès mémoire liés à l'exécution de chaque thread. La gestion des |
| | 22 | ressources (cores et mémoires physiques) dans le noyau d’ALMOS est distribuée |
| | 23 | renforçant la localité des accès mémoire lors de la réalisation des services |
| | 24 | systèmes. La prise de décision concernant l’allocation mémoire, le placement des |
| | 25 | tâches et l’équilibrage de charge dans le noyau d’ALMOS est décentralisée, |
| | 26 | multi-critères et sans prise de verrou. Elle repose sur une infrastructure |
| | 27 | distribuée coordonnant d’une manière scalable l’accès aux ressources. |
| | 28 | |
| | 29 | En utilisant le prototype virtuel précis au cycle et au bit près du processeur |
| | 30 | many-core TSAR, nous avons expérimentalement démontré que : (i) les performances |
| | 31 | (scalabilité et temps d’exécution) du schéma d'ordonnancement distribué du noyau |
| | 32 | d’ALMOS sur 256 cores dépassent celles des noyaux monolithiques existants; |
| | 33 | (ii) la réalisation répartie de l’appel système fork permet de passer à l’échelle |
| | 34 | ce service système sur 512 cores; (iii) le coût de la mise à jour de |
| | 35 | l’infrastructure distribué de prise de décisions du noyau d’ALMOS ne nécessite |
| | 36 | que 0.05% de la puissance de calcul totale du processeur TSAR; (iv) les performances |
| | 37 | (scalabilité, temps d’exécution et trafic distant) de la stratégie d’affinité |
| | 38 | mémoire du noyau d’ALMOS, nommé Auto-Next-Touch, dépassent celles des deux |
| | 39 | stratégies First-Touch et Interleave sur 64 cores; (v) le modèle de processus |
| | 40 | hybrides d’ALMOS permet de passer à l’échelle deux applications hautement |
| | 41 | multi-threads existantes sur 256 cores et une troisième sur 1024 cores; |
| | 42 | et enfin (vi) le couple ALMOS/TSAR (64 cores) offre systématiquement une bien |
| | 43 | meilleure scalabilité que le couple Linux/AMD (Interlagos 64 cores) pour |
| | 44 | 8 applications de classe HPC et traitement d’images. |