聚合国内IT技术精华文章,分享IT技术精华,帮助IT从业人士成长

IPDPS'22: 通用型存内计算卸载技术

2022-11-07 11:24 浏览: 3171901 次 我要评论(0 条) 字号:

存内计算(Processing-In-Memory),通过在数据附近执行计算,是一个有望解决内存瓶颈的技术。合理利用存内计算可以有效提升应用性能和减少能耗。现有计算卸载研究专注于特定应用来提高存内计算架构的可编程性。它们缺乏对计算局部性的全面分析,从而无法加速各种各样的应用。为此,我们提出了一种通用的指令级卸载技术IOTPIM,可用于加速不同领域的各类应用。我们首先提出了一种新的指令级别卸载策略,其充分考虑了计算指令在整个缓存层的局部性。进一步又提出了一个基于输入数据集特征的计算卸载收益预测模型,以减轻卸载策略的分析开销。我们选择了不同领域的应用,与四种先进的存内计算卸载技术进行了比较,结果证明了IOTPIM的通用性和优越性。

该成果“A General Offloading Approach for Near-DRAM Processing-In-Memory Architectures”已被IPDPS 2022(International Parallel and Distributed Processing Symposium)录用。IPDPS是并行与分布式计算领域的顶级国际会议。

  • 论文链接:

    https://ieeexplore.ieee.org/document/9820674


摘要

随着摩尔定律的终结,处理器和内存系统之间的差距越来越大,例如访问主存的时间是一次双精度运算的一百多倍,能耗甚至超过1000倍。这就是臭名昭著的内存墙(Memory Wall)。存内计算(PIM)通过集成计算逻辑在存储单元附近就近计算,可以有效减少数据移动。在一个内存集成了计算逻辑的PIM架构系统中,一个关键的问题就是哪部分计算卸载到PIM端计算逻辑,哪部分依然留在Host端计算会更有效。现有卸载方案都是针对特定领域应用提出,只加速某类领域应用以提高存内计算架构的可编程性。这意味着对任一不同领域应用或出现的新领域应用,我们都需要定制新的卸载技术以使这些领域应用可以从PIM架构系统中获得性能收益。为此,我们提出了通用型的卸载技术,它可适用所有领域应用,且不给用户增加任何的负担。具体来说,我们首先提出了一个通用型的指令级别的卸载模型,以自动分析出适合被PIM端计算逻辑执行的指令。这个卸载模型考虑了指令在所有缓存层次的局部性以及指令被PIM端和Host端执行的访存差异,其可适用各类领域应用,准确识别出适合卸载到PIM端指令。此外,为了减轻卸载模型的分析开销,我们引入了预测模型。一旦训练出预测模型,即可直接根据数据集特征作出卸载决策。实验表明,我们提出的通用型卸载模型可以用于加速各类领域应用,同时我们的预测模型准确率可以达到91.89%的准确度。


背景与动机

图1  从Host端或PIM端访问数据的时间延迟

指令在Host端或PIM端执行,其主要差异在于数据的访存上。对于Host端,其有着多层缓存可以利用来快速访问数据,即L1 cache, L2 cache, LLC(Last level cache),只有当数据没有存储在这些缓存里,才会去从主存访问数据。而对于PIM端,PIM端计算逻辑由于面积和能耗的限制只包含一个很小的Buffer来存储即将要被处理的数据,其数据访问直接来源于对主存的访问。从图1可以看到,如果数据有较好的局部性,命中在缓存上(L1,L2,LLC),其数据访问延迟是最小的。如果在这些缓存都没有命中,当从主存访问数据时,其延迟是最长的;因为该类访问除了访问主存的时间,还含有L1,L2,LLC查询时间以及经过片上网络和片外SerDes Link的时间。相反,PIM端的数据访问直接从主存访问时间,没有Host端访问主存如此长的延迟开销。因此,当考虑指令在PIM架构系统上执行时,缓存友好型指令适合由Host端执行,而其它有着昂贵的主存访问指令适合卸载到PIM端。现有卸载技术针对特定应用,结合特定应用设计相应卸载策略。尽管这样的卸载策略提升了PIM架构的可编程性,然而无法适用于其他领域应用。

图2  左侧是在PIM架构上基于LLC缺失率的卸载技术与无任何卸载的性能比较,右侧是GEMM在L1,L2, LLC上的缺失率和命中次数

基于LLC缺失率决定指令的最佳执行端是应用于图计算领域一项很有名的卸载技术,其卸载高LLC缺失率的计算到PIM端执行,其他指令依然由Host执行。为了测试基于LLC缺失率的卸载技术在PIM架构上对其他领域的性能表现,如图2所示,我们选择了各类领域的应用(包含图计算,深度学习,PolyBench)在PIM架构上使用基于LLC缺失率的卸载技术与无任何计算卸载的情况下进行对比。在图计算领域应用上,基于LLC缺失率的卸载技术显然取得了较好的性能体现。图计算领域主要涉及图结构数据和顶点属性数据访问;图结构数据访问是规则访问,有着较好的局部性。而顶点属性数据访问是依赖于图结构数据,其重用距离是远大于L2缓存的大小,会造成大量的LLC访问和主存访问。因此,基于LLC缺失率的卸载技术可以准确识别适合到PIM端执行的计算(即高LLC缺失率的计算)。

