
论文提出了一种新的采样技术“blocked samples”,用于同时捕捉on-CPU和off-CPU事件,以解决传统分析器在识别现代应用程序性能瓶颈时的不足。基于这一技术,开发了两个分析器bperf和BCOZ,用于识别性能瓶颈并评估优化的潜在影响。
在计算机系统性能分析领域,应用程序的性能瓶颈可能既包括在CPU上执行的事件(on-CPU事件),也包括等待I/O完成、锁同步等不在CPU上执行的事件(off-CPU事件)。传统分析器往往只关注其中一种事件,导致无法全面准确地评估性能瓶颈。随着快速存储设备和多核CPU的发展,现代应用程序的行为变得更加复杂,单一类型的事件分析已不足以揭示性能问题的本质。
论文通过在RocksDB键值存储等实际应用程序上的实验,验证了blocked samples技术及bperf和BCOZ分析器的有效性。实验结果表明,这些工具能够准确识别出包含on-CPU和off-CPU事件的性能瓶颈,并且优化后的性能提升与BCOZ预测的虚拟加速结果相符。例如,在RocksDB的读密集型工作负载中,bperf和BCOZ成功识别出块缓存锁争用和磁盘读I/O操作等瓶颈,通过优化这些瓶颈,应用程序性能得到了显著提升。