Self-Adaptable Virtual Machines

Submitted by Agnes COTTAIS on
Team
Date of the beginning of the PhD (if already known)
Octobre 2020
Place
IRISA - Campus universitaire de Beaulieu, Rennes
Laboratory
IRISA - UMR 6074
Description of the subject

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. 

Bibliography
  • 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.
Researchers

Lastname, Firstname
Olivier BARAIS
Type of supervision
Director
Laboratory
UMR 6074, Inria

Lastname, Firstname
Benoit COMBEMALE
Type of supervision
Co-director (optional)
Laboratory
UMR 6074, Inria

Lastname, Firstname
Martin MONPERRUS
Type of supervision
Supervisor (optional)
Laboratory
UMR 6074, Inria
Contact·s
Keywords
Language Design and Implementation, Language Engineering, Virtual machines, Performance benchmarking, Energy consumption