ConnectX-7の400G OSFPをQSFP-DDスイッチポートに接続: パッシブDACで足りるか、レーン速度が壁になるか
既存の400Gファブリックに2台のGPUボックスをつなごうとしているところで、一度間違ったケーブルを買ってしまったこともあり、再発注する前に理屈のほうをきちんと詰めておきたい。
- NIC: ConnectX-7 MCX715105AS-WEAT、400Gポート1基、OSFPケージ
- スイッチ: 400G QSFP-DDポート
- 手元にあるもの: パッシブの400G QSFP-DD to OSFP DAC、OSFP側はフィン付き
switch port : QSFP-DD 400G
NIC cage : OSFP, flat top
cable : QSFP-DD to OSFP passive DAC, finned OSFP end
フィン付きの端はNIC側のケージにまったく収まらない。あの筐体はフィンの逃げがあるスイッチ側ケージ用に作られていて、このカードにはその逃げがない。機構の問題はさておき、今まで読んだ限りではこのカードのOSFPポートは100Gレーンで動作し、QSFP-DD側の400Gは50Gレーン8本で構成されているとのことで、コネクタの形状がどうであれパッシブケーブルでは両端をつなげないように思える。
投稿前に確認したこと:
- 検証済みケーブルリストを一通り見たが、この組み合わせに該当するQSFP-DD to OSFPの項目はなかった
- NICケージがフラットトップを要求することはカードのドキュメントで確認済み
- 同じDACのフラットトップ版を供給できないかサプライヤーに聞いたところ対応可能とのことだったが、それでもレーンの問題は解決しない
というわけで、QSFP-DDの400GスイッチポートとOSFPのConnectX-7を本当につなげるパッシブDACは存在するのか、それとも正直なところトランシーバとファイバの組み合わせしか答えはないのか。
Comments 5
ところで、スイッチは何を使っている? ポートのタイプは書いてあるがモデルが書かれていない。それによって、そちら側にそもそも使えるブレイクアウトプロファイルがあるかどうかが決まる。
あと、エンドツーエンドで正真正銘の400Gリンクが必要なのか、それともカードへの4x100Gで用は足りるのかも教えてほしい。この2つはまったく違う買い物リストになるし、後者のほうがかなり短く済む。
問題は実質2つあって、買ったケーブルの話なのはそのうち片方だけ。
機構面: CX-7のケージはフラットトップのOSFPモジュールを前提としている。市場に出回っているOSFP DACの大半はスイッチ側ケージ向けのフィン付き筐体で出荷されていて、まさに今手元にあるのがそれなので、カードにはきちんと収まらない。
電気的な面: そのカードの400G OSFPポートは100Gレーン4本で動作するが、QSFP-DD側の400Gは50Gレーン8本になっている。パッシブDACはただの銅線で、何のギア変換もしないから、NIC側をフラットトップにしても両端のレーン数は永遠に噛み合わない。ここはケーブルが届いたあとで気づく人が多いところ。
この組み合わせに対して案内されている構成は銅ではなく光だ。スイッチ側に400G DR4のQSFP-DDトランシーバ(MMS1V00-WM)、MFP7E30系列のMPO-12/APCクロスオーバーファイバ、NIC側にフラットトップのOSFPモジュール(MMS4X00-NS400)。1本のリンクに3品目というのは面倒だが、実際に噛み合うように作られているのはこの組み合わせ。
参考までに、NIC同士なら話は簡単で、フラットトップのOSFP800 DACを使えば上記のどれも要らない。
銅線が完全になしというわけではなく、箱の中のカードが何かによる。
QSFP112ケージを持つデュアルポート200GのCX-7なら、QSFP-DDスイッチポートからファンアウト経由でQSFP56 DACを問題なく受けられる、そこはレーン数が揃っているから。あと400G OSFPのほうでは、OSFP to QSFP28アダプタに普通の100G DACを組み合わせて既存ファブリックに繋いだという報告もあったので、機構面は回避できる場合がある。
ただし、アダプタというルートには一切の裏付けがない点には注意が要る。まさにこのケースについてパッシブのOSFP to QSFP28アダプタのことをNVIDIAに単刀直入に聞いた人がいるが、ConnectX-7のファームウェアドキュメントでどのケーブルが検証済みか確認しろと案内されただけで、アダプタはテストも保証もしていないとも付け加えられた。QSFP-DDのSN4700とQSFP56のSN3700で同じことを聞いた人も、それ以上のものは得られなかった。手元の環境では普通に動くかもしれないが、動かなくなった日に誰も助けてはくれない。
一世代上の話だが、驚かされる種類が同じなので参考までに。
Arista 7060X6にACCのOSFP 800Gから2x400G QSFP112への分岐ケーブルを挿しても、ConnectX-8とはまったくリンクしなかったが、同じポートに同じケーブルでConnectX-7を挿すとすぐにリンクアップした。NIC側の診断では、PHY FW groupのステータスに
Recommendation: Negotiation failureが返っていた。オートネゴシエーションに任せる代わりにポート速度を400Gに固定したところ、物理リンクはすぐに上がった。同じ形状のAECケーブルはConnectX-8でもそのまま動作し、他のTomahawk 5ベースのスイッチでも同じ挙動が出たので、ケーブル不良ではなくオートネゴシエーションとリンクトレーニングの相互接続性の問題だと考えられる。光モジュールが届いたときのために頭の片隅に置いておく価値はある。リンクが上がらないときは、トランシーバを疑う前にまずオートネゴシエーションを外してみること。
レーン速度の話は強調しておく価値がある、InfiniBand側でも同じくらい痛い目を見るので。
うちにはQuantum-2のQM9700があり、古いSwitch-IB 2のSB7800に届かせる必要があった。NDRはすべてのOSFPケージを100GのPAM4レーン4本として駆動するが、SB7800はEDRで25GのNRZレーン4本。この2つを直結する構成は検証されたことがなく、サポートも一切ない。正規のやり方はHDRのスイッチを間に挟むこと。サポート外の代替として存在するのがパッシブの分岐ケーブルで、MCP7Y60-H001、MCP7Y60-H01A、MCP7Y60-H002がそれぞれ1m、1.5m、2mで用意されている。NDR側のツインポートケージ1つが、旧スイッチ側のQSFP28ポート2つに分岐し、それぞれの半分が途中でEDRのレートまで落ちる。
ただし、付帯条件はよく読んでおくこと。QM9700から出る銅のEDRは2mが上限なので、この分岐ケーブルは同一ラック内の裏技でしかない。しかもケージを1つ余計に消費する。トポロジ上、これまで1つだったOSFPポートが2つ分になる。機材は違っても教訓は同じで、両端のレーン速度が食い違っているとき、ただの銅線ではそれを埋め合わせられない。