Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 2 Aug 1999 12:11:05 -0700 (PDT)
From:      Julian Elischer <julian@whistle.com>
To:        emulation@freebsd.org
Subject:   Seminar: Virtual Machine Acceleration, Aug 4 (fwd)
Message-ID:  <Pine.BSF.3.95.990802121053.9484B-100000@current1.whistle.com>

next in thread | raw e-mail | index | archive | help


---------- Forwarded message ----------
Date: Mon, 2 Aug 1999 02:20:33 -0700 (PDT)
From: Monica Lam <lam@cs.stanford.edu>
To: piglets@corsica.stanford.edu, colloq@cs.stanford.edu
Subject: Seminar: Virtual Machine Acceleration, Aug 4


                 Virtual Machine Acceleration

                         Vasanth Bala
                     Hewlett-Packard Labs
                            Gates 104
                        August 4, 1999
                             1:30 pm


A Virtual Machine (VM) is a software CPU that emulates a non-native
(virtual) system on a native machine. It typically consists of an
interpreter for the virtual instruction set, together with a runtime
environment. The VM itself is a natively compiled binary, that makes
system calls to the native OS, and invokes native libraries.

The conventional approach to accelerating a VM is to implement its
interpreter as a JIT. Although JITs can outperform pure interpretation
by a
substantial margin, they have some drawbacks. A JIT can make the VM code

non-portable (i.e., target machine dependent), and also significantly
increase its memory footprint. While these issues are unimportant in the

x86-dominated desktop market, they are nevertheless critical in the
embedded
device market.

In this talk, I explore the following question: "Is it possible to
retain
the portability and footprint advantages of an interpreted VM, while
achieving the performance of a machine-dependent JIT?" After a 3 year
long
investigation that took many interesting twists and turns, we have
succeeded
in developing a technology that has the real possibility of answering
this
question in the affirmative. It is called "transparent dynamic
optimization", and refers to the RUNTIME optimization of a NATIVE
instruction stream. Contrary to a conventional compiler, the optimiztion
is
done when the native bits are about to be executed, rather than when the

native bits are first created. It is "transparent" in the sense that the

native binary does not have to be prepared in any special way via
instrumentation or compiler/language hints. The idea is to dynamically
optimize the native VM program while it interprets its non-native input
program, ideally accelerating it to JIT performance levels.

Early results from our prototype system, called Dynamo, demonstrate the
potential of this idea in a very compelling way. Dynamo accelerates -O
optimized native PA-RISC binaries for the perl, li and m88ksim
benchmarks
(all "portable VMs" that execute non-native programs) to a -O4
performance
level (approximately 20% speedup). Dynamo is implemented entirely in
software, and does not rely on any compiler, programming language, OS,
or
hardware support. Dynamo's code footprint is a mere 250 Kb, and its data

memory footprint is only 300 Kb.

-----
Bio:

Vas is a scientist at HP Labs Cambridge, MA. He is the chief architect
of
Dynamo, and has directed the project since its inception in Dec 1995.
Prior
to joining HP Labs in 1994, he has held positions at Kendall Square
Research, IBM T.J. Watson Research Ctr, and Caltech. His current
research
interests are in compilers and architectures for embedded systems. Vas
received his PhD from Rice University in 1989.

+----------------------------------------------------------------------------+
| This message was sent via the Stanford Computer Science Department         |
| colloquium mailing list.  To be added to this list send an arbitrary       |
| message to colloq-subscribe@cs.stanford.edu.  To be removed from this list,|
| send a message to colloq-unsubscribe@cs.stanford.edu. For more information,|
| send an arbitrary message to colloq-request@cs.stanford.edu. For directions|
| to Stanford, check out http://www-forum.stanford.edu                       |
+-------------------------------------------------------------------------xcl+



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-emulation" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.95.990802121053.9484B-100000>