Leveraging Profile-Selected Execution Patterns for Optimized Code Execution in Resource-Constrained Systems

by Carmen Badea

Location: Bren Hall 3013

Date and Time: September 7, 2010 11:00am

Prof. Alex Nicolau (Chair)
Prof. Alex Veidenbaum
Prof. Nikil Dutt

Embedded systems and related devices have become ubiquitous in today’s world and are expected to proliferate even further. 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 and energy consumption.

In order to overcome the intrinsic drawbacks of Java execution for resource-constrained systems, we propose to use dynamic profile-selected, optimized execution patterns in order to build a lightweight Java execution environment, targeting resource-constrained systems, that achieves competitive Java runtime performance, while having negligible impact on memory footprint, as well as reducing the overall energy consumption.

More recently, with the advancements in the web application technology, the browser has emerged as the favorite platform for deploying many applications, in particular for embedded devices such as smartphones. As such, we investigated whether the use of frequent execution patterns selected as directed by dynamic profiling would be beneficial for browser execution performance. With the use of collected dynamic profiling data indicating the most frequent patterns of execution we were able to develop a browser prototype that delivers significant runtime performance speedups.