Table of Contents
Fetching ...

Scaler: Efficient and Effective Cross Flow Analysis

Steven, Tang, Mingcan Xiang, Yang Wang, Bo Wu, Jianjun Chen, Tongping Liu

TL;DR

This paper proposes multiple new techniques, such as Universal Shadow Table, and Relation-Aware Data Folding, that enable Scaler to achieve low runtime overhead, low memory overhead, and high profiling accuracy.

Abstract

Performance analysis is challenging as different components (e.g.,different libraries, and applications) of a complex system can interact with each other. However, few existing tools focus on understanding such interactions. To bridge this gap, we propose a novel analysis method "Cross Flow Analysis (XFA)" that monitors the interactions/flows across these components. We also built the Scaler profiler that provides a holistic view of the time spent on each component (e.g., library or application) and every API inside each component. This paper proposes multiple new techniques, such as Universal Shadow Table, and Relation-Aware Data Folding. These techniques enable Scaler to achieve low runtime overhead, low memory overhead, and high profiling accuracy. Based on our extensive experimental results, Scaler detects multiple unknown performance issues inside widely-used applications, and therefore will be a useful complement to existing work. The reproduction package including the source code, benchmarks, and evaluation scripts, can be found at https://doi.org/10.5281/zenodo.13336658.

Scaler: Efficient and Effective Cross Flow Analysis

TL;DR

This paper proposes multiple new techniques, such as Universal Shadow Table, and Relation-Aware Data Folding, that enable Scaler to achieve low runtime overhead, low memory overhead, and high profiling accuracy.

Abstract

Performance analysis is challenging as different components (e.g.,different libraries, and applications) of a complex system can interact with each other. However, few existing tools focus on understanding such interactions. To bridge this gap, we propose a novel analysis method "Cross Flow Analysis (XFA)" that monitors the interactions/flows across these components. We also built the Scaler profiler that provides a holistic view of the time spent on each component (e.g., library or application) and every API inside each component. This paper proposes multiple new techniques, such as Universal Shadow Table, and Relation-Aware Data Folding. These techniques enable Scaler to achieve low runtime overhead, low memory overhead, and high profiling accuracy. Based on our extensive experimental results, Scaler detects multiple unknown performance issues inside widely-used applications, and therefore will be a useful complement to existing work. The reproduction package including the source code, benchmarks, and evaluation scripts, can be found at https://doi.org/10.5281/zenodo.13336658.
Paper Structure (49 sections, 8 figures, 6 tables)

This paper contains 49 sections, 8 figures, 6 tables.

Figures (8)

  • Figure 1: Scaler's report for canneal.
  • Figure 2: Overview of Universal Shadow Table.
  • Figure 3: .rela.plt API Invocation via .plt and .got.plt.
  • Figure 4: .rela.dyn API Invocation via .got and .plt.got.
  • Figure 5: Overview of Scaler.
  • ...and 3 more figures