100G CWDM4や100G SR4、25G DACなどでも使われるRS-FEC。高速な変調方式に伴う不安定な伝送特性を補う素晴らしい技術ですが遅延が増えてしまいます。遅延の影響がどれほどアプリケーションのパフォーマンスに依存するかはアプリケーション次第なのですが、HPCなどの高密度クラスターでの演算処理能力を要求する場合には特に遅延の影響が大きいと言われます。
FECにもさまざまな方式があり、RS-FECは比較的遅延が少ない方式で。理論上の最低遅延は87ns。遅延が多いことで有名な10G-Tで採用されているLDPCは理論値が2.5usec。実際のイーサネットスイッチ間の接続でFECの設定変更によって実測される遅延の違いを調べてみました。
port2をL3 loopback modeに設定してのport1からRFC2544 latency試験、IPv4パケットフレーム。
68 bytes | 1518bytes | |
---|---|---|
100G DAC(30AWG) 1.0m loopback 10% | 1.96μs | 2.11μs |
100G DAC 1.0m loopback RS-FEC 10% | 3.28μs | 3.42μs |
100G AOC 5.0m loopback 10% |
2.00μs |
2.12μs |
100G AOC 5.0m loopback BASE-R FEC 10% | ||
100G AOC 5.0m loopback RS-FEC 10% | 3.33μs | 3.45μs |
100G AOC x 2 + L2 SW | 3.13μs | 3.85μs |
100G AOC x 2 + 100G DAC 3.0m(RS-FEC) + L2 SW x 2 | 5.08μs | 11.86μs |
100G AOC x 2 + 100G CWDM4(no FEC) + L2 SW x 2 | 5.90μs | 10.98μs |
100G AOC x 2 + 100G CWDM4(RS-FEC) + L2 SW x 2 | 6.24μs | 11.33μs |
100G AOC x 2 + 100G CWDM4(BASE-R) + L2 SW x 2 | 6.92μs | 12.11μs |
100G AOC x 2 + 25G AOC(no FEC) + L2 SW x 2 | 4.73μs | 19.02μs |
100G AOC x 2 + 25G AOC(RS-FEC) + L2 SW x 2 | ||
100G AOC x 2 + 25G AOC(BASE-R) + L2 SW x 2 | 4.94μs | 19.18μs |
10G AOC 5.0m loopback 1% |
1.48μs | 2.64μs |
10G-T(Cu) 0.5m loopback 1% | 4.40μs | 5.45μs |
100G AOC x 2 + 10G AOC + L2 SW x 2 | 8.40μs | 20.46μs |
100G AOC x 2 + 10G T + L2 SW x 2 | 11.29μs | 23.49μs |
RS FEC = RS(528, 514)
BASE-R = FC FEC
AS7712はQSFP28 breakout時にRS-FEC設定できず
FECなしのDAC 2m,3m 1518bytesはframe loss多数。
100% dutyでは正しい値が得られない可能性もあるので再測定の予定(2022/03/11)
VeEXのFEC処理はかなり遅い
VeEX RTX-1200/6200--(100G AOC 3.0m)--Edgecore AS7712(AOS)-----+ | 100G CWDM4 FEC(OFF/RS/BASE-R) +----(100G AOC 5.0m)--Edgecore AS7326(SONiC)---+
Loopback構成なので双方向遅延(RTT)
100G RS-FECの片方向遅延は(6.24-5.90)/2 = 170ns
100G BASE-Rの方が遅延が大きいのはおかしい、再測定が必要。
25G BASE-Rの片方向遅延は(4.94-4.73)/2 = 105ns
10G-T LDPCの片方向遅延は(11.29 - 8.40)/2 = 1.45μs
BERT測定器 | VeEX RXT1200/6200(2.000.12) |
---|---|
イーサネットスイッチA | EdgeCore AS7712(AOS) |
イーサネットスイッチB | EdgeCore AS7326(SONiC) |
68bytes | 1518bytes | |
---|---|---|
100G DAC1.0m | 0.0% | 0.0% |
100G DAC 2.0m | 0.6% | |
100G DAC 3.0m | 8.503% | 56.209% |
100G AOC 5.0m | 0.0% | 0.0% |
BERin | block time | latency | |
---|---|---|---|
RS(528,514) | 3.92E-05 | 51.2ns | ~87ns |
http://www.ethernetalliance.org/wp-content/uploads/2011/10/static_page_files_127_10GBASE_T2.pdf