Desktop distributed computing allows companies to exploit the idle
cycles on pervasive desktop PC systems to increase the available computing
power by orders of magnitude (10x - 1000x). Applications are submitted,
distributed, and run on a grid of desktop PCs. Since the applications may be
malformed, or malicious, the key challenges for a desktop grid are how to 1)
control the distributed computing application's resource usage and behavior as
it runs on the desktop PC, 2) provide protection for the distributed
application's program and its data, and 3) provide a virtualized execution
environment, decoupling correct application execution from desktop
configuration heterogeneity. We describe the Entropia Virtual Machine, and the
solutions it embodies for each of these challenges. We first outline the
distinct requirements for a virtual machine in a desktop grid environment,
which differ from web-based and hardware-level virtual machines. We then
describe how the Entropia Virtual Machine (EVM) uses binary rewriting to solve
these problems, guaranteeing the usability and protection of the desktop
machine in the face of malicious or malformed application code. We also show
that our approach provides security for the applications and their data. We
detail how the virtual machine supports a virtualized execution environment.
We present performance results for the EVM which show its performance overhead
is modest, less than 6% for the applications studied.
Pre-2018 CSE ID: CS2003-0773