VMKit: a Substrate for Virtual Machines

Nicolas Geoffray 1 Gaël Thomas 1 Charles Clément 1 Bertil Folliot 1 Gilles Muller 1
1 Regal - Large-Scale Distributed Systems and Applications
LIP6 - Laboratoire d'Informatique de Paris 6, Inria Paris-Rocquencourt
Abstract : Developing and optimizing a virtual machine (VM) is a tedious task that requires many years of development. Although VMs share some common principles, such as a Just In Time Compiler or a Garbage Collector, this opportunity for sharing hash not been yet exploited in implementing VMs. This paper describes and evaluates VMKit, a first attempt to build a common substrate that eases the development of high-level VMs. VMKit has been successfully used to build three VMs: a Java Virtual Machine, a Common Language Runtime and a lisp-like language with type inference uvml. Our precise contribution is an extensive study of the lessons learnt in implementing such common infrastructure from a performance and an ease of development standpoint. Our performance study shows that VMKit does not degrade performance on CPU-intensive applications, but still requires engineering efforts to compete with other VMs on memory intensive applications. Our high level VMs are only 20,000 lines of code, it took one of the author a month to develop a Common Language Runtime and implementing new ideas in the VMs was remarkably easy.
Type de document :
Rapport
[Research Report] RR-6799, INRIA. 2009, pp.25
Liste complète des métadonnées

Littérature citée [22 références]  Voir  Masquer  Télécharger

https://hal.inria.fr/inria-00354577
Contributeur : Nicolas Geoffray <>
Soumis le : mardi 3 mars 2009 - 10:09:48
Dernière modification le : vendredi 31 août 2018 - 09:25:54
Document(s) archivé(s) le : mardi 8 juin 2010 - 23:04:27

Fichier

RR-6799.pdf
Fichiers produits par l'(les) auteur(s)

Identifiants

  • HAL Id : inria-00354577, version 1

Collections

Citation

Nicolas Geoffray, Gaël Thomas, Charles Clément, Bertil Folliot, Gilles Muller. VMKit: a Substrate for Virtual Machines. [Research Report] RR-6799, INRIA. 2009, pp.25. 〈inria-00354577〉

Partager

Métriques

Consultations de la notice

488

Téléchargements de fichiers

325