Projekt

Zurück zur Übersicht

VIA - Vertical Profiling and Optimization of Modern Interactive Applications

Titel Englisch VIA - Vertical Profiling and Optimization of Modern Interactive Applications
Gesuchsteller/in Hauswirth Matthias
Nummer 125259
Förderungsinstrument Projektförderung (Abt. I-III)
Forschungseinrichtung Facoltà di scienze informatiche Università della Svizzera italiana
Hochschule Università della Svizzera italiana - USI
Hauptdisziplin Informatik
Beginn/Ende 01.04.2009 - 30.09.2010
Bewilligter Betrag 82'660.00
Alle Daten anzeigen

Keywords (10)

systems, virtual execution environments, interactive applications, experimental performance analysis, performance understanding, performance optimization, Interactive computer systems, Profiling, Latency, Perceptible performance

Lay Summary (Englisch)

Lead
Lay summary
Interactive applications represent a large segment of software, ranging from web browsers to spreadsheets, from embedded cell phone software to large-scale interactive visualization systems. The performance of these applications significantly impacts the productivity and satisfaction of their users. Unfortunately, traditional performance pro?ling and optimization approaches fail to address the aspect of performance most relevant to users: the perceptible latency in responding to user requests. We will devise a light-weight profiling approach that can be deployed with applications running in production environments. Our latency profiler will measure the perceptible performance of the application and whenever it observes perceptible latency, it will report diagnostic information back to a central server. Our infrastructure will then allow application developers to efficiently pinpoint and fix the causes of the performance problems as they happen in the field. To achieve this goal, we will address three challenges during this project: We will have to devise (1) an always-on measurement approach that is lightweight enough to be deployed in production settings; (2) an approach to causal analysis that allows developers to efficiently find the root causes of long latency; and (3) an approach to automatically propose possible solutions to fix the specific latency problems identified by our profiler. Our long-term research goal is to improve the performance of software running on virtual execution environments (known for their software engineering benefits but negative impact on performance) beyond the performance of software running directly on the operating system. The proposed work is a step in this direction, focusing on a class of applications where the most frequently used examples (such as the major office suites, email clients, or web browsers) are still trading the software engineering benefits of higher-level runtime environments for the performance of software running directly on the operating system.
Direktlink auf Lay Summary Letzte Aktualisierung: 21.02.2013

Verantw. Gesuchsteller/in und weitere Gesuchstellende

Mitarbeitende

Verbundene Projekte

Nummer Titel Start Förderungsinstrument
116333 VIA - Vertical Profiling and Optimization of Modern Interactive Applications 01.04.2007 Projektförderung (Abt. I-III)
157159 ParaBoost: Exploiting multi-variant execution 01.10.2014 Projektförderung (Abt. I-III)
135245 ParaBoost: Many-core exploitation through virtual-machine-level multi-variant speculation 01.10.2011 Projektförderung (Abt. I-III)

Abstract

Interactive applications represent a large segment of software, ranging from web browsers to spreadsheets, from embedded cell phone software to large-scale interactive visualization systems. The performance of these applications significantly impacts the productivity and satisfaction of their users. Unfortunately, traditional performance profiling and optimization approaches fail to address the aspect of performance most relevant to users: the perceptible latency in responding to user requests. In this research project, we are devising approaches to measure and improve the perceptible performance of interactive applications. During the first 18 months of the project we have made the following contributions, leading to two refereed conference publications [33, 60] and a technical report [59]: (1) We devised an initial set of techniques for instrumenting, tracing, analyzing, and visualizing the behavior of interactive applications in order to understand their performance; we developed LiLa, an implementation of these techniques, which can profile applications written on either of the two dominating Java GUI toolkits; and we evaluated our LiLa profiler on a set of Swing and SWT GUI microbenchmarks, and on complex real-world applications such as Sun's NetBeans IDE. (2) We studied the potential of speculative class-loading, a virtual-machine-level latency-reduction optimization. (3) We evaluated the accuracy of hardware performance counter infrastructures in measuring the duration of short-latency operations, in order to determine the viability of using such infrastructures in our proling approach. In the continuation of this project we will address the three challenges we need to overcome to maximize the impact of our idea: We will (1) drastically increase the applicability of our profiling approach, (2) move from simply identifying long latency requests to finding their causes, and (3) provide support for the manual and automatic reduction of perceptible latency. Each of these challenges requires us to address several important questions: (1) Lightweight interval tracing. How can we move from a heavyweight, static, ahead-of-time instrumentation approach to dynamic instrumentation, without significantly perturbing latency measurements? How can we use filtering to drastically reduce the cost of data collection, while still keeping the essential information? (2) Causal analysis. Which information should we capture in which form to enable the identification of causes of long latency? How can we capture that information without significantly affecting the profiling overhead? How can we best capture detailed information exclusively about long-latency requests, even though we only know at the time of ist completion whether a request had a long latency? (3) Latency reduction. How can we best help developers to manually tune the perceptible performance of their applications? How can we provide tuning recommendations given profiles of specific applications? How can we use prediction-based speculative execution of costly runtime system requests, such as plugin activation, class loading, or just-in-time compilation, to automatically reduce latency? Our long-term research goal is to improve the performance of software running on virtual execution environments (known for their software engineering benefits but negative impact on performance) beyond the performance of software running directly on the operating system. The proposed work is a step in this direction, focusing on a class of applications where the most frequently used examples (such as the major office suites, email clients, or web browsers) are still trading the software engineering benefits of higher-level runtime environments for the performance of software running directly on the operating system.