世界を動かす技術を、日本語で。

Mac Studioで25 Gbps Thunderbolt Ethernetを利用する方法

概要

  • Mac Studio の 10GbE から 25GbE へのアップグレード挑戦記
  • Thunderbolt経由の25GbEアダプタを格安導入
  • 冷却問題とそのDIY対策
  • 実際の速度やコストパフォーマンスの検証
  • 結果と今後の課題

Mac Studioで25GbEネットワークを実現する方法

  • Mac Studio 標準の10GbEからさらに高速な 25GbE 環境への移行体験
  • 市販のThunderbolt 25GbEアダプタ(Sonnet、Atto等)は 高額 ($999〜$1,099)
  • PCIeカード の直接増設が不可能なMac環境の制約
  • ブログ記事経由で見つけた 格安OCP 2 NIC + Thunderbolt 3アダプタ の組み合わせ
    • 以前は$160、現在Amazonで$299前後(中国系サイトで安価に入手可能な場合あり)
  • 必要な配線として 光ファイバー をデスクまで新規敷設

25GbE Thunderbolt NIC導入時の課題

  • iperf3のバージョン問題 でNAS側のスループットが15Gbps止まり
    • 最新版ビルドで 20Gbps まで改善(Thunderbolt 3の上限付近)
  • NICエンクロージャーの発熱 問題
    • OCP 2 NICは本来サーバー内高圧ファン冷却前提
    • 小型エンクロージャーでは オーバーヒート しやすい

冷却問題のDIY対策

  • ブログ著者は 大型ヒートシンク 追加で対応したが、まだ高温状態
  • より安定動作のため アクティブ冷却 を選択
    • 低背ヒートシンク+USBファンで試行
      • フロントプレート外しても冷却不足&ファンノイズが気になる
    • Noctua NF-A8 80mm 5Vファン +スピードコントローラ導入
      • Prusament PLAで 専用ファンダクト を3Dプリント
      • 80mmファングリルも自作し、エンクロージャーに固定
      • ファン電源はThunderboltアダプタ基板の5V(実測4.8V)から取得
      • 消費電力は0.5W程度でNICへの影響も最小限
      • 完成後は36°C以下を維持、静音性も高い

25GbEの実効性能とコストパフォーマンス

  • Thunderbolt 3の制約で 20〜25Gbps が上限
  • Samba経由のファイルコピー で1.4GB/sec(読み込み)、1GB/sec(書き込み)
  • 10GbE内蔵時と比較して 僅かな速度向上
  • 導入コスト(部品代約$200)、光ファイバー敷設、冷却対策等の手間
  • SMBマルチチャネル有効化済 だが、NAS側CPU(Ampere Altra 32コアArm)の性能も影響要素
  • エンタープライズNVMe SSD アレイ使用でストレージ側はボトルネックではない

まとめ・所感

  • Mac Studioで25GbEを実現するには 工夫と手間が必要
  • 市販品より安価なDIY手法も存在
  • 実効速度はThunderbolt 3の仕様上 劇的な向上は難しい
  • ネットワーク・冷却・コスト・手間のバランスが最大の課題
  • 技術的挑戦やノウハウ蓄積としては 十分価値あり

Hackerたちの意見

YouTubeのコメントの一つが、問題はmacOSでSMB Direct(RDMA)のサポートが不足してるせいだろうって指摘してた。WindowsやLinuxのノートパソコンでテストを繰り返してみるといいかもね。

https://developer.apple.com/documentation/technotes/tn3205-l... macOSは3月19日からThunderbolt経由のRDMAをサポートしてるよ。

これはThunderboltブリッジ上のConnextX4だね。ここはよく知られた領域だよ。最近、オープンソースのヒーローが登場しない限り、MacOSはこのカードやイーサネット経由でRDMAをサポートしてないんだ。Thunderbolt経由でしかサポートされてない。彼のiperf3の結果は、単一の25Gポートでフルスピードが出せることを示してる。この文脈では、クロスプラットフォームのSMBファイルコピーはあまり意味のないベンチマークだと思う。個人的には、複数の上流ホストにネイティブThunderboltインターフェースを提供するネットワークスイッチがあれば、かなりクールな製品になると思うけど、これがRDMAの問題を魔法のように解決するわけじゃないよね。これはただの別の考えだけど、Mikrotikが作るべきもののように思える。

