Virtual Channel Flow Control(虚通道与链路流控)

interconn-study 流控篇 Day 16:Dally & Towles Ch.10——把一条物理链路切成多条逻辑车道,打破虫孔 HoL。电路级细节亦见 NoC Router 微架构

Source: interconn-study-21d-day-16.md
原典精读:Dally TPDS 1992 — paper-deepdive Day 5dally-virtual-channel-flow-control.md

VC 是什么

每条 VC:独立缓冲队列 + 独立信用/状态;物理链路在 flit 粒度时分复用。报文 A 在 VC0 卡住时,VC1 上的报文 B 仍可前进。

作用说明
缓解 HoL多逻辑车道,互不堵死整条物理链路
死锁工具Escape / dateline VC;见 Duato
优先级/服务类不同 VC 映射不同流量

代价:每 VC 缓冲 + VC Allocator + Switch Allocator 复杂度;VC 过多 → 面积/功耗升、每 VC 深度变浅 → 吞吐先升后饱和。

典型 2-D Mesh uniform traffic:1→2 VC 吞吐跳升最大;再往上收益递减(笔记经验曲线)。WSE 公开未定数,工程猜测链路侧 2–4 VC 量级(另有 color 语义)。

VC Allocator

Head flit 到达后选一条空闲下游 VC。策略:

静态 / 保守动态
做法流固定映射 VC按空闲池分配
优点可证明、隔离好利用率高
缺点浪费实现与公平更难

仲裁器细节(iSLIP 等)见 NoC Router Pipeline and Allocators

三种链路流控

Credit-basedOn/OffWindow-based
机制每 VC 信用计数;发 flit −1,腾空 +1 回送高水位关、低阈值开飞行窗口 W,ACK 滑动
精度精确
往返开销每 flit 级信用
适用HPC / NoC 主流长延迟、粗控制突发折中

WSE/AI 加速器:主路径 Credit 概率高;大突发可叠 Window/On-Off 类阈值逻辑(笔记推测,非官方规格)。

与路由三角

自适应路由需要 VC 自由度
        ↕
HoL 缓解需要多 VC
        ↕
死锁避免需要 escape / 受限 VC(Duato / Dally)

Day 12–14 路由篇在此收束:VC 是「性能」与「正确性」的共用资源。

相关页面

Citations

[1] interconn-study-21d-day-16.md — D&T Ch.10 Virtual Channels(Day 16) [2] paper-deepdive-day-05.md — Dally TPDS’92 精读(paper-deepdive Day 5)