Skip to main content
eScholarship
Open Access Publications from the University of California

UC Irvine

UC Irvine Electronic Theses and Dissertations bannerUC Irvine

Adaptive Tools for Performance Analysis of Large-scale Applications

Abstract

Performance is the critical feature in the design and productivity of software systems. A key to improving the performance of a program is a rigorous performance analysis (PA) followed by code optimization. Although the approach seems straightforward, it can be difficult in practice, especially when the application is large or has complex architecture and task dependencies. It becomes even more arduous when applications have parallel and non-deterministic executing models. There are also cases where the conventional PA will require exhaustive profiling runs or direct access to hardware. All of these hurdles limit the scope of PA and mislead optimization opportunities in front of developers.

In this dissertation, we focus on such applications of performance analysis and address challenges and critical questions revolving around them. The commonality among these applications is that conventional PA is either not applicable or provides insufficient guidance to researchers to incorporate optimal optimization. For example, traditional profilers cannot inform developers about the impact of optimization or expose the potentials of parallelization in large programs. Therefore, for every application of our study, we design and develop a novel performance analyzer that overcomes the shortcomings of existing solutions and exposes new opportunities for performance boosting. We leverage and scale the functionality of profilers in designing our performance analyzers. Overall, we implement four adaptive tools for PA: (1) A high-performance causal profiler that characterizes page loading time and pinpoints critical spots for optimizing the performance of website and web browsers. (2) A virtual causal profiler that accelerates cross-platform software development by simulating the impact of optimizations on diverse systems. (3) A robust tool for performance analysis of online advertising which assists publishers to characterize the performance cost of web ads with high precision. (4) A profile-based performance analyzer that uncovers performance opportunities from parallelism in training deep learning models on GPUs and helps practitioners in determining the optimal configuration for concurrent execution of network layers.

All of our proposed PA techniques are meticulously designed to match the application constraints (e.g., parallel environment and massive codebase) and validated by large-scale experiments and measurements. We also provide our first-of-a-kind findings from our assessments in this dissertation.

Main Content
For improved accessibility of PDF content, download the file to your device.
Current View