然而对于其他领域的应用,基于LLC缺失率的卸载技术不仅没有性能上的提升反而造成了性能上的下降,如GEMM相比于没有任何计算卸载,有着58.94%的性能下降。其背后原因主要是没有感知全局局部性造成的错误指令卸载。图2右图显示了GEMM中占主要执行时间的计算在各缓存层次上的缺失率和命中次数。我们观察到L1有42.1亿次命中,L2有2.2亿次命中,而LLC只有312次命中,L1和L2有着大量的命中次数。在缺失率上,L1和L2的缺失率分别为4.89%和0.15%,而LLC的缺失率高达99.10%。在这种情况下,基于LLC缺失率的卸载技术会将这个计算卸载到PIM端执行,从而原本快速的L1或L2数据访问被转换为了开销更高的PIM逻辑的DRAM访问,对整体性能造成下降。基于上述发现,我们提出了一个可感知所有缓存层次局部性的卸载技术,以用于加速各类领域应用。


设计与实现

图3  卸载技术概要

图3是我们所提出的卸载技术概要。所提出的卸载技术主要包含两部分:一个新的指令级卸载策略,其考虑了计算在各个缓存层的局部性以及在Host端和PIM端的访存差异,可以准确识别出适合卸载到PIM端的指令;一个预测模型,可以直接根据未知数据集的特征做出了指令卸载预测,避免了昂贵的分析开销。

指令级卸载策略:对于一个计算,很难直接根据任一不同层次(L1,L2,LLC)的局部性做出最佳卸载决策;不同缓存层次有着不同的访问延迟,对不同缓存层次等同看待依然会做出错误的卸载决策。因此,我们使用每一层次的数据访问开销来表征局部性,而不是使用缺失率(没有考虑缓存层次之间不对称的访问延迟)。然后,我们分别得出计算在Host端和PIM端的访问开销,以Host端和PIM端的开销差异建立了一次线性卸载模型,计算卸载到PIM端会带来系统性能正收益的将会被视为适合被卸载的计算指令。

预测模型:尽管指令级卸载策略可以产生准确的卸载决策,但它的分析开销是非常昂贵的,分析开销将近正常执行时间的11.62x。此外,不同的数据集导致计算有着不同的局部性,因此为准确卸载需针对每一数据集进行分析。为此我们提出了预测模型来避免昂贵的分析开销。因为计算的数据局部性是高度依赖于输入数据集的,我们挖掘了计算的卸载性能收益与输入数据集之间的关系,建立了一个多元回归预测模型。预测模型的训练是以所提出的卸载策略得到的性能卸载收益和训练数据集特征作为输入。训练后的预测模型可直接根据数据集的特征准确的得到计算的卸载决策。

图4  所提出的卸载技术与现有四种最先进的PIM卸载技术性能对比

实验表明,如图4所示,所提出的卸载技术(IOTPIM)在不同领域的应用上都得到了较好的性能提升。而现有的四种(LLCMIRO,GraphPIM,TDO-CIM,PRIMO)针对特定领域应用设计的卸载技术只能在它们的特定领域有性能提升,其他领域会造成性能的下降。并且所提出的预测模型的准确度平均高达91.89%。

图5  所提出的卸载技术与现有四种最先进的PIM卸载技术指令卸载条数对比

图5显示了我们所提出的卸载技术与现有四种最先进的PIM卸载技术的指令卸载条数对比。GraphPIM卸载原子操作的指令,TDO-CIM卸载GEMM或GEMV操作的指令,PRIMO卸载大集合计算指令。从图5中可看到GraphPIM, TDO-CIM和PRIMO的卸载性能收益受限于它们的特定卸载指令对象。LLCMIRO只考虑LLC局部性卸载高缺失率的指令,导致大量错误指令卸载。而我们提出的卸载技术对计算的局部性做了全面分析,实现了准确的指令卸载,从而在各类领域上的应用都有较好的性能提升体现。


详细内容请参见:

Dan Chen, Hai Jin, Long Zheng, Yu Huang, Pengcheng Yao, Chuangyi Gui, Qinggang Wang, Haifeng Liu, Haiheng He, Xiaofei Liao, Ran Zheng, "A General Offloading Approach for Near-DRAM Processing-In-Memory Architectures," In the proceeding of  IEEE International Parallel and Distributed Processing Symposium (IPDPS), 2022, pp. 246-257.

https://ieeexplore.ieee.org/document/9820674



网友评论已有0条评论, 我也要评论

发表评论

*

* (保密)

Ctrl+Enter 快捷回复