A Support for Persistent Memory in Java ; Intégration de la mémoire persistante dans Java
Saved in:
| Title: | A Support for Persistent Memory in Java ; Intégration de la mémoire persistante dans Java |
|---|---|
| Authors: | Lefort, Anatole |
| Contributors: | Institut Polytechnique de Paris (IP Paris), Département Informatique (TSP - INF), Télécom SudParis (TSP), Institut Mines-Télécom Paris (IMT)-Institut Polytechnique de Paris (IP Paris)-Institut Mines-Télécom Paris (IMT)-Institut Polytechnique de Paris (IP Paris), Institut Polytechnique de Paris, Gaël Thomas |
| Source: | https://theses.hal.science/tel-04161004 ; Computer science. Institut Polytechnique de Paris, 2023. English. ⟨NNT : 2023IPPAS001⟩. |
| Publisher Information: | CCSD |
| Publication Year: | 2023 |
| Subject Terms: | Persistent data type, Persistent programming, Object-oriented programming, Non-volatile main memory, Structure de données persitantes, Programmation persistante, Programmation orientée objet, Mémoire non-Volatile, [SCCO.COMP]Cognitive science/Computer science |
| Description: | Recently released non-volatile main memory (NVMM), as fast and durable memory, dramatically increases storage performance over traditional media (SSD, hard disk).A substantial and unique property of NVMM is byte-addressability -- complex memory data structures, maintained with regular load/store instructions,can now resist machine power-cycles, software faults or system crashes.However, correctly managing persistence with the fine grain of memory instructions is laborious, with increased risk of compromising data integrity and recovery at any misstep.Programming abstractions from software libraries and support from language runtime and compilers are necessary to avoid memory bugs that are exacerbated with persistence.In this thesis, we address the challenges of supporting persistent memory in managed language environments by introducing J-NVM, a framework to efficiently access NVMM in Java.With J-NVM, we demonstrate how to design an efficient, simple and complete interface to weave NVMM-devised persistence into object-oriented programming,while remaining unobtrusive to the language runtime itself.In detail, J-NVM offers a fully-fledged interface to persist plain Java objects using failure-atomic sections.This interface relies internally on proxy objects that intermediate direct off-heap access to NVMM.The framework also provides a library of highly-optimized persistent data types that resist reboots and power failures.We evaluate J-NVM by implementing a persistent backend for Infinispan, an industrial-grade data store.Our experimental results, obtained with a TPC-B like benchmark and YCSB, show that J-NVM is consistently faster than other approaches at accessing NVMM in Java. ; L'arrivée de la mémoire non-volatile (NVMM) sur le marché propose une alternative rapide et durable pour le stockage de données, avec des performances considérablement accrues par rapport aux supports traditionnels, à savoir SSD et disques durs. La NVMM est adressable à la granularité de l'octet, une caractéristique unique qui permet de ... |
| Document Type: | doctoral or postdoctoral thesis |
| Language: | English |
| Relation: | NNT: 2023IPPAS001 |
| Availability: | https://theses.hal.science/tel-04161004 https://theses.hal.science/tel-04161004v1/document https://theses.hal.science/tel-04161004v1/file/101547_LEFORT_2023_depot_final.pdf |
| Rights: | info:eu-repo/semantics/OpenAccess |
| Accession Number: | edsbas.2A4F0A90 |
| Database: | BASE |
| Abstract: | Recently released non-volatile main memory (NVMM), as fast and durable memory, dramatically increases storage performance over traditional media (SSD, hard disk).A substantial and unique property of NVMM is byte-addressability -- complex memory data structures, maintained with regular load/store instructions,can now resist machine power-cycles, software faults or system crashes.However, correctly managing persistence with the fine grain of memory instructions is laborious, with increased risk of compromising data integrity and recovery at any misstep.Programming abstractions from software libraries and support from language runtime and compilers are necessary to avoid memory bugs that are exacerbated with persistence.In this thesis, we address the challenges of supporting persistent memory in managed language environments by introducing J-NVM, a framework to efficiently access NVMM in Java.With J-NVM, we demonstrate how to design an efficient, simple and complete interface to weave NVMM-devised persistence into object-oriented programming,while remaining unobtrusive to the language runtime itself.In detail, J-NVM offers a fully-fledged interface to persist plain Java objects using failure-atomic sections.This interface relies internally on proxy objects that intermediate direct off-heap access to NVMM.The framework also provides a library of highly-optimized persistent data types that resist reboots and power failures.We evaluate J-NVM by implementing a persistent backend for Infinispan, an industrial-grade data store.Our experimental results, obtained with a TPC-B like benchmark and YCSB, show that J-NVM is consistently faster than other approaches at accessing NVMM in Java. ; L'arrivée de la mémoire non-volatile (NVMM) sur le marché propose une alternative rapide et durable pour le stockage de données, avec des performances considérablement accrues par rapport aux supports traditionnels, à savoir SSD et disques durs. La NVMM est adressable à la granularité de l'octet, une caractéristique unique qui permet de ... |
|---|
Nájsť tento článok vo Web of Science