Efficient and Language-Independent Mobile Programs
A. Adl-Tabatabai,
G. Langdale, S. Lucco, and R. Wahbe, "Efficient and
Language-Independent Mobile Programs", Proc. ACM SIGPLAN Symp. on
Programming Language Design and Implementation, May, 1996, 127-136.
Abstract
This paper evaluates the design and implementation of Omniware: a
safe, efficient, and language-independent system for executing mobile
program modules. Previous approaches to implementing mobile code rely
on either language semantics or abstract machine interpretation to
enforce safety. In the former case, the mobile code system sacrifices
universality to gain safety by dictating a particular source language
or type system. In the latter case, the mobile code system sacrifices
performance to gain safety through abstract machine interpretation.
Omniware uses software fault isolation, a technology developed to
provide safe extension code for databases and operating systems, to
achieve a unique combination of language-independence and excellent
performance. Software fault isolation uses only the semantics of the
underlying processor to determine whether a mobile code module can
corrupt its execution environment. This separation of programming
language implementation from program module safety enables our mobile
code system to use a radically simplified virtual machine as its basis
for portability. We measured the performance of Omniware using a
suite of four SPEC92 programs on the Pentium, PowerPC, Mips,
and Sparc processor architectures. Including the overhead for
enforcing safety on all four processors, OmniVM executed the benchmark
programs within 21% as fast as the optimized, unsafe code produced by
the vendor-supplied compiler.
Postscript
ali@cs.cmu.edu