[virtmach] Implementing VMs efficiently (aka an attempt to revive the list)
Manoj Plakal
plakal@cs.wisc.edu
Wed, 2 Feb 2000 14:55:35 -0600
So here's my attempt at starting a thread on this apparently
dead list :)
What are people's thoughts on trends in using dynamic optimization
or some form of hardware support to implement virtual machines?
Yes, we all know that Smalltalk, LISP, Forth etc have been there
and done that but some recent trends are interesting especially
if they make a mainstream impact (no flamewars please).
Links of interest include:
- Transmeta's Crusoe: if you've been following posts by
Transmeta employees to comp.arch, you may notice that
they have a version of their code morpher that can
morph both x86 and Java byte codes, the benchmark was
x86 DooM with the inner loop compiled to Java using
a picoJava back-end contributed to gcc. Reserved opcodes
caused the morpher to switch emulated processor mode.
Apparently, you get *better* performance when morphing
Java than when morphing x86 (at least to the extent
that I understand their posts) which is interesting. At
least they are able to emulate multiple ISAs which makes
it interesting to more people.
- HP Dynamo: a dynamic optimizer that can optimize PA-RISC
binaries while they execute. The home page is at:
http://www.hpl.hp.com/cambridge/projects/Dynamo/ and one
of their on-line presentations talks about efficiently
implementing VMs using their technology.
- Wisconsin Strata: http://www.cae.wisc.edu/~ecearch/strata/
which is trying to design better VMs using software-hardware
co-design.
- Sun HotSpot and allied Java JIT stuff ... (other JVMs? IBM
Jalapeno?)
- any number of emulation/dynamic translation software products
(Compaq FX!32, IBM Daisy, Connectix VirtualPC, Insignia
SoftWindows/RealPC(?), VMware (to some extent) )
Thoughts? Ideas?
Manoj