文献阅读(168)强化学习 & Routerless NoC
文章目录题目:A Deep Reinforcement Learning Framework forvArchitectural Exploration: A Routerless NoC Case Study时间:2020会议:HPCA研究机构:南加大/俄勒冈州立大学本篇论文的主要贡献:Routerless NoC搜索空间巨大,本篇论文采用了强化学习+蒙特卡洛数数搜索,最后实现吞吐提高、延时降低
- 题目: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大小
如在图b中,K和P就不能是不连通的
蒙特卡洛树搜索 MCTS
包括3步:
- 搜索:过以概率ε使用贪婪搜索,选择最佳循环放置
- 扩展+评估:使用DNN评估叶状态,以确定展开/扩展的动作
- Backup:遍历边的统计信息通过树向后传播
- 题目:Routerless Networks-on-Chip
- 时间:2018
- 会议:HPCA
- 研究机构:俄勒冈州立大学
layered progressive approach
先从2 x 2的路由器开始,找到比较优的环,然后包一层变成4 x 4,再包一层变成6 x 6,直到生成所需要的阵列大小
其中A都是把外围新加的环套起来,B都是最左面一列,C都是最右面一列,A并B并C并之前的环,已经能把所有的链路连起来了,D只是加了一些横着的shortcut
实现细节
对于每个节点,需要解决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的时候动态选择就好了。
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之间组合的方案,得到最优的路由器控制策略

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)