简介
本文是乔治亚理工公开课程Interconnection Networks (Spring 2017)的教程,共有7个主题13堂课加上4个lab,目录在最后的部分。这里是第7堂课L07-09 flow control流量控制。
流量控制介绍
分配的颗粒度: 信息,包,flit
有2个小问题,这里的All flits of a packet take same route and have the same VCid,
- 这个vcid在不同的router是一样的么?
- 同一个router里,不同的cycle数时,同一个packet的不同flit经过的vcid一样么?
不同颗粒度message/packet/flit的flow control
message based flow control
就是说,发message之前,之前把一条线路都占了。
下图介绍了弊端是传数据之前有很大的开销,因为传数据之前要先传设置信息和ack。
也有个好处是省去了buffer和routing,还有allocation的开销。 关于 routing,还有allocation我们下一篇再将细节,涉及到路由器的微架构。
contention in message-based flow control
如果有冲突,那就硬等
challenge
noc’s message-based flow control
其实之前我不知道noc还有message level的做法。我以为只有packet和flit才是noc。
不过这个课程里介绍了message-based flow control的一种, Circuit-Switching in NoCs。
packet-level flow control
Packet-based: Store and Forward
包括自己是4个router,hop count是3, Total delay = 4cycles per hop x 3 hops = 12 cycles。
课程ppt里说不适合noc。
store and forward 的时空流程图如下
另一个packet 级别的flow cont