Javascript must be enabled to continue!
DRUID : Metacompilation of Baseline JIT Compilers
View through CrossRef
DRUID : Métacompilation des compilateurs JIT de base
Les machines virtuelles (VM) combinent des interprètes et des compilateurs à la volée (JIT) pour obtenir de bonnes performances.Cependant, maintenir plusieurs moteurs d'exécution augmente considérablement les coûts de développement et de maintenance.Alors que des travaux antérieurs se sont intéressés à la génération automatique de compilateurs JIT optimisants, la question de savoir si la métacompilation peut être appliquée efficacement aux compilateurs JIT de base, qui privilégient une compilation rapide et un temps de préchauffage réduit, restait ouverte.Dans cette thèse, nous présentons textbf{Druid, un métacompilateur source-à-source avant d'exécution qui génère un compilateur JIT de base} directement à partir des définitions de l'interpréteur.Les développeurs du langage guident le processus de métacompilation à l'aide d'annotations et d'intrinsèques, pendant que Druid cible une infrastructure JIT existante afin de réutiliser des optimisations et des composants d'exécution éprouvés, offrant ainsi des performances de préchauffage compétitives.Nous avons appliqué Druid à la machine virtuelle Pharo utilisée en production, et évalué les performances du compilateur JIT généré automatiquement.Le JIT de base obtenu est xTimes{1.8} plus rapide que l'interpréteur et atteint {70%} des performances d'un compilateur JIT écrit manuellement et amélioré depuis plus de dix ans.Cela n'a nécessité que 60 modifications ponctuelles dans l'interpréteur, démontrant que Druid réduit considérablement l'effort d'ingénierie requis pour maintenir et faire évoluer les VM de langage.Les compilateurs JIT de base doivent compiler rapidement tout en appliquant des optimisations essentielles.Une stratégie couramment utilisée est l'interprétation abstraite à la compilation, qui réalise en un seul passage l'allocation de registres, la propagation de constantes et l'ordonnancement des instructions.Cependant, il est difficile d'isoler et de quantifier les bénéfices de cette technique en comparant des compilateurs développés indépendamment.Avec Druid, nous avons généré automatiquement plusieurs variantes du compilateur JIT de Pharo afin d'évaluer expérimentalement l'impact de l'interprétation abstraite dans des conditions contrôlées.Nous utilisons la métacompilation pour: (a) réduire l'effort d'expérimentation et (b) produire des variantes de compilateurs comparables, réduisant le bruit lié aux différences implémentations.Nos résultats montrent que l'interprétation abstraite réduit la taille du code machine de {12%} et améliore la vitesse d'exécution de {10%} en moyenne (jusqu'à {30%}), sans augmentation mesurable du temps de compilation JIT par rapport à une approche de traduction directe.
Title: DRUID : Metacompilation of Baseline JIT Compilers
Description:
DRUID : Métacompilation des compilateurs JIT de base
Les machines virtuelles (VM) combinent des interprètes et des compilateurs à la volée (JIT) pour obtenir de bonnes performances.
Cependant, maintenir plusieurs moteurs d'exécution augmente considérablement les coûts de développement et de maintenance.
Alors que des travaux antérieurs se sont intéressés à la génération automatique de compilateurs JIT optimisants, la question de savoir si la métacompilation peut être appliquée efficacement aux compilateurs JIT de base, qui privilégient une compilation rapide et un temps de préchauffage réduit, restait ouverte.
Dans cette thèse, nous présentons textbf{Druid, un métacompilateur source-à-source avant d'exécution qui génère un compilateur JIT de base} directement à partir des définitions de l'interpréteur.
Les développeurs du langage guident le processus de métacompilation à l'aide d'annotations et d'intrinsèques, pendant que Druid cible une infrastructure JIT existante afin de réutiliser des optimisations et des composants d'exécution éprouvés, offrant ainsi des performances de préchauffage compétitives.
Nous avons appliqué Druid à la machine virtuelle Pharo utilisée en production, et évalué les performances du compilateur JIT généré automatiquement.
Le JIT de base obtenu est xTimes{1.
8} plus rapide que l'interpréteur et atteint {70%} des performances d'un compilateur JIT écrit manuellement et amélioré depuis plus de dix ans.
Cela n'a nécessité que 60 modifications ponctuelles dans l'interpréteur, démontrant que Druid réduit considérablement l'effort d'ingénierie requis pour maintenir et faire évoluer les VM de langage.
Les compilateurs JIT de base doivent compiler rapidement tout en appliquant des optimisations essentielles.
Une stratégie couramment utilisée est l'interprétation abstraite à la compilation, qui réalise en un seul passage l'allocation de registres, la propagation de constantes et l'ordonnancement des instructions.
Cependant, il est difficile d'isoler et de quantifier les bénéfices de cette technique en comparant des compilateurs développés indépendamment.
Avec Druid, nous avons généré automatiquement plusieurs variantes du compilateur JIT de Pharo afin d'évaluer expérimentalement l'impact de l'interprétation abstraite dans des conditions contrôlées.
Nous utilisons la métacompilation pour: (a) réduire l'effort d'expérimentation et (b) produire des variantes de compilateurs comparables, réduisant le bruit lié aux différences implémentations.
Nos résultats montrent que l'interprétation abstraite réduit la taille du code machine de {12%} et améliore la vitesse d'exécution de {10%} en moyenne (jusqu'à {30%}), sans augmentation mesurable du temps de compilation JIT par rapport à une approche de traduction directe.
Related Results
Just‐in‐time implementation issues among automotive suppliers in the southern USA
Just‐in‐time implementation issues among automotive suppliers in the southern USA
PurposeThe purpose of this paper is to provide insight into the major supply chain issues of the automotive manufacturing industry in the southern USA.Design/methodology/approachTh...
Analisis Pengendalian Kuantitas Produksi dengan Menggunakan Metode Just In Time (JIT) pada Usaha Dagang Mastura di Kota Palu
Analisis Pengendalian Kuantitas Produksi dengan Menggunakan Metode Just In Time (JIT) pada Usaha Dagang Mastura di Kota Palu
Penelitian ini bertujuan untuk mengetahui dan menganalisis pengendalian kuantitas produksi dengan menggunakan metode Just In Time (JIT) pada UD. MASTURA Kota Palu selama tahun 2020...
The role of organizational context and infrastructure practices in JIT implementation
The role of organizational context and infrastructure practices in JIT implementation
PurposeThe purpose of this paper is to analyze which factors determine the use of just‐in‐time (JIT) in companies. More precisely, the paper aims to study the role played by two va...
Understanding Disengagement in Just-in-Time Mobile Health Interventions
Understanding Disengagement in Just-in-Time Mobile Health Interventions
Just-in-time (JIT) intervention aims to proactively detect a user's problematic behaviors and deliver interventions at an opportune moment to facilitate target behaviors. However, ...
JIT 2023 - Jornadas de Jóvenes Investigadores Tecnológicos
JIT 2023 - Jornadas de Jóvenes Investigadores Tecnológicos
Es un honor presentar este libro que compila los trabajos de investigación y desarrollo presentados en las Jornadas de Jóvenes Investigadores Tecnológicos (JIT) 2023. Este evento s...
JIT 2025 - Jornadas de Jóvenes Investigadores Tecnológicos
JIT 2025 - Jornadas de Jóvenes Investigadores Tecnológicos
Esta publicación reúne los trabajos de investigación y desarrollo presentados en las Jornadas de Jóvenes Investigadores Tecnológicos (JIT) 2025. El evento, consolidado en el ámbito...
The Usefulness of Mobile Compilers for Learning Computer Programming
The Usefulness of Mobile Compilers for Learning Computer Programming
This study examines the usefulness of mobile compilers for learning computer programming in higher learning institutions in Tanzania. The study was conducted at the Institute of Ac...
Introduction of Strategic Cost Management for Instrumentation Industry
Introduction of Strategic Cost Management for Instrumentation Industry
In this paper Researchers discuss about the Strategic cost management and its various techniques of it. The basic aim of Strategic Cost Management (SCM) is to help the organisation...

