RS-FEC帧结构
RS(n,k,t, m)
n 代表一个 FEC 帧总的符号数
k 代表有效信息符号数
t 代表最长可修正(连续突发 Code Errors)的符号数
m 代表 1 个符号包含多少个比特
典型RS-FEC
KR4 RS (528, 514, 7 ,10) ,可修正的符号数(t) =7,用于NRZ链路;
KP4 RS (544, 514, 15, 10) ,可修正的符号数(t) =15,用于PAM4链路;
Reed-Solomon 编码的纠错能力公式:
Nvidia IB交换机的选择
2023年11月6日开始,NV IB交换机的最新FW采用了新的纠错技术,可FW升级log里没有相关记录。可修正的符号数应该是7。应该是在平衡纠错能力与延迟后做出的选择。 但不知道具体是啥。
有线索,求砸稿啊!!!
初步猜测近似于RS (272, 257, 7, 10)。这样,咱测试人只需测试KP4 RS (544, 514, 15, 10)这一种情况,错误符号管控到7个以内就行。为了能更心安,拿刀架在开发脖子上,逼他们做到5个以内吧,3个更好...
不管用啥纠错方式,光模块打铁还需自身硬,要从源头上少犯错,特别是不要短时间连续犯错
以下内容来自于AI(阿里千问)。真的很佩服AI找不到答案时,现造答案的自信和坦然,脸不红心不跳,义正言辞,脱口而出~~
特性 | FireCode FEC | RS-FEC | LL-RS-FEC | Interleaved_RS-FEC | Interleaved_LL-FEC |
---|---|---|---|---|---|
编码类型 | 专有线性分组码 | Reed-Solomon 块码 | 优化 Reed-Solomon | 交织 Reed-Solomon | 交织低延迟 FEC |
纠错能力 | 适中(<15 个符号) | 强(15 个符号) | 强(15 个符号) | 增强抗突发错误 | 适中(抗突发+随机错误) |
延迟 | 极低(<1μs) | 中等(1-10μs) | 低(1-5μs) | 中等(2-10μs) | 低(1-5μs) |
冗余开销 | 低(接近 1) | 中等(5-6%) | 中等(5-6%) | 中等(5-6%) | 低-中等(4-6%) |
应用场景 | 短距离高速链路 | 长距离/高噪声环境 | HPC/低延迟需求场景 | 长距离抗突发错误场景 | 混合错误场景 |
标准化程度 | 专有(Marvell) | 高(IEEE 802.3bs/ct) | 高(IEEE 802.3bs/ct) | 高(IEEE 802.3ct) | 低(非主流) |
实现复杂度 | 中等 | 高 | 高 | 高 | 极高 |
The Reed-Solomon decoder shall be capable of correcting any combination of up to t=15 symbol errors in a codeword. The Reed-Solomon decoder shall also be capable of indicating when an errored codeword was not corrected. The probability that the decoder fails to indicate a codeword with t+1 errors as uncorrected is not expected to exceed 10–16. This limit is also expected to apply for t+2 errors, t+3 errors, and so on.
该解码器未能将具有 t+1 个错误的码字标记为未纠正的概率预计不会超过 10^(-16)。这一限制预计也适用于 t+2 个错误、t+3 个错误等的情况。
【也就是说,还是会有统计没有ucw,但非网络配置因素丢包的可能性,只是概率很低。更为严谨的是在进行FEC测试的同时,记录流量仪统计的丢包情况】
虽然 RS(272, 257) 提供了较强的纠错能力,但在追求最低延迟的 InfiniBand 应用中,是否使用该 FEC 方案需根据具体的性能要求和网络环境仔细评估。在很多专注于极低延迟的高性能计算环境中,可能更倾向于选择延迟更低的解决方案或者完全不使用 FEC。不过,在需要更高可靠性的场景下,RS(272, 257) 仍然有可能被选用。