| 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. |