Overview
Due to physical limitations, the growth of clock speed of new computer hardware is slowing down, and hardware architects are forced to realize performance gains by increasing the amount of parallelism, often by increasing the number of cores or hardware threads in a processor. Thus, the most promising approach to support the growing performance demand of applications is to improve their utilization of this increasingly available hardware parallelism.
However, this approach is particularly difficult for the large segment of interactive desktop applications. These applications handle a sequence of a single user's requests, where a request often depends on the applications' response to the prior request. Thus, their behavior is inherently sequential, and they do not directly benefit from the increasingly available hardware parallelism.
The goal of this research is to enable the performance improvement of such interactive applications. Since users judge the performance of interactive applications by the perceived latency of their responses, improving performance means reducing the number of responses with perceptible latency.
Research Questions
We aim to answer the following questions:
- How far can optimizations in the framework and virtual machine layers help to reduce latency? Can prediction-based speculative execution of costly operations in these layers help?
- How predictable are user requests in interactive applications? What kind of predictive models are effective at predicting user and application behavior?