Font Size: a A A

Leveraging profile-selected execution patterns for optimized code execution in resource-constrained systems

Posted on:2011-10-18Degree:Ph.DType:Dissertation
University:University of California, IrvineCandidate:Badea, Carmen TatianaFull Text:PDF
GTID:1446390002464668Subject:Computer Science
Abstract/Summary:
Embedded systems and related devices have become ubiquitous in today's world and are expected to proliferate even further (e.g. smartphones, e-book readers, navigation systems). It comes as no surprise that the execution performance for such devices is of paramount importance and is often perceived as the limiting factor w.r.t. both the capabilities of the system, as well as the user perception. Furthermore, unlike traditional general-purpose computing systems, these devices exhibit further inherent constraints due to their nature: memory footprint and energy consumption.;Java applications, commonly distributed in the architecture-independent bytecode format, exhibit three characteristics that make them particularly advantageous w.r.t. embedded devices: portability, security and small memory footprint, compared to native applications, thanks to Java applications being distributed in the compact bytecode format.;However, these advantages come at the price of the underlying stack-based architecture's inherent inefficiencies that JVMs employ. To compensate, many initiatives have focused on integrating high-end, expensive optimizations in various JVMs in order to improve execution performance. However, many of these optimizations are not suitable for Java execution environments deployed in embedded platforms, as the use of many such high-end optimizations would considerably increase consumption of scarce resources, such as energy or memory.;As such, in order to overcome the intrinsic drawbacks of Java execution for resource-constrained systems, we propose to use dynamic profile-selected, optimized execution patterns to build a lightweight Java execution environment targeted at resource-constrained systems, that achieves competitive Java runtime performance, while having a negligible impact on memory footprint, as well as reducing overall energy consumption.;More recently, with the advancements in the web application technology, the browser has emerged as the favorite platform for deploying a multitude of applications, in particular for embedded devices such as smartphones. As such, we analyze whether the use of frequent execution patterns selected as directed by dynamic tracing and profiling would be beneficial for browser's execution performance. Using the collected dynamic profiling data indicating the most frequent patterns of execution we were able to develop an optimized browser prototype that delivers significant runtime speedups.
Keywords/Search Tags:Execution, Systems, Patterns, Optimized, Devices, Resource-constrained
Related items