处理器性能波动检测的计时方法及评价指标  

Timing Method and Evaluation Metrics for CPU Performance Variation Detections

在线阅读下载全文

作  者:廖秋承 左思成 王一超 林新华 LIAO Qiu-Cheng;ZUO Si-Cheng;WANG Yi-Chao;LIN Xin-Hua(Center for High Performance Computing,Shanghai Jiao Tong University,Shanghai 200240)

机构地区:[1]上海交通大学高性能计算中心,上海200240

出  处:《计算机学报》2024年第2期456-472,共17页Chinese Journal of Computers

基  金:国家自然科学基金(62072300)资助。

摘  要:超级计算机中的性能波动通常表现为软件在同一硬件上运行得忽快忽慢,或在配置相同的硬件上运行得快慢不一.在多种性能波动来源中,处理器性能波动隐蔽性强且危害巨大,可导致超级计算机整机性能急剧下降.然而,当前处理器性能波动研究面临两大难题.首先,现有工具难以检测微小的性能波动.为了准确检测纳秒级的处理器性能波动,计时方法需要具有很高的精度和灵敏度.然而,现有工具在真实应用中用于计时测量时,计时结果波动可达数万拍,难以检测处理器性能波动.其次,现有方法难以客观评价不同工具的性能波动检测能力,缺乏量化评价指标.一次性能波动检测包含大量计时结果,其分布可能受性能波动和计时波动的共同影响.然而,现有方法无法评价这些测量结果是否真实反映了性能波动的特征.为解决第一个问题,本文对PAPI在不同缓存状态下的计时波动进行了测量和原因分析.随后,基于x86和Armv8指令集的内存屏障和序列化指令,设计了序列化屏障计时方法,用以抑制计时波动.为解决第二个问题,本研究对计时波动进行建模,首次提出了跨平台的计时方法精度和灵敏度指标及评价方法,定量评估了计时方法对微小时间波动的测量能力,为性能波动的检测和判定提供了依据.实验表明,在英特尔Xeon 6248和华为鲲鹏920-6426处理器上,与PAPI相比,序列化屏障计时方法的精度提高了2.2~30.2倍,灵敏度提高了1.9~44.8倍,并且能够检测到纳秒级别的性能波动.Performance variation is characterized by inconsistencies in run times on the same hardware or by periods of unaligned performance on identical hardwares.The CPU performance variation is one of the most harmful and insidious causes of performance degradation.Even a tiny variation can negatively affect the overall performance of a supercomputer.CPU performance variation detections currently face two challenges.First,identifying tiny processor performance variation is difficult with existing profiling tools like PAPI.The magnitude of processor performance variations can be as low as the nanosecond level.To accurately detect such variations,timing methods need to have high precision and sensitivity.However,researchers have found that tools like PAPI and LIKWID,when used for timing measurements in real applications,have large overheads and fluctuations that can reach tens of thousands of cycles,making it difficult to capture nanosecond-level run time changes.Second,existing methods struggle to objectively evaluate the performance variation detection capabilities of different tools.A single performance variation detection consists of thousands of timing results.The distribution characteristics of these measurements include variations in the runtime of the tested code,fluctuations in the overhead of the timing method itself,and the impact of the timing operation on the tested code.However,current methods cannot determine whether the timing results truly reflect the distribution of the code’s runtime.To address the first problem,this study first focused on PAPI,the most commonly used performance measurement tool at present.By simulating the cache environment of real applications,we measured and analyzed PAPI’s timing fluctuations under different cache states for the first time.The experimental results showed that when measuring the run time of a computation process that does not change,PAPI’s measurements exhibited significant long-tail deviations.Combining performance counter analysis,the main causes of PAPI’s

关 键 词:高性能计算 处理器微架构 性能波动 性能分析 性能评测 

分 类 号:TP301[自动化与计算机技术—计算机系统结构]

 

参考文献:

正在载入数据...

 

二级参考文献:

正在载入数据...

 

耦合文献:

正在载入数据...

 

引证文献:

正在载入数据...

 

二级引证文献:

正在载入数据...

 

同被引文献:

正在载入数据...

 

相关期刊文献:

正在载入数据...

相关的主题
相关的作者对象
相关的机构对象