Hybrid, Asymmetric and Reconfigurable Input Unit Designs for Energy-Efficient On-Chip Networks∗

Hybrid, Asymmetric and Reconfigurable Input Unit Designs for Energy-Efficient On-Chip Networks∗

粗读

introduce

片上网络中的数据包大多是短数据包

为片上路由器实施了三种新颖的输入单元设计,如我们的评估所示,它们极大地提高了能源效率

这简单地告诉我们一个事实,即当正确考虑网络流量的特性时,输入单元设计的功耗和晶体管占用空间可以在性能下降较小的情况下轻松降低。

文章结构

第二部分简要回顾了 NoC 路由器的基线输入单元设计并激励我们的工作。

第三部分介绍我们的建议及其定性讨论。

评估方法和结果将在第四、五部分

第六节简要讨论相关工作

第七部分总结了这项工作

background and motivation

由于路由器的输入缓冲区有多个虚拟通道,同一个虚拟通道可以同时属于多个虚拟网络(可以为不同的消息类型服务)。因此输入单元可能有大量的功耗

短分组(只有1个flit)占主导地位(因此虚拟通道的第一缓冲元件使用最为频繁)

除了长分组到达路由器的情况外,其他的缓冲元件大多是空闲的

长分组到达路由器时他可能是路由器中唯一的长分组(所以长分组存在于路由器的时间中,一般只使用一个虚拟通道)

输入单元设计

STTMRAM存取延迟和读数据能量消耗接近SRAM,密度高于SRAM,几乎无电荷泄露

但存取等待时间和写入时的能量消耗是缺点

混合输入单元设计

  1. 所有VC的第一个缓冲区都是SRAM
  2. VC0整个都是SRAM(用于长数据包)
  3. 除VC0外的VC,除了第一个缓冲区元素外,均使用STT_MRAM(降低静态功耗)
  4. 假定SRAM和STTMRAM元件分别通过他们各自的端口被访问

PS:flit的传输分为有序和无序两种方式

缺点:当有大于1个的长数据包到达时,会有长数据包使用STTMRAM的VC。使得此类VC需要更长的时间恢复到可用状态

非对称输入单元设计

  1. 短分组的第一缓冲元件(SRAM)被保留
  2. VC0整个被保留(因此大多数的长数据包的性能不会降低)
  3. 其余所有短分组的VC1+,只保留第一缓冲元件,减少静态功耗

可重配置输入单元

  1. 短分组的第一缓冲元件(SRAM)被保留,主导网络流量
  2. VC0整个被保留,维持大多数长数据包的性能
  3. 其余所有短分组的VC1+,只保留第一缓冲元件,减少静态功耗
  4. 来自VC1-4的4个缓冲元件可以被重新分配为单个VC工作(重新配置时VC必须是空的)
  5. 为了使短数据包VC和长数据包VC能够快速切换,必须增加一些状态位(触发器)
  6. 当长数据包的head flit被存储在VC1-4中任何一个时也能正常进行路由计算,因为短数据包时每个VC都能进行路由计算
  7. 输入单元和交叉开关之间的连接无需改变,理由同上
  8. 需要对虚拟通道分配器进行修改,在长分组模式下需要将一个长数据包分给不同的VC,而短数据包模式下一个数据包只需要分配给一个VC
  9. 这种短长数据包之间的切换和重配置需要在一个周期内完成
3种设计方案
在这里插入图片描述
混合输入–非对称输入–可重构输入(多个短的组成一个长的)

定性分析表现

在混合设计中,缓冲区的数量没有修改,但是4个虚拟通道(VC)部分被STT-MRAM替代,而STT-MRAM比SRAM更慢。因此,与基线设计相比,读写这些VC,特别是对于长数据包,会更(涉及到STTMRAM的VC)。

对于非对称设计,在连续到达输入单元的多个长数据包中,只有第一个能够完整存储在VC中,其他所有数据包都必须等待,这可能导致网络拥塞

可重构设计在某种程度上更好,因为它可能有两个完整的VC,但是当连续到达超过两个长数据包时,也会发生等待和拥塞。幸运的是,我们的新颖设计符合网络流量的特征,连续到达输入单元的多个长数据包可以被认为是罕见的情况。因此,从性能上来看,我们的提案应该接近基线缓冲区设计。

  • 静态功耗:通过我们的提议,5个VC中的4个部分使用STT-MRAM实现,甚至有可能移除。因此,它们的静态功耗将比基线设计更低。
  • 动态功耗:通过我们的提议,将4个VC中的缓冲元素替换为STT-MRAM设备或移除它们,将减少SRAM访问量,从而降低动态功耗。
  • 能量消耗:在性能相似且功耗更低的情况下,我们的提议意味着与基线设计相比能够消耗更少的能量。
  • 面积:由于STT-MRAM设备的高密度或更小的缓冲区大小,我们的提议还将减少面积消耗。

