Treffer: SlimVM: Optimistic Partial Program Loading for Connected Embedded Java Virtual Machines
Weitere Informationen
Embedded systems are inherently limited in terms of local storage capacity. This limitation conflicts with the demands of modern virtual machine technologies, which require large amounts of library code to be present on each client device. These conflicting requirements are often resolved by providing specialized embedded versions of the standard libraries, but even these stripped down libraries consume significant resources. We present a solution for “always connected ” mobile devices that is based on a zero footprint paradigm. In our approach, all code resides on a remote host. Only those parts of applications and libraries that are likely to be needed are transferred to the mobile device. Since it is difficult to predict statically which library parts will be needed at runtime, we combine static analyses and dynamic error recovery methods to transfer code with a high likelihood of execution ahead of time while other code (such as exception code) remains on the remote host and is provided only on demand. The granularity of our approach is flexible all the way down to individual basic blocks. Our method achieves total code size reductions of up to 95%.