Towards new memory paradigms : Integrating non-volatile main memory and remote direct memory access in modern systems - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2023

Towards new memory paradigms : Integrating non-volatile main memory and remote direct memory access in modern systems

Vers de nouveaux paradigmes mémoire : Intégration de mémoire principale non-volatile et d'accès direct de mémoire distante dans les systèmes modernes

Résumé

Modern computers are built around two main parts: their Central Processing Unit (CPU), and their volatile main memory, or Random Access Memory (RAM). The basis of this architecture takes its roots in the 1970's first computers. Since, this principle has been constantly upgraded to provide more functionnality and performance.In this thesis, we study two memory paradigms that drastically change the way we can interact with memory in modern systems: non-volatile memory and remote memory access. We implement software tools that leverage them in order to make them compatible and exploit their performance with concrete applications. We also analyze the impact of the technologies underlying these new memory medium, and the perspectives of their evolution in the coming years.For non-volatile memory, as the main memory performance is key to unlock the full potential of a CPU, this feature has historically been abandoned on the race for performance. Even if the first computers were designed with non-volatile forms of memory, computer architects started to use volatile RAM for its incomparable performance compared to durable storage, and never questioned this decision for years. However, in 2019 Intel released a new component called Optane DC Persistent Memory (DCPMM), a device that made possible the use of Non-Volatile Main Memory (NVMM). That product, by its capabilities, provides a new way of thinking about data persistence. Yet, it also challenges the hardware architecture used in our current machines and the way we program them.With this new form of memory we implemented NVCACHE, a cache designed for non-volatile memory that helps boosting the interactions with slower persistent storage medias, such as solid state drive (SSD). We find NVCACHE to be quite performant for workloads that require a high granularity of persistence guarantees, while being as easy to use as the traditional POSIX interface. Compared to file systems designed for NVMM, NVCACHE can reach similar or higher throughput when the non-volatile memory is used. In addition, NVCACHE allows the code to exploit NVMM performance while not being limited by the amount of NVMM installed in the machine.Another major change of in the computer landscape has been the popularity of distributed systems. As individual machines tend to reach performance limitations, using several machines and sharing workloads became the new way to build powerful computers. While this mode of computation allows the software to scale up the number of CPUs used simultaneously, it requires fast interconnection between the computing nodes. For that reason, several communication protocols implemented Remote Direct Memory Access (RDMA), a way to read or write directly into a distant machine's memory. RDMA provides low latencies and high throughput, bypassing many steps of the traditional network stack.However, RDMA remains limited in its native features. For instance, there is no advanced multicast equivalent for the most efficient RDMA functions. Thanks to a programmable switch (the Intel Tofino), we implemented a special mode for RDMA that allows a client to read or write in multiple servers at the same time, with no performance penalty. Our system called Byp4ss makes the switch participate in transfers, duplicating RDMA packets. On top of Byp4ss, we implement a consensus protocol named DISMU, which shows the typical use of Byp4ss features and its impact on performance. By design, DISMU is optimal in terms of latency and throughput, as it can reduce to the minimum the number of packets exchanged through the network to reach a consensus.Finally, by using these two technologies, we notice that future generations of hardware may require a new interface for memories of all kinds, in order to ease the interoperability in systems that tend to get more and more heterogeneous and complex.
Les ordinateurs modernes sont construits autour de deux éléments : leur CPU etleur mémoire principale volatile, ou RAM. Depuis les années 1970, ce principe a étéconstamment amélioré pour offrir toujours plus de fonctionnalités et de performances.Dans cette thèse, nous étudions deux paradigmes de mémoire qui proposent denouvelles façons d'interagir avec la mémoire dans les systèmes modernes : la mémoirenon-volatile et les accès mémoire distants. Nous mettons en œuvre des outils logicielsqui exploitent ces nouvelles approches afin de les rendre compatibles et d'exploiterleurs performances avec des applications concrètes. Nous analysons égalementl'impact des technologies utilisées, et les perspectives de leur évolution dans lesannées à venir.Pour la mémoire non-volatile, comme les performances de la mémoire sont essentiellespour atteindre le potentiel d'un CPU, cette fonctionnalité a historiquement été abandonnée.Même si les premiers ordinateurs ont été conçus avec des formes de mémoire nonvolatiles, les architectes informatiques ont commencé à utiliser la RAM volatilepour ses performances inégalées, et n'ont jamais remis en question cette décisionpendant des années. Cependant, en 2019, Intel a commercialisé un nouveau composantappelé Optane DCPMM qui rend possible l'utilisation de NVMM. Ce produit proposeune nouvelle façon de penser la persistance des données. Mais il remet égalementen question l'architecture de nos machines et la manière dont nous les programmons.Avec cette nouvelle forme de mémoire, nous avons implémenté NVCACHE, un cacheen mémoire non-volatile qui permet d'accélérer les interactions avec des supportsde stockage persistants plus lents, tels que les SSD. Nous montrons que NVCACHEest particulièrement performant pour les tâches qui nécessitent une granularitéélevée des garanties de persistance, tout en étant aussi simple à utiliser que l'interfacePOSIX traditionnelle. Comparé aux systèmes de fichiers conçus pour NVMM, NVCACHEpeut atteindre un débit similaire ou supérieur lorsque la mémoire non volatile estutilisée. De plus, NVCACHE permet aux programmes d'exploiter les performancesde NVMM sans être limité par la quantité de NVMM installée sur la machine.Un autre changement majeur dans le paysage informatique a été la popularité dessystèmes distribués. Alors que les machines ont individuellement tendance à atteindredes limites de performances, l'utilisation de plusieurs machines et le partage destâches sont devenus la nouvelle façon de créer des ordinateurs puissants. Bien quece mode de calcul permette d'augmenter le nombre de CPU utilisés simultanément,il nécessite une connexion rapide entre les nœuds de calcul. Pour cette raison,plusieurs protocoles de communication ont implémententé RDMA, un moyen delire ou d'écrire directement dans la mémoire d'un serveur distant. RDMA offre defaibles latences et un débit élevé, contournant de nombreuses étapes de la pileréseau.Cependant, RDMA reste limité dans ses fonctionnalités natives. Par exemple, iln'existe pas d'équivalent de multicast pour les fonctions RDMA les plus efficaces.Grâce à un switch programmable (le switch Intel Tofino), nous avons implémentéun mode spécial pour RDMA qui permet de lire ou d'écrire sur plusieurs serveursen même temps, sans pénalité de performances. Notre système appelé Byp4ss faitparticiper le switch aux transferts, en dupliquant les paquets RDMA. Grâce à Byp4ss,nous avons implémenté un protocole de consensus nommé DISMU. De par sa conception,DISMU est optimal en termes de latence et de débit, car il peut réduire au minimumle nombre de paquets échangés sur le réseau pour parvenir à un consensus.Enfin, en utilisant ces deux technologies, nous remarquons que les futures générationsde matériel pourraient nécessiter une nouvelle interface pour les mémoires detoutes sortes, afin de faciliter l'interopérabilité dans des systèmes qui ont tendanceà devenir de plus en plus hétérogènes et complexes.
Fichier principal
Vignette du fichier
110446_DULONG_2023_archivage_final.pdf (1.82 Mo) Télécharger le fichier
Origine Version validée par le jury (STAR)

Dates et versions

tel-04426035 , version 1 (30-01-2024)

Identifiants

  • HAL Id : tel-04426035 , version 1

Citer

Rémi Dulong. Towards new memory paradigms : Integrating non-volatile main memory and remote direct memory access in modern systems. Computer science. Institut Polytechnique de Paris; Université de Neuchâtel, 2023. English. ⟨NNT : 2023IPPAS027⟩. ⟨tel-04426035⟩
92 Consultations
128 Téléchargements

Partager

Gmail Mastodon Facebook X LinkedIn More