在这里插入图片描述

评估方法(略)

在这篇论文中,对性能和能量进行了各种评估。为了评估性能,研究人员修改了gem5 [29]和GARNET [30],以提供对他们的提案进行时钟精确的定时模型。此外,通过McPAT [31]对功耗和面积进行了评估。在这些评估中,STT-MRAM设备的性能、功耗和面积模型来自于NVSim [32]。

如图5所示,在评估中假设了一个由16个节点组成的Mesh网络,具有128位链路。每个节点都有一个顺序处理器核心和一个L2缓存/目录的存储器银行,这些组件都与一个路由器分别连接。整个网络被设置为具有三个虚拟网络,以支持具有三类流量的MOESI目录一致性协议。研究人员发现,对于这种特定的一致性协议,短数据包和长数据包都存在于所有三类流量中。此外,每个具有基线输入单元的路由器最多有六个端口(因此有六个输入单元),每个输入单元有五个虚拟通道,每个虚拟通道有四个128位的缓冲元素。详细的评估条件总结在表2中。更详细地说,STT-MRAM缓冲区的动态能量是基于从NVSim获得的读/写能耗来评估的。为了获得STT-MRAM缓冲区的动态能量,这些数字需要乘以对其进行的读/写次数。具体来说,表2中显示的STT-MRAM的高访问能量是由于当反转或保持MTJ单元中自由层的方向时,STT-MRAM需要较高的电压。我们的评估基于八种合成流量模式(表3)和来自PARSEC [25]的四个应用程序(表4)。对于合成流量的评估,我们向网络中注入了长数据包,因为我们的提案与基线输入单元设计一样好。另一方面,长数据包用于说明不同输入单元设计的最坏情况延迟。此外,应用程序基准程序使用了两个输入集大小,如表4所述。

分析结果(略)

在这一部分中,我们介绍了评估结果和讨论。评估结果分为合成流量模式(第5.1节)和来自PARSEC的基准程序(第5.2节)两部分。此外,我们还介绍了使用我们的方案的路由器的面积消耗。

5.1 合成流量模式下的结果
在图6中呈现了使用合成流量模式进行评估的结果。所有这些图表都显示了每个flit的网络延迟与注入率的关系。由于我们的提案与基线输入单元设计在1-flit数据包时的性能完全相同,因此我们只展示了使用5-flit数据包的评估结果,这代表了长数据包,以反映不同输入单元设计的最坏情况性能。

首先,我们可以看到可重构输入单元的性能优于其他提案,并且它与基线设计最相似,特别是在注入率较低时。这是因为它可以被重新配置为两个完整的基于SRAM的虚拟通道。然而,当注入率变高时,我们的可重构设计比基线设计更快地恶化。这是合理的,因为五个完整的虚拟通道比其中的两个具有更好的吞吐量。

其次,非对称设计和乱序混合设计的性能非常相似。当注入率较低时,非对称设计略优于乱序混合设计。另一方面,乱序混合设计的饱和速度比非对称设计慢,因为其缓冲区的大小大于非对称设计。

第三,顺序混合设计在所有对应方案中性能最差。这仅意味着经常使用较慢的存储器设备并不是一个好主意。

第四,当注入率非常低时(曲线开始时),所有提案都可以接近基线设计的每个flit延迟。这意味着当网络不繁忙时,删除一些缓冲区元素或用较慢的存储器设备替换它们并不会对网络性能产生太大影响。

第五,在所有流量模式中,我们可以观察到“bit reverse”和“transpose”是最严格的,因为在这两种流量模式下,延迟随着注入率的增加增长最快。另一方面,“neighbour”和“tornado”下的延迟增长得更慢。

5.2 使用PARSEC应用程序的结果
图7显示了每个flit的网络延迟的评估结果。对于混合设计,尽管我们的提案使用了较慢的存储器技术,但它们的延迟与基线设计相似。我们可以观察到,在“x264”工作负载中,我们的乱序混合提案比基线设计慢大约1个周期,平均放慢了13.9%。这证明了我们的基于流量的哲学的有效性。另外,顺序混合设计是所有对应方案中最慢的,这是由于STT-MRAM设备中额外的flit缓冲。

