国内刊号:31-1289/TP
国际刊号:1000-3428
发布日期:
作者:刘大兴, 顾乃杰, 黄章进, 苏俊杰, 齐东升
单位:中国科学技术大学计算机科学与技术学院, 安徽 合肥 230027
关键词:分层采样,访存轨迹,软件预取,迸发采样,单遍聚类
基金:国家自然科学基金(U20A20229)
软件预取作为提升数据存取性能的一种重要技术, 得到了广泛的关注和应用。在软件预取的研究中, 往往需要使用访存轨迹分析结合采样算法来筛选出存在缓存未命中的访存指令作为预取目标。然而, 传统的迸发采样算法无法区分不同类型的轨迹信息, 且容易遗漏访问次数较少的指令。针对以上问题, 提出一种基于单遍聚类和分层采样的访存轨迹采样算法。首先提取访存轨迹信息特征; 然后利用单遍聚类方法并依据特征相似程度进行访存信息聚类; 最后以聚类为基础进行分层采样, 根据缓存未命中率对轨迹中不同的部分合理分配注意力来调整采样比, 有效缓解了规模较小类别的采样遗漏情况。实验结果显示, 在选择的8个测试程序上, 相比于传统迸发采样算法, 所提算法可平均多覆盖15.70%的缓存未命中指令, 基于所提算法的预取平均可额外减少20.76%的缓存未命中数和3.51%的程序运行时间。
来源:2024年第10期
《计算机工程》期刊编辑部