Balancing Computation and Code Distribution Costs: The Case for Hybrid Execution in Sensor Networks
Virtual Machines (VM) are promising as system software in networks of embedded systems and pervasive computing spaces. VMs facilitate the development of platform-independent applications with small footprints to enable low cost application distribution and evolution. A major impediment to their more widespread acceptance is the performance overhead of interpretation. Compiling VM byte-code to native instructions addresses this issue, but can increase footprint and code distribution costs. Thus, there is an important tradeoff between cost of computing, and cost of communication due to code distribution.