logo EDITE Ghassan ALMALESS
Identité
Ghassan ALMALESS
État académique
Thèse soutenue le 2013-02-27
Sujet: Conception d'un système d'exploitation pour une architecture many-cores à mémoire partagée cohérente de type cc-NUMA
Direction de thèse:
Encadrement de thèse:
Laboratoire:
Voisinage
Ellipse bleue: doctorant, ellipse jaune: docteur, rectangle vert: permanent, rectangle jaune: HDR. Trait vert: encadrant de thèse, trait bleu: directeur de thèse, pointillé: jury d'évaluation à mi-parcours ou jury de thèse.
Productions scientifiques
oai:hal.archives-ouvertes.fr:hal-00742947
Does Shared-Memory, Highly Multi-Threaded, Single-Application Scale on Many-Cores?
Nowadays, single-chip cache-coherent multi-cores up to 100 cores are a reality. Many-cores of hundreds of cores are planned in the near future. Due to the large number of cores and for power efficiency reasons (performance per watt), cores become simpler with small caches. To get efficient use of parallelism offered by these architectures, applications must be multi-threads. The POSIX Threads (PThreads) standard is the most portable way to use threads across operating systems. It is also used as a low-level layer to support other portable, shared-memory, parallel environments like OpenMP. In this paper, we propose to verify experimentally the scalability of shared-memory, PThreads based, applications, on Cycle-Accurate-Bit-Accurate (CABA) simulated, 512-cores. Using two unmodified highly multi-threads applications, SPLASH-2 FFT, and EPFilter (medical images noise-filtering application provided by Phillips) our study shows a scalability limitation beyond 64 cores for FFT and 256 cores for EPFilter. Based on hardware events counters, our analysis shows: (i) the detected scalability limitation is a conceptual problem related to the notion of thread and process; and (ii) the small per-core caches found in many-cores exacerbates the problem. Finally, we present our solution in principle and future work.
4th USENIX Workshop on Hot Topics in Parallelism USENIX Workshop on Hot Topics in Parallelismconference proceeding 2012-06-07
oai:hal.archives-ouvertes.fr:hal-00742963
On The Scalability of Image and Signal Processing Parallel Applications on Emerging cc-NUMA Many-cores
Nowadays, single-chip cache-coherent multi-cores up to 100 cores are a reality and many-cores of hundreds of cores are planned in the near future. This technological shift undertaking by the high-end computer-industry is converging with the design motivation of other domains like embedded and HPC industries. In this paper, we propose to investigate the scalability of the same four unmodified, shared-memory, image and signal processing oriented parallel applications on two targets: (i) embedded - TSAR, a single-chip 256-cores based, Cycle-Accurate-Bit-Accurate simulated, cc-NUMA many-core; and (ii) high-end - an AMD Opteron Interlagos, 64-core based, cc-NUMA many-core. Beside our scalability results on both cc-NUMA targets, our contributions include two operating system mechanisms: (i) a distributed, client/server based, scheduler design allowing the kernel to offer scalable inter-threads synchronization mechanisms; and (ii) a kernel-level memory affinity technique named Auto-Next-Touch allowing the kernel to transparently and automatically migrate physical pages in order to enforce the locality of thread's memory accesses. Although these two mechanisms are implemented and evaluated in ALMOS (Advanced Locality Management Operating System) running on the TSAR target, they remain applicable to other shared-memory operating systems.
DASIP International Conference on Design and Architectures for Signal and Image Processing International Conference on Design and Architecture for Signal and Image Processingconference proceeding 2012-10-23
oai:hal.archives-ouvertes.fr:hal-00742983
On the Impact of Many-Cores Small Caches on the Scalability of Shared-Memory Highly Multi-Threaded Single-Applications
Poster presented in APSYS'12, Seoul, 2012
the 3rd Asia-Pacific Workshop on Systemsconference, seminar, workshop communication 2012-07-23
oai:hal.archives-ouvertes.fr:hal-00742995
ALMOS : un système d'exploitation pour manycores en mémoire partagée cohérente
Cet article propose de vérifier expérimentalement que les systèmes d'exploitation monolithiques à mé- moire partagée peuvent passer à l'échelle sur les machines cc-NUMA many-cores (plus de 100 cœurs), à condition de distribuer les structures et répartir les traitements en respectant la localité des accès mé- moire. Cette étude a été menée sur TSAR, un simulateur de processeur many-cores précis au cycle et au bit, configuré jusqu'à 256 processeurs, et sur ALMOS, un système d'exploitation que nous avons conçu spécifiquement pour TSAR et qui repose sur le même paradigme de programmation en mémoire partagée que d'autres systèmes monolithiques tels que Linux ou BSD. Outre le design du noyau d'ALMOS qui renforce la localité des accès mémoire des tâches, nos contributions portent sur (i) une nouvelle technique d'affinité mémoire que nous nommons Auto-Next-Touch permettant au noyau de migrer des pages physiques d'une tâche d'une manière transparente vis-à-vis de l'application utilisateur ; et (ii) Un ordonnanceur distribué à primitives de synchronisation passant à l'échelle. Nos premières mesures sont prometteuses. Sur deux applications de calcul parallèles, FFT de SPLASH-2 et EPFilter pour le traitement d'images médicales, l'accélération en terme de temps d'exécution augmente linéairement avec le nombre de cœurs jusqu'à 192 cœurs. Notre protocole de barrière de synchronisation entre processus, l'un des mécanismes fondamentaux de synchronisation dans les noyaux, passe à l'échelle jusqu'à 256 processeurs.
8ème Conférence Française sur les Systèmes d'Exploitation (CFSE'11), Chapitre français de l'ACM-SIGOPS, GDR ARP Conference Francaise sur les systemes d'exploitationconference proceeding 2011-05-10
Soutenance
Thèse: Operating System Design and Implementation for single-chip cc-NUMA Many-core
Soutenance: 2013-02-27
Rapporteurs: Frédéric PETROT    Guy GOGNIAT