2022 · Performance Evaluation

Performance Evaluation of Complex Multi-Thread Applications Through Execution Path Analysis

Majid Rezazadeh | Naser Ezzati-Jivan | Seyed Vahid Azhari | Michel R. Dagenais

Evidence basis: full-text-reviewed · Review status: catalog-reviewed; paper-author approval pending

performance-analysis trace-analysis multicore-systems performance-engineering

multi-thread applications execution paths performance evaluation thread behavior

Core contribution: The paper unifies Chromium user-space events with Linux kernel scheduling and resource events to analyze execution paths and localize sporadic latency in a complex multithreaded application.

Problem and motivation

Chromium jank can arise from user code, thread imbalance, locks, page faults, I/O, interrupts, or scheduler behavior. Chromium's built-in tracer does not provide sufficient kernel scheduling/resource context, precision, buffer capacity, or cross-level causal structure for many cases.

Method and contribution

The evaluation combines Chromium events with LTTng/LTTng-UST kernel traces exported to CTF and analyzed in Trace Compass. The CEGC algorithm builds a two-dimensional doubly linked execution graph: horizontal execution states and vertical wake-up relationships. Event sets include sched_switch, sched_wakeup, task start/run/complete, navigation, mouse/key events, timers, IRQ/softirq, and network events; BEGIN/END pairs compute durations. Critical paths classify running, preempted, interrupted, CPU-wait, block-device, network, timer, and input waiting. The setup uses 16 Intel Core i7-7820X cores, 32 GB RAM, Ubuntu 16.04.6/kernel 4.15, LTTng 2.11, and Chromium 73.0.3672.0, with trace rotation for large runs.

Findings and evidence

Three Chromium cases are analyzed. Bug 125264 exposes 100–400 ms membarrier delay on the main thread associated with an older liburcu/kernel path; another jank case shows the UI thread blocked on a Chrome_IO thread through futex lock contention; Bug 892747 shows a 911 ms ClosePage stall with approximately 2,700 queued tasks and page-fault/disk-read activity under stress. The multilevel view reveals causes hidden by the user-level symptom, and the paper's public code is at the linked chrome-tracing repository.

Limitations and future directions

Limitations: The study is centered on Chromium and requires application-specific instrumentation and event mapping. The cases diagnose latency/jank rather than functional correctness, and the workload is stress-oriented; transfer to other browsers, applications, kernels, and interaction patterns requires additional validation.

Future work: Automate cross-application event mapping, use learning or similarity methods to distinguish recurrent jank causes, analyze memory leaks and other defect classes, and evaluate diagnostic accuracy and overhead across modern Chromium versions and heterogeneous systems.

Resources

Sources and identifiers

When to cite this paper

Cite this paper when combining application and kernel traces to localize sporadic multithreaded latency.

  • The CEGC execution graph and wake-up relationships.
  • LTTng/LTTng-UST plus Chromium event instrumentation.
  • Critical-path states for CPU, lock, I/O, page-fault, interrupt, and scheduler causes.
  • The three Chromium cases and application-specific instrumentation boundary.

Citation

BibTeX
@article{ezzatiJivan2022performanceevaluation,
  author = {Majid Rezazadeh and Naser Ezzati-Jivan and Seyed Vahid Azhari and Michel R. Dagenais},
  title = {Performance Evaluation of Complex Multi-Thread Applications Through Execution Path Analysis},
  year = {2022},
  journal = {Performance Evaluation},
  volume = {155-156},
  pages = {102289},
  eid = {102289},
  publisher = {Elsevier BV},
  issn = {0166-5316},
  doi = {10.1016/j.peva.2022.102289},
  url = {https://doi.org/10.1016/j.peva.2022.102289}
}
Other citation formats for Word and reference managers
APA 7
Rezazadeh, M., Ezzati-Jivan, N., Azhari, S. V., & Dagenais, M. R. (2022). Performance Evaluation of Complex Multi-Thread Applications Through Execution Path Analysis. Performance Evaluation, 155-156, 102289. https://doi.org/10.1016/j.peva.2022.102289
IEEE
M. Rezazadeh, N. Ezzati-Jivan, S. V. Azhari, and M. R. Dagenais, "Performance Evaluation of Complex Multi-Thread Applications Through Execution Path Analysis," Performance Evaluation, vol. 155-156, Art. no. 102289, 2022, doi: 10.1016/j.peva.2022.102289

Readable Markdown record · JSON record · Download RIS