对于非对称和可重构设计,它们明显比混合设计更快,其中可重构设计的平均延迟仅增加了1.5%。

图8中呈现的结果反映了不同输入单元设计的网络能量消耗(包括静态和动态功耗)。由于利用了STT-MRAM设备或减少了缓冲区元素,我们的提案在能量总结如下:

评估结果表明,在合成流量模式下,可重构输入单元的性能优于其他提案,尤其在注入率较低时。然而,当注入率较高时,可重构设计的性能恶化得更快。非对称设计和乱序混合设计的性能非常相似,但乱序混合设计的饱和速度较慢。顺序混合设计在所有对应方案中表现最差。当网络不繁忙时,所有提案在延迟方面几乎接近基线设计。在不同的流量模式下,"bit reverse"和"transpose"是最严格的,而"neighbour"和"tornado"的延迟增长较慢。

对于使用PARSEC应用程序的评估结果,混合设计的延迟与基线设计相似,尽管我们的提案使用了较慢的存储器技术。乱序混合设计比基线设计慢约1个周期,但平均放慢了13.9%。顺序混合设计是所有对应方案中最慢的。非对称设计和可重构设计明显比混合设计更快,其中可重构设计的延迟仅增加了1.5%。

在能量消耗方面,我们的提案通过考虑网络流量的特性和适当利用缓冲区元素,显著优于基线设计,每个flit的平均能量减少高达56.2%。非对称设计和可重构设计的静态能量消耗较低,但动态能量消耗较高。在不同的输入数据集大小下,网络延迟没有明显差异,因此评估的NoC没有过载。然而,对于较大的输入数据集(如"canneal"、“ferret"和"x264”),能量消耗略高,特别是动态能量消耗增加。这是因为较大的输入数据集会产生更多的网络流量。

最后,使用STT-MRAM或简单地减少缓冲区元素的好处之一是减少面积消耗。替换虚拟通道为STT-MRAM设备后,我们的提案相比传统路由器仅占用了93.6%的面积。非对称设计和可重构设计在面积消耗方面表现最佳,仅占传统路由器的66.3%。不过,我们的评估没有建模用于实现乱序flit传输和缓冲区重新配置的硬件变化,这可能会影响能量和面积消耗,但不会影响网络性能。我们假设flit的重新排序和缓冲区的重新配置可以很容易地实现。对于它们的能量和面积开销,我们计划在未来的工作中进行研究。

相关工作

过去曾提出过许多优化技术,以帮助抑制功耗和提高 NoC 的能效。例如,有人提出通过功率门控[5]-[8]和动态电压与频率缩放[9]直接降低路由器功耗的想法。此外,还有一些研究根据实际需求按比例向网络供电[10],甚至通过智能布线完全消除路由器(因此也消除缓冲器)[11]。通过预测 [12]、多播 [13] 和管道旁路 [15] 等想法,还提出了投机路由。它们通过改善性能来提高能效。此外,流量压缩[14]和混合流量控制机制[16]-[18]也用于类似目的。

对于大多数路由器设计中常见的输入单元,以降低功耗和提高能效为目标的研究一般可分为两类。

  • 首先,有人提出共享缓冲器设计,利用输入单元中不同 VC 的不平衡来节省功耗和面积 [19]。
  • 其次,还有一些研究侧重于利用其他存储器件实现高能效/高面积效率的输入单元,STT-MRAM 就是一个典型的例子。

Jang 等人利用 STT-MRAM 的密度优势,扩大了缓冲区容量和网络吞吐量 [22]。他们还试图通过创新性地控制不同缓冲元件的使用,来隐藏 STTMRAM 器件的长写入延迟并避免高写入能量。

Zhan 等人提出了两种混合输入单元设计(分层和银行式),将 SRAM 和 STT-MRAM 混合使用,以实现能效和面积效率[23]。

更详细地说,Jang 等人的建议与我们的工作在目的上有所不同。由于总缓冲器容量更大,它在网络吞吐量方面应该优于我们和 Zhan 等人的设计,但肯定会消耗更多的功率和面积。此外,如果缓冲元件的数量和工艺技术相同,Zhan 等人的两种混合输入单元设计的功耗和面积消耗应该与我们的混合设计相似,因为它们的 STT-MRAM 缓冲元件与 SRAM 缓冲元件的比例相似。另一方面,我们的非对称和可重构设计应该消耗更少的功率和更小的面积,因为我们只是去掉了其中的一些 SRAM 缓冲元件。

参考资料

[1] Hybrid, Asymmetric and Reconfigurable Input Unit Designs for Energy-Efficient On-Chip Networks∗

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值