Thèse de doctorat : « Intégration de la mémoire persistante dans Java »
Publié le 23 mars 2023Télécom SudParis
L'Ecole doctorale : Ecole Doctorale de l'Institut Polytechnique de Paris et le Laboratoire de recherche SAMOVAR - Services répartis, Architectures, MOdélisation, Validation, Administration des Réseaux présentent l’AVIS DE SOUTENANCE de Monsieur Anatole LEFORT, autorisé à présenter ses travaux en vue de l’obtention du Doctorat de l'Institut Polytechnique de Paris, préparé à Télécom SudParis en : Informatique.
« Intégration de la mémoire persistante dans Java »
Le VENDREDI 24 MARS 2023 à 9h30
Amphi 7
Télécom SudParis
19 place Marguerite Perey, 91120 Palaiseau
Membres du jury :
- M. Gaël THOMAS, Professeur, Télécom SudParis, FRANCE - Directeur de thèse
- M. Pierre SUTRA, Maître de conférences, Télécom SudParis, FRANCE - Co-encadrant de thèse
- Mme Sara BOUCHENAK, Professeure, INSA Lyon, FRANCE - Examinatrice
- Mme Panagiota FATOUROU, Professor, FORTH ICS & University of Crete, CSD, GRECE - Examinatrice
- M. Vivien QUEMA, Professeur, Grenoble INP/ENSIMAG, FRANCE - Rapporteur
- M. Paolo ROMANO, Associate Professor, Instituto Superior Técnico, University of Lisbon, PORTUGAL - Rapporteur
Résumé :
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 maintenir des structures de données complexes par le biais d'instructions mémoires standards, tout en étant résistante aux pannes système et logiciels. Néanmoins, gérer correctement la persistance des données est bien plus compliquée que de simples manipulations mémoire.
De plus, chaque bug en NVMM peut désormais compromettre l'intégrité des données ainsi que leur récupération, et il faut donc prendre grand soin quant à sa programmation. Ainsi, de nouvelles abstractions de programmation pour la persistance et l’intégration dans les langages et compilateurs sont nécessaires afin de faciliter l'usage de la mémoire non-volatile. Cette thèse se penche sur ce problème général.
Nous expliquons comment intégrer la mémoire persistante dans les langages de programmation managés, et présentons J-NVM, un framework pour accéder efficacement à la NVMM en Java. Avec J-NVM, nous montrons comment concevoir une interface d'accès simple, complète et efficace qui lie les spécificités de la persistance sur NVMM avec la programmation orientée objet. En particulier, J-NVM offre des fonctionnalités pour rendre durable des objets Java avec des sections de code atomiques en cas de panne. J-NVM est construit sans apporter de modifications à l'environnement d'exécution de Java, ce qui favorise sa portabilité aux divers environnements d’exécution de Java.
En interne, J-NVM s'appuie sur des objets mandataires qui réalisent des accès directs à la NVMM, gérée comme une mémoire hors-tas. Ce canevas fournit également une bibliothèque de structures de données optimisées pour la NVMM qui restent cohérentes à la suite de redémarrages ou d’arrêts impromptus. Au cours de cette thèse, nous évaluons J-NVM en ré-implémentant la couche de stockage d'Infinispan, une base de données open-source de niveau industriel. Les résultats obtenus avec les benchmarks TPC-B et YCSB, montrent que J-NVM est systématiquement plus rapide que les autres approches existant à l’heure actuelle pour accéder à la NVMM en Java.