俺はThunderboltを使った25GbEのセットアップをしてるんだけど、作者のと似たような感じかな。ただ、俺のファンは3Dプリントのケースじゃなくて、紐で繋がってるだけなんだ。macOSのSMBはマジでひどいよ。重い負荷をかけると(例えばAudibleライブラリの大量変換とか)、スタックしたり切断されたりすることがある。試行錯誤で見つけたパラメータ(/etc/nsmbd.confにある)で、なんとかそれなりに動くようになったけど:dir_cache_off=yes、file_ids_off=yes、notify_off=yes、mc_on=no。でも、まだまだひどい。LinuxをParallelsのVMで動かす方が全然マシだよ。

イーサネットチップがコンピュータのプロセッサよりも多くの電力を消費するなんて、マジでびっくりだよね(おそらく熱のせいで)。25Gb/sを駆動するのが、複数の40Gb/s Thunderboltポートを駆動するよりもそんなに熱くなる理由って何なんだろう?

Mac Studioは100W以上なのに、25G NICは25W未満なんだよね(普通のPCIeスロットの電力制限がそれ)。

そんなに悪くはないけど、数ワットの電力でも放熱できないと、熱くなりすぎて火傷しちゃうよ。ヒートシンクの上に強制空冷するのはすごく効果的だね。負荷時の15Wは、150-200Wを引き出せるハイエンドデスクトップCPUよりもずっと低い。NVMeドライブもそうだよね?アイドル時にノートパソコンのバッテリーを一晩で使い果たすくらいの電力を消費して、悪いケースだと60℃以上に達することもある。これ、10Gbpsのモジュールだけど。USB4のエンクロージャーは全部ヒートシンク付きだよ。

俺の理解では、銅でそんなに速く電磁気を揺らすにはちょっとした怒りが必要なんだよね。不完全なトランジスタがその操作範囲をフルに使って、ある種のカオスをコントロールする感じ?フィールドとか色々。

NICって結構頑張ってるのかな?過去の経験から言うと、10ギガのNICがミニサイズのUDPパケットを送受信してると、Xeon CPU全体でも追いつけなかったことがあった。確かIntel DPDK使ってた時もそうだった。

イーサネットは物理層でトランスを通して隔離されてるし、常に電力を消費してる。Thunderboltは直接電流を流してるだけ。イーサネットは色々な理由があるけど、大きな理由の一つは遠くの機器間でグラウンドループを作らないこと。ネットワークケーブルを隔離しなかったら、遠くのデバイス間で数アンペアの電流が流れちゃって、それは持続可能じゃない。USBを2台のデバイス間で接続する時にはそんな問題はないけどね。

距離の問題だね。25GbaseTは30m以上に対応してるけど、Thunderboltはアクティブケーブルなしで1mが限界。もっと頑丈な信号を作るのはかなり大変なんだ。しかも、コンピュータはすでにPCIeとThunderboltを話せるから、CPU上でそれができるはず。ここではUSBを受け取って、それをイーサネットに変換しなきゃいけないんだけど、CPUよりもずっと古いプロセスノードでやってる。さらに、最近まで10GbitでもUSB4PCIeブリッジチップを使わなきゃいけなくて、それ自体が熱くなってたから、一般的なPCIe接続を提供して、そこから従来のネットワークチップに繋がるっていう二重のホップが必要だった。25GbitをUSBに直接変換するのがもう出てるかはわからないけど、最近は単一チップのUSB NICの10Gbitアダプターが大量に出てきてるから、たぶんPCIeじゃなくて、ずっと冷却性能も良いと思う。25Gbitはまだ来てないかもね。

AIデータセンターの使用量の5%くらいは光ファイバーだよ。

Hacker Newsで議論の続きを見る