Project

Back to overview

TransGC: Concurrent Garbage Collection and Managed Runtime Environments using Hardware Transactional Memory

Applicant Felber Pascal
Number 149243
Funding scheme Project funding (Div. I-III)
Research institution Institut d'informatique Université de Neuchâtel
Institution of higher education University of Neuchatel - NE
Main discipline Information Technology
Start/End 01.11.2013 - 31.10.2016
Approved amount 231'616.00
Show all

Keywords (5)

Parallel programming; Garbage collection; Managed languages; Multicore architectures; Concurrency

Lay Summary (French)

Lead
The TransGC project aims at exploiting the hardware transactional memory (HTM) facilities part of Intel's new processors to develop a fully-concurrent garbage collector for Java and, more generally, to improve the performance and scalability of managed runtime environments.
Lay summary
Alors que la fréquence des processeurs cesse d'augmenter en raison de limitations thermiques et de consommation, la performance des ordinateurs continue à s'améliorer grâce à la généralisation des processeurs "multi-coeurs". Cependant, la manière d’exploiter au mieux ces nouvelles capacités de traitement parallèle représente un défi majeur pour les chercheurs et l'industrie du logiciel. En effet, développer des applications concurrentes qui sont à la fois correctes et performantes est loin d'être simple!

La mémoire transactionnelle (TM) représente une approche prometteuse pour relever ce défi. La TM permet au développeur de spécifier, dans son programme, quelles sont les sections critiques devant s'exécuter en isolation. Le substrat de TM va automatiquement exécuter ces sections dans des transactions "légères". La principale limitation de cette approche est le surcoût engendré par les mécanismes de TM.

Or, avec l'apparition de mémoire transactionnelle matérielle (HTM) dans la dernière génération de processeurs, nous disposons désormais de mécanismes de TM réellement efficaces. Les nouveaux processeurs "Haswell" d'Intel proposent des extensions transactionnelles (TSX) supportant l'élision de verrou matérielle (HLE) et une TM restreinte (RTM).

L'objectif de ce projet est d'exploiter ces nouvelles instructions pour résoudre un problème important des langages de programmation avec gestion de mémoire implicite: le développement d'un ramasse-miette (dispositif de recyclage de la mémoire) réellement concurrent. En effet, les solutions actuelles requièrent un arrêt temporaire du programme durant le recyclage de la mémoire, ce qui peut entraîner des pauses importantes dans des applications où le temps de réponse est critique. De manière plus générale, le projet va également étudier dans quelle mesure les mécanismes de HTM peuvent être bénéfiques à d'autres problèmes rencontrés dans les environnements d'exécution dynamiques tels que Java.

Direct link to Lay Summary Last update: 09.10.2013

Responsible applicant and co-applicants

Employees

Publications

Publication
Towards an Efficient Pauseless Java GC with Selective HTM-Based Access Barriers
Carpen-Amarie Maria, Hayduk Yaroslav, Felber Pascal, Fetzer Christof, Thomas Gaël (2017), Towards an Efficient Pauseless Java GC with Selective HTM-Based Access Barriers, in the 14th International Conference, Prague, Czech RepublicACM, New York.
Transactional Pointers: Experiences with HTM-Based Reference Counting in C++
Carpen Amarie Maria, Dice Dave, Thomas Gaël, Felber Pascal (2016), Transactional Pointers: Experiences with HTM-Based Reference Counting in C++, in 4th International Conference on Networked Systems (NETYS), Springer, Germany.
A performance study of Java garbage collectors on multicore architectures
Carpen Amarie Maria, Marlier Patrick, Felber Pascal, Thomas Gaël (2015), A performance study of Java garbage collectors on multicore architectures, in 6th International Workshop on Programming Models and Applications for Multicores and Manycore (PMAM), ACM, USA.
Evaluating HTM for Pauseless Garbage Collectors in Java
Carpen Amarie Maria, Dice Dave, Marlier Patrick, Thomas Gaël, Felber Pascal (2015), Evaluating HTM for Pauseless Garbage Collectors in Java, in 13th IEEE International Symposium on Parallel and Distributed Processing with Applications (ISPA), IEEE, USA.

Collaboration

Group / person Country
Types of collaboration
Oracle Corporation United States of America (North America)
- in-depth/constructive exchanges on approaches, methods or results
- Publication
University of Paris 6 France (Europe)
- in-depth/constructive exchanges on approaches, methods or results
- Publication
- Research Infrastructure

Awards

Title Year
Research grant from the Euro-TM COST Action (IC1001) for a Short Term Scientific Mission to visit Prof. Gaël Thomas (2500 euros). 2014

Abstract

Le projet TransGC vise à exploiter les mécanismes de mémoire transactionnelle matérielle présents dans la dernière génération de processeurs afin de développer un ramasse-miette concurrent pour la machine virtuelle Java et, de manière plus générale, pour améliorer la performance et le passage à l'échelle des environnements d'exécution.
-