A Support for Persistent Memory in Java ; Intégration de la mémoire persistante dans Java

Saved in:
Bibliographic Details
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
Description
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 ...