CPU存储子系统性能解析建模方法研究
发布时间:2020-07-25 14:07
【摘要】:通过建模量化分析程序访存特征与硬件缓存机制之间的关系是设计高性能存储子系统的关键。本文针对存储子系统中多层级Cache与DDR控制器构建了缺失行为与缺失延迟惩罚解析模型。通过组合不同硬件模块的解析模型可以实现多种存储子系统性能的快速评估。按照存储层级进行划分,本文的主要创新如下:针对L1 Cache的缺失行为,本文搭建了以堆栈距离变化系数为基础的Cache乱序访存缺失行为经验模型。传统建模方法忽略了乱序访存机制对访存行为的影响,使其预测误差高达17%以上。本文通过机理分析,利用公式形式化描述出访存乱序执行与堆栈距离变化的关系。借助机器学习的方法,求解了公式中无法理论推导的未知系数,将模型预测精度从83%提升至95%。针对L2及以下层级Cache的缺失行为,由于无法在非仿真的环境中获得下游存储层级的访存序列,传统模型只能预测L1 Cache的缺失行为。本文提出了基于全概率事件的多层级Cache访问缺失行为预测模型,将下游Cache的访存请求到达率与上游Cache访问缺失的条件概率进行关联,通过遍历所有访存场景的条件概率,将下游Cache的访问缺失率用全概率公式计算出来。实验结果表明,本文提出的模型可准确预测下游Cache的访问缺失次数,精度达94%以上,极大地拓展了传统模型的使用范围。针对多层级Cache中集成的MSHR硬件模块,本文优化了基于访存指令数据依赖关系的访存并发度机理模型,考虑了指令窗口内多数据依赖关系与Cache访问缺失率的影响,将访存并发度的预测精度从72%提升至96%。另外,对于多地址槽的MSHR硬件结构,本文补充了Cache访问缺失有效服务时间的计算方法,将延迟惩罚的预测精度提升了20%。为了计算DDR平均访问延迟,本文推导了以访存步长分布为输入的DDR访问延迟机理模型。最新研究提出的DDR访存请求到达率满足泊松分布的假设,在单核场景下并不满足,使得其模型的预测误差在单核场景下达到20%以上。本文通过概率推导,挖掘出程序访存步长与DDR行缓冲命中率之间的关系,构建了以访存步长分布为输入的DDR平均访问延迟解析模型。与前人研究相比,本文提出的模型在单核场景下预测精度能提升14%以上,而在多核场景下与前人研究保持持平。通过组合各个硬件模块的解析模型,本文实现了面向真实处理器龙芯GS264与ARM Cortex-A9的存储子系统性能预测。在49种基准测试案例下,本文的解析模型具有93%的存储子系统性能预测精度。此外,本文利用解析模型对比分析了龙芯GS264与ARM CortexA9的存储子系统性能差异,帮助定位出龙芯GS264存储子系统的性能瓶颈,并提出优化意见。
【学位授予单位】:东南大学
【学位级别】:博士
【学位授予年份】:2018
【分类号】:TP333
【图文】:
请求区间称为一个重用区间。由于该重用区间内包含 至 共 6 个访问请求, 的重用距离应为 6。A B C D B E B AF重用区间 1 2 3 4 5 8 6 7 9时间递增图 2-1 访存时间局部性与访存重用区间(a) Cache 容量 = 16 KB
第二章 CPU 存储子系统性能解析模型研究综述通过论文数据的分析与实验复现,我们发现 StatCache 可以实现全关联 Random Cache访问缺失行为的准确预测。如图 2-3 所示,以 Mibench[13]、SPEC2006[128]、MobybenchSuite2.0[14]中的 49 项基准测试案例为软件分析对象,StatCache 在 6 种 Cache 容量配置下,平均预测精度可到达到 92%以上。而对于非 Random Cache,如 LRU Cache 或者伪 LRU Cache等,其平均预测精度下降至 83%以下(数据可见文献[59])。除此之外,StatCache 对乱序处理器下组关联 Cache 行为预测的适应性也较好(详见 3.1 小节)。
经典 StatCache 模型在顺序处理器与乱序处理器下预测 Random Cache 暖缺失次数的均方根误差。从实验结果来看,访存的乱序执行机制会提升 StatCache 模型预测的误差约 1%~4%。然而,乱序处理器下的 StatCache 仍然拥有平均 91%左右的预测精度。Random 替换策略并不记录程序的访存历史,当重用距离发生变化时,若未发生 Cache 访问缺失,则 RandomCache 中的暂存数据与访存历史状态不会发生任何改变。因此,访存乱序执行机制对 RandomCache 访问行为的影响并不明显。(a) D-Cache = 32KB, 4-way; L2 Cache = 1MB, 8-way
本文编号:2769924
【学位授予单位】:东南大学
【学位级别】:博士
【学位授予年份】:2018
【分类号】:TP333
【图文】:
请求区间称为一个重用区间。由于该重用区间内包含 至 共 6 个访问请求, 的重用距离应为 6。A B C D B E B AF重用区间 1 2 3 4 5 8 6 7 9时间递增图 2-1 访存时间局部性与访存重用区间(a) Cache 容量 = 16 KB
第二章 CPU 存储子系统性能解析模型研究综述通过论文数据的分析与实验复现,我们发现 StatCache 可以实现全关联 Random Cache访问缺失行为的准确预测。如图 2-3 所示,以 Mibench[13]、SPEC2006[128]、MobybenchSuite2.0[14]中的 49 项基准测试案例为软件分析对象,StatCache 在 6 种 Cache 容量配置下,平均预测精度可到达到 92%以上。而对于非 Random Cache,如 LRU Cache 或者伪 LRU Cache等,其平均预测精度下降至 83%以下(数据可见文献[59])。除此之外,StatCache 对乱序处理器下组关联 Cache 行为预测的适应性也较好(详见 3.1 小节)。
经典 StatCache 模型在顺序处理器与乱序处理器下预测 Random Cache 暖缺失次数的均方根误差。从实验结果来看,访存的乱序执行机制会提升 StatCache 模型预测的误差约 1%~4%。然而,乱序处理器下的 StatCache 仍然拥有平均 91%左右的预测精度。Random 替换策略并不记录程序的访存历史,当重用距离发生变化时,若未发生 Cache 访问缺失,则 RandomCache 中的暂存数据与访存历史状态不会发生任何改变。因此,访存乱序执行机制对 RandomCache 访问行为的影响并不明显。(a) D-Cache = 32KB, 4-way; L2 Cache = 1MB, 8-way
本文编号:2769924
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2769924.html