paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Making Sense of Multi-threaded Application Performance at Scale with NonSequitur

借助 NonSequitur 理解大规模多线程应用性能
OOPSLA 8(OOPSLA2)2024匹配度 1/10 · 论文关注多线程程序性能跟踪的压缩与可视化工具,属于动态性能调试/开发者工具,未涉及静态分析、LLM/Agent、浮点程序分析或贝叶斯程序分析等用户核心方向。虽然包含工业案例(RocksDB/WiredTiger),但主题与研究方向基本无关。引用 1 inbox
Augustine Wong, Paul Bucci, Ivan Beschastnikh, Alexandra Fedorova
dblp: 2026-09-10crossref: 2026-09-10

AI 速览

一句话:提出多线程跟踪压缩方法并实现 NonSequitur,让开发者可大规模可视化分析性能问题。

现代多线程系统行为复杂,开发者常通过程序 trace 手动检查,但现有工具难以扩展到百万级事件。论文提出一种多线程 trace 压缩方法,可将数百万事件压缩到数百事件,并据此设计实现可视化工具 NonSequitur。作者通过 Meta 的 RocksDB 与 MongoDB 的 WiredTiger 三个案例研究分析真实性能问题,并用 42 名参与者在两数据库 trace 上评估。结果显示,在某些性能分析任务中,参与者使用 NonSequitur 的平均得分高出 11 倍;部分任务中其他工具耗时约为 NonSequitur 的 3 倍。

问题
多线程系统 trace 过大,现有工具无法扩展到百万事件以上,开发者难以理解其性能行为。
方法
压缩多线程 trace 至数百事件,并实现支持可视化探索的 NonSequitur 工具。
评估
用 RocksDB/WiredTiger 三个案例研究和 42 名参与者实验,比较性能分析得分与耗时。
原文摘要(Abstract)

Modern multi-threaded systems are highly complex. This makes their behavior difficult to understand. Developers frequently capture behavior in the form of program traces and then manually inspect these traces. Existing tools, however, fail to scale to traces larger than a million events. In this paper we present an approach to compress multi-threaded traces in order to allow developers to visually explore these traces at scale. Our approach is able to compress traces that contain millions of events down to a few hundred events. We use this approach to design and implement a tool called NonSequitur. We present three case studies which demonstrate how we used NonSequitur to analyze real-world performance issues with Meta’s storage engine RocksDB and MongoDB’s storage engine WiredTiger, two complex database backends. We also evaluate NonSequitur with 42 participants on traces from RocksDB and WiredTiger. We demonstrate that, in some cases, participants on average scored 11 times higher when performing performance analysis tasks on large execution traces. Additionally, for some performance analysis tasks, the participants spent on average three times longer with other tools than with NonSequitur.

链接与引用

DOI 原文 · PDF(开放获取) · DBLP

BibTeX
@article{WongBBF24,
  title = {Making Sense of Multi-threaded Application Performance at Scale with NonSequitur},
  author = {Augustine Wong and Paul Bucci and Ivan Beschastnikh and Alexandra Fedorova},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {8},
  number = {OOPSLA2},
  year = {2024},
  doi = {10.1145/3689793}
}