Search papers, labs, and topics across Lattice.
The paper introduces a novel performance degradation analysis method for online data-intensive applications that extends Thread State Analysis (TSA) by incorporating fine-grained thread dynamics captured via eBPF. Sixteen eBPF-based metrics are implemented across six kernel subsystems to trace thread interactions with specific resources, enabling the capture of common degradation patterns. Experiments across diverse applications demonstrate the method's ability to diagnose CPU, disk, lock, and external service contention with minimal overhead, while also revealing internal application constraints.
Pinpointing performance bottlenecks just got easier: this new method uses eBPF to trace thread dynamics and expose hidden inter-thread dependencies that traditional Thread State Analysis misses.
Online Data-Intensive applications face performance degradation from load variability and resource interference. While Thread State Analysis (TSA) based approaches enable identifying constrained subsystems, they lack the granularity to reveal the inter-thread dependencies that propagate degradation. In this paper, we present an application-agnostic performance degradation analysis method that extends TSA by capturing fine-grained thread dynamics. We implemented $16$ eBPF-based metrics across six kernel subsystems, including scheduling, VFS, networking, futex, multiplexing IO, and block IO which enables tracing thread interactions with specific resources like futexes, sockets, and disks. Our method leverages the fact that performance degradation propagates along inter-thread dependencies, and a subset of thread-resource interactions can enable capturing common degradation patterns. To this end, we employ a selective thread tracking algorithm that traces performance issues from entry-point threads to constrained resources. Experimentation with diverse applications under variable workloads and resource contention shows our method successfully diagnoses CPU, disk, lock, and external service contention with minimal overhead, while also revealing internal application constraints.