发明名称 一种多核环境并行程序Cache性能在线获取系统及方法
摘要 本发明公开了一种多核环境并行程序Cache性能在线获取系统及方法,在多核情况下,并行程序运行时,Cache性能的在线获取,通过使用二进制代码插桩法与模拟模块的结合,比传统的基于硬件性能计数器的性能分析器统的并行程序分析方法采集到更加详细的Cache性能指标。并可以通过将这些数据反馈给程序员来帮助程序员修改并提高其程序的性能。整个方法可以划分为三个主要阶段:访存信息获取,Cache行为模拟以及性能信息统计及可视化。本发明能够在线的详细的处理Cache的性能数据。
申请公布号 CN103455364A 申请公布日期 2013.12.18
申请号 CN201310401267.7 申请日期 2013.09.05
申请人 北京航空航天大学 发明人 王锐;高原;栾钟治;钱德沛
分类号 G06F9/455(2006.01)I;G06F9/46(2006.01)I;G06F12/08(2006.01)I 主分类号 G06F9/455(2006.01)I
代理机构 北京科迪生专利代理有限责任公司 11251 代理人 成金玉
主权项 一种多核环境并行程序Cache性能在线处理系统,将二进制代码插装法与Cache软件模拟相结合,在线的获得目标程序在多种Cache架构上的性能指标,其特征在于包括:访存踪迹在线获取模块、消息传递模块、Cache行为模拟模块和Cache性能分析及输出模块;访存踪迹在线获取模块,其输入为已经完成二进制插装的目标程序,所述目标程序通过在实际计算机上运行,根据插装粒度动态的产生访存踪迹,并将产生的访存踪迹传送至消息传递模块;同时接收消息传递模块发送的响应信息后继续运行目标程序,以产生下一条访存踪迹,并发送给消息传递模块,如此循环直到目标程序运行结束;消息传递模块,将访存踪迹在线获取模块获得的访存踪迹传递给Cache行为模拟模块;同时接收Cache行为模拟模块完成一条访存踪迹时产生的响应信息;Cache行为模拟模块,在模拟开始前配置计算机的参数,包括Cache大小,替换策略,是否共享;用户能够根据自己需要修改模拟模块的Cache配置,即模拟目标程序在任意Cache架构上的性能;配置完成后,根据消息传递模块传来的访存踪迹的内容,模拟目标程序的Cache行为,并记录在模拟行为中所产生的各种数据,包括访存类型,访存地址,访存时间,访存次数;在模拟完成后返回一条消息至消息传递模块,由消息传递模块通知访存踪迹在线获取模块 中的目标程序继续执行;在模拟开始前根据宿主计算机的参数,进行配置,包括Cache大小,替换策略,是否共享,通过输入目标并行程序的访存的踪迹,进行Cache行为的模拟;Cache行为模拟模块在模拟过程中记录并保存所需的Cache行为数据模拟模块在模拟完成一条踪迹后,产生一个完成的消息;Cache性能分析及输出模块,当整个模拟过程结束后,根据Cache行为模拟模块记录的行为数据,统计分析并输出用户需要的Cache性能数据,包括:Cache缺失率,工作集大小,共享性能分析,冲突性能分析,抖动信息分析,获得各种详细的Cache性能数据。
地址 100191 北京市海淀区学院路37号