文献阅读(168)强化学习 & Routerless NoC

文章目录

  • 蒙特卡洛树搜索 MCTS
  • layered progressive approach
  • 实现细节
    • Injection
    • Ejection
    • 活锁
    • 死锁
    • 饥饿

  • 题目:A Deep Reinforcement Learning Framework for Architectural Exploration: A Routerless NoC Case Study
  • 时间:2020
  • 会议:HPCA
  • 研究机构:南加大/俄勒冈州立大学

本篇论文的主要贡献:
Routerless NoC搜索空间巨大,本篇论文采用了强化学习+蒙特卡洛数数搜索,最后实现吞吐提高、延时降低、功耗降低

一共有两种没有路由器的NoC

  • isolated multi-ring(IMR): 传输过程中,数据包不能转发到另一个ring
  • REC:环路之间采用共享包大小的缓冲区,降低buffer大小

文献阅读(168)强化学习 & Routerless NoC_第1张图片

如在图b中,K和P就不能是不连通的

蒙特卡洛树搜索 MCTS

包括3步:

  1. 搜索:过以概率ε使用贪婪搜索,选择最佳循环放置
  2. 扩展+评估:使用DNN评估叶状态,以确定展开/扩展的动作
  3. Backup:遍历边的统计信息通过树向后传播

文献阅读(168)强化学习 & Routerless NoC_第2张图片


  • 题目:Routerless Networks-on-Chip
  • 时间:2018
  • 会议:HPCA
  • 研究机构:俄勒冈州立大学

layered progressive approach

先从2 x 2的路由器开始,找到比较优的环,然后包一层变成4 x 4,再包一层变成6 x 6,直到生成所需要的阵列大小
文献阅读(168)强化学习 & Routerless NoC_第3张图片

其中A都是把外围新加的环套起来,B都是最左面一列,C都是最右面一列,A并B并C并之前的环,已经能把所有的链路连起来了,D只是加了一些横着的shortcut

文献阅读(168)强化学习 & Routerless NoC_第4张图片

实现细节

对于每个节点,需要解决injection和ejection两个问题

Injection

在这里插入图片描述
当节点Y希望向loop注入包B2的时候,有一种可能是loop的上1个节点X也有1个包A1发往节点Y,这时B2和A1就有了竞争关系,需要一个额外的buffer来存A1,保证B1-B3能连续发送,这个额外的buffer就是extension buffers(EXBs)。当然经过节点Y的loop可能不止1条,我们不需要节点上每个loop都放1个EXB,只需要1个或k个EXB,当阻塞哪条loop的时候动态选择就好了。
文献阅读(168)强化学习 & Routerless NoC_第5张图片

Ejection

对于某个节点,可能会有m个loop经过,存在一种可能是某个时刻这m个loop都有包要弹出,那就需要m根链路来输出这m个包,会带来硬件开销,本篇论文的优化在于只给e个弹出链路,如果同时来了大于e个包的时候,再让剩下的包绕一圈回来。

活锁

活锁: 数据包无限期循环,总找不到机会弹出
解决方法: 设一个计数器,过家门而不入的时候计数器加1,当到计数到254时,强制分配一个弹出链路,这个链路在完成之前的工作之后就保持空闲,在255的时候用这个链路弹出这个包

死锁

饥饿

有可能某个节点X长时间都无法注入数据包,这就需要别的节点Y发一个目的地是X的空包,一次来创造出一个空余,使得X可以发包


  • 题目:An Energy-Efficient Network-on-Chip Design using Reinforcement Learning
  • 时间:2019
  • 会议:DAC
  • 研究机构:乔治华盛顿大学

本篇论文的主要贡献:
利用强化学习来探索power gating、DVFS之间组合的方案,得到最优的路由器控制策略

你可能感兴趣的:(芯片互联,硬件架构)