VMKit: A substrate for managed runtime environments

Nicolas Geoffray, Gaël Thomas, Julia Lawall, Gilles Muller, Bertil Folliot

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

Managed Runtime Environments (MREs), such as the JVM and the CLI, form an attractive environment for program execution, by providing portability and safety, via the use of a bytecode language and automatic memory management, as well as good performance, via just-in-time (JIT) compilation. Nevertheless, developing a fully featured MRE, including e.g. a garbage collector and JIT compiler, is a herculean task. As a result, new languages cannot easily take advantage of the benefits of MREs, and it is difficult to experiment with extensions of existing MRE based languages. This paper describes and evaluates VMKit, a first attempt to build a common substrate that eases the development of high-level MREs. We have successfully used VMKit to build two MREs: a Java Virtual Machine and a Common Language Runtime. We provide an extensive study of the lessons learned in developing this infrastructure, and assess the ease of implementing new MREs or MRE extensions and the resulting performance. In particular, it took one of the authors only one month to develop a Common Language Runtime using VMKit. VMKit furthermore has performance comparableto the well established open source MREs Cacao, Apache Harmony and Mono, and is 1.2 to 3 times slower than JikesRVM on most of the Dacapo benchmarks.

Original languageEnglish
Title of host publicationVEE 2010 - Proceedings of the 2010 ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments
Pages51-61
Number of pages11
DOIs
Publication statusPublished - 21 May 2010
Event2010 ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments, VEE 2010 - Pittsburgh, PA, United States
Duration: 17 Mar 201019 Mar 2010

Publication series

NameVEE 2010 - Proceedings of the 2010 ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments

Conference

Conference2010 ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments, VEE 2010
Country/TerritoryUnited States
CityPittsburgh, PA
Period17/03/1019/03/10

Keywords

  • Just in time compiler
  • Virtual machine
  • Vmkit

Fingerprint

Dive into the research topics of 'VMKit: A substrate for managed runtime environments'. Together they form a unique fingerprint.

Cite this