文章目录
- 题目:Stay in your Lane: A NoC with Low-overhead Multi-packet Bypassing
- 时间:2022
- 会议:HPCA
- 研究机构:乔治华盛顿大学、GIT
本篇论文的主要贡献:
- 新的流控制算法FastFlow,用于在非重叠路径上无缓冲地路由
- 通过promoting blocked packet来实现无死锁
类比: 就像迪斯尼乐园的快速通行证服务,在某些固定的时间段中跳过长队快速通过
协议级死锁: 数据包共享相同的缓冲区,且彼此交错(因为NoC实现缓存一致性会将atomic coherence transactions拆成几个non-atomic packets),如两个cache controller的 coherence requests用光了所有的buffer,就都会停止响应,这就发生了协议级死锁
网络级死锁: 循环依赖链中,多个数据包占用缓冲区,同时等待其他被占用的缓冲区空闲,在自适应路由中,可能会出现这种情况,因为数据包可以向任何方向路由。
名词定义:
- Partition:某个分区,包括几组路由器
- Prime Router:允许使用快速通道的路由器,每个partition只有一个
- Regular Pass: credit-based flow control
由上图可见,为了确保数据包之间没有冲突,FastPass将拓扑结构分成P个独立的分区(即P0、P1和P2),每个分区有一个主路由器(即绿色、橙色和蓝色)
(a) 在前K个周期中,绿色主路由器可以覆盖位于P0的路由器:R0、R3和R6;橙色部分可以访问P1路由器:R1、R4和R7;蓝色主路由器有到P2路由器的隔离路径:R2、R5和R8。当time slot过去时,每个分区的链路切换到handle the packets of other prime;
(b) P0、P1和P2的链路分别传播来自蓝色、绿色和橙色的packet。
© P0、P1和P2的链路分别处理来自橙色、蓝色和绿色的packet。这种交换一直持续到每个prime覆盖了网络中的所有路由器,表示该阶段完成。
第二阶段(d,e,f)和第三阶段(g,h,I)遵循相同的方法。