首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【论文阅读 | 瓶颈定位】OSDI 2024 Identifying On-/Off-CPU Bottlenecks Together with Blocked Samples 系列1 - 简要解读

【论文阅读 | 瓶颈定位】OSDI 2024 Identifying On-/Off-CPU Bottlenecks Together with Blocked Samples 系列1 - 简要解读

作者头像
Lokinli
发布2025-07-19 09:53:50
发布2025-07-19 09:53:50
2040
举报
文章被收录于专栏:以终为始以终为始

论文提出了一种新的采样技术“blocked samples”,用于同时捕捉on-CPU和off-CPU事件,以解决传统分析器在识别现代应用程序性能瓶颈时的不足。基于这一技术,开发了两个分析器bperf和BCOZ,用于识别性能瓶颈并评估优化的潜在影响。

背景知识

在计算机系统性能分析领域,应用程序的性能瓶颈可能既包括在CPU上执行的事件(on-CPU事件),也包括等待I/O完成、锁同步等不在CPU上执行的事件(off-CPU事件)。传统分析器往往只关注其中一种事件,导致无法全面准确地评估性能瓶颈。随着快速存储设备和多核CPU的发展,现代应用程序的行为变得更加复杂,单一类型的事件分析已不足以揭示性能问题的本质。

核心创新点

  • blocked samples采样技术:突破了传统采样分析的限制,能够在线程被阻塞时继续采样,捕捉off-CPU事件的详细信息,如I/O等待、同步等待和CPU调度等待等【应该是早就有这个技术和相关的工作,所以这里LLM翻译的可能不太准确,off-cpu的分析一直是有工作在推进的。】。这一技术通过在Linux内核的perf子系统中扩展任务时钟事件,记录线程阻塞时的指令指针、调用栈、权重和类型等属性,为全面分析on-CPU和off-CPU事件提供了基础。
  • bperf分析器:基于blocked samples技术构建,遵循Linux perf工具的接口,易于使用。它能够同时分析on-CPU和off-CPU事件,提供符号级别的性能开销信息,帮助开发者深入了解应用程序中各种事件的性能影响。
  • BCOZ因果分析器:利用blocked samples和虚拟加速技术,对on-CPU和off-CPU事件进行因果分析,预测优化特定事件后应用程序性能的潜在提升。BCOZ能够识别on-CPU和off-CPU事件之间的交互关系,为开发者提供优化方向和性能改进的量化估计。

实验与成果

论文通过在RocksDB键值存储等实际应用程序上的实验,验证了blocked samples技术及bperf和BCOZ分析器的有效性。实验结果表明,这些工具能够准确识别出包含on-CPU和off-CPU事件的性能瓶颈,并且优化后的性能提升与BCOZ预测的虚拟加速结果相符。例如,在RocksDB的读密集型工作负载中,bperf和BCOZ成功识别出块缓存锁争用和磁盘读I/O操作等瓶颈,通过优化这些瓶颈,应用程序性能得到了显著提升。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-03-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景知识
  • 核心创新点
  • 实验与成果
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档