Login
TransGC: Concurrent Garbage Collection and Managed Runtime Environments using Hardware Transactional Memory
Project responsable Pascal Felber
   
Abstract 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.
   
Keywords Parallel Programming, Garbage Collection, Managed Languages, Multicore Architectures, Concurrency
   
Project homepage http://p3.snf.ch/Project-149243
   
Type of project Fundamental research project
Research area Informatique
Method of financing FNS - Encouragement de projets (Div. I-III)
Status Completed
Start of project 1-11-2013
End of project 31-10-2016
Overall budget 229'061.00
Contact Pascal Felber