Self-Adaptable Virtual Machines

Publié le
Equipe (ou département si l'offre n'est pas rattachée à une équipe)
Date de début de thèse (si connue)
Octobre 2020
Lieu
IRISA - Campus universitaire de Beaulieu, Rennes
Unité de recherche
IRISA - UMR 6074
Description du sujet de la thèse

In the past few years, researchers in software language engineering tried to reduce the costs of programming language creation. This comes with different approaches like improvement of language workbenches usability and language modularity and composition. With those approaches, the design of a new language became an affordable solution to address domain-specific problems. However, such a generic approach hamper the application of fine-grained optimizations within the resulting language, together with energy-demanding runtimes.

We propose to explore the definition of a new design pattern, and the corresponding software architecture, to develop an interpreter in the form of a dynamically adaptable system. The architecture should reify an explicit feedback loop, with a possible reconfiguration for the sake of performances, energy consumption, or a trade-off between them. The candidate will review the literature about software performance benchmarking, language design and implementation (esp. metamodeling techniques), dynamically adaptable systems engineering (e.g., MAPE-K loop), and program transformation tools for static and dynamic analysis (e.g. SPOON). Based on the literature review, the candidate will propose a new design pattern to enhanced the implementation of a virtual machine with a feedback loop and will evaluate it on various domain-specific languages.

The PhD will take place in the DiverSE team at IRISA, and in collaboration with KTH, Sweden (Group of Prof. Monperrus, CASTOR center). The candidate will join a research project already initiated 1 year ago and will be involved in a group of PhD students and Professors working on the topic. 

Bibliographie
  • Thomas Würthinger, Christian Wimmer, Christian Humer, Andreas Wöß, Lukas Stadler, Chris Seaton, Gilles Duboscq, Doug Simon, and Matthias Grimmer. 2017. Practical partial evaluation for high-performance dynamic language runtimes. In Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2017). ACM, 662-676.
  • E. Barrett, C. F. Bolz-Tereick, R. Killick, S. Mount, and L. Tratt, “Virtual machine warmup blows hot and cold,” Proceedings of the ACM on Programming Languages, vol. 1, no. OOPSLA, p. 52, 2017.
  • M. Rodriguez-Cancio, B. Combemale, and B. Baudry, “Automatic microbenchmark generation to prevent dead code elimination and constant folding,” in 2016 31st IEEE/ACM International Conference on Automated Software Engineering (ASE). IEEE, 2016, pp. 132–143.
  • M. Arnold, S. J. Fink, D. Grove, M. Hind, and P. F. Sweeney, “A survey of adaptive optimization in virtual machines,” Proceedings of the IEEE, vol. 93, no. 2, pp. 449–466, 2005.
Liste des encadrants et encadrantes de thèse

Nom, Prénom
Olivier BARAIS
Type d'encadrement
Directeur.trice de thèse
Unité de recherche
UMR 6074, Inria

Nom, Prénom
Benoit COMBEMALE
Type d'encadrement
2e co-directeur.trice (facultatif)
Unité de recherche
UMR 6074, Inria

Nom, Prénom
Martin MONPERRUS
Type d'encadrement
Co-encadrant.e
Unité de recherche
UMR 6074, Inria
Contact·s
Mots-clés
Language Design and Implementation, Language Engineering, Virtual machines, Performance benchmarking, Energy consumption