Data Placement Strategies for Heterogeneous and Non-Volatile Memories in High Performance Computing - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2021

Data Placement Strategies for Heterogeneous and Non-Volatile Memories in High Performance Computing

Stratégies de placement de données pour mémoire hétérogènes et non-volatiles en calcul haute performance

Résumé

Memory systems in High-Performance Computing (HPC) systems have undergone major changes in recent years. Beside the main memory, the storage and multiple levels of caches, the servers come with non-uniform memory access (NUMA) and may contain different kinds of memory. For instance, high bandwidth memory (HBM) embedded on the processor package and non-volatile memory (NVDIMM) have been introduced into the hierarchy. These changes are necessary to bring the data closer and closer to processing and therefore have better performance. However, they require developers to adapt their applications to work properly on different heterogeneous memory systems, causing software development to become much more complex. In practice, the simple fact of deciding to allocate a data buffer on the appropriate memory in a heterogeneous system becomes difficult and critical to application performance.This thesis has been carried out at Inria Bordeaux - Sud-Ouest and LaBRI. After a presentation of the state of the art of memory architectures, we have characterised the memories through simple attributes. We have provided an interface that the hwloc library exposes to applications to understand the memory topology and allocate buffers. Then, we proposed a strategy to help developers adapt their applications for the proper use of heterogeneous memory systems. As accessing different heterogeneous platforms is not always possible, we identify several ways to simulate the performance of heterogeneous memory and to emulate different memory topologies. Finally, we built a strategy that eases the sharing of platforms with heterogeneous and non-volatile memory between HPC tasks co-scheduled on the same nodes.
Les systèmes de mémoire des plates-formes de calcul haute performance ont subi des changements majeurs ces dernières années. En plus de la mémoire principale, du stockage et de plusieurs niveaux de caches, les serveurs sont à accès non-uniforme (NUMA) et peuvent disposer de plusieurs types de mémoire. Par exemple, les mémoires à haut débit (HBM) embarquées dans le processeur ainsi que les mémoires non volatiles (NVDIMM) ont été introduites dans la hiérarchie. Ces changements sont nécessaires pour rapprocher les données du traitement et donc avoir de meilleures performances. Cependant, ils obligent les développeurs à adapter leurs applications pour fonctionner correctement sur ces différents systèmes hétérogènes, ce qui rend le développement beaucoup plus complexe. En pratique, le simple fait de décider d'allouer un tampon de données sur le bon type de mémoire dans ces systèmes hétérogènes est difficile et critique pour les performances de l'application.Cette thèse a été réalisée à Inria Bordeaux - Sud-Ouest et au LaBRI. Après avoir présenté l'état de l'art des architectures mémoire, nous avons caractérisés les différents types de mémoires à l'aide d'attributs simples. Nous avons fourni une interface que la bibliothèque hwloc expose aux applications pour comprendre l'organisation mémoire et allouer des tampons. Nous avons ensuite proposé une méthodologie pour que les développeurs puissent adapter leurs applications à l'utilisation appropriée de systèmes de mémoire hétérogènes. Comme l'accès à différents plates-formes hétérogènes n'est pas toujours possible, nous avons identifiés de nombreuses stratégies permettant la simulation des performances de mémoire hétérogène, et l'émulation de topologie de la mémoire différentes. Enfin, nous avons conçu une stratégie visant à faciliter le partage des plates-formes à mémoire non-volatile et hétérogènes entre des tâches HPC co-exécutées sur les mêmes serveurs.
Fichier principal
Vignette du fichier
RUBIO_PROANO_ANDRES_2021.pdf (3.51 Mo) Télécharger le fichier
Origine : Version validée par le jury (STAR)

Dates et versions

tel-03431281 , version 1 (16-11-2021)

Identifiants

  • HAL Id : tel-03431281 , version 1

Citer

Andrès Rubio Proaño. Data Placement Strategies for Heterogeneous and Non-Volatile Memories in High Performance Computing. Distributed, Parallel, and Cluster Computing [cs.DC]. Université de Bordeaux, 2021. English. ⟨NNT : 2021BORD0224⟩. ⟨tel-03431281⟩
270 Consultations
485 Téléchargements

Partager

Gmail Facebook X LinkedIn More