道下さん、大浦さん、清水さん
- マルチテナンシーの課題
- NICでサポート必須
- VLAN Switch Tagging, Open vsWitch hardware offload
- ovs offloadはLYで使っている
- [[EthernetベースのGPUクラスタ導入による学びと展望]]
- マルチテナンシー -> Open vSwitch
- 性能 -> Mellanox NICによるhardware offload
- トピック
- GPUクラスタでのマルチテナンシー 検討している?
- LYでは、VMの上でk8sで機械学習基盤
- サーバ筐体には100G NICでVMでも高速に 5-6年前
- OVSつかいならSR-IOVでVMにパススルー。
- どのルールがオフロードされているかを知る手段はない。
- ハードウェアキャッシュにルールがのってるとオフロードされ、のってなければカーネルへ。1st packetはカーネル。
- 可観測性をもうすこしできるといい。[[eBPF]]でドライバの関数にフックしてとれるといいかも妄想。
- 現時点で、キャッシュにのってないときの影響はそんなに。
- source destがこうだったらこうしてっていう単純なルール。最初だけキャッシュのってないだけ。ROCEのパケットルールを緻密化すると問題になるかも。
- 技術としての OVS hardware offload
- limitとかあまり書いてない?
- 京大の小谷先生
- k8s on VM 100G NIC 性能だしたいけどどうしよう。
- v4パススルーしてコンテナのポリシーで。LY初期構想はこうだった。どうがんばってもややこしくなる。性能担保したままVMかコンテナの中のポリシーポリシーを書くのは厳しい。k8s Workload単位で isolationしたい。KataContainerが本当はいい?
- どれぐらいの量のオフロードできるかは計算できる?
- NICへはtc-flowerのオフロードで、tc-flowerで表現できればいけるはず。
- ただ、キャッシュに入っているかはわからない。
- Mellanox NICオフロードはなにができるか?ドキュメントにある。レールごとにジュネーブをはった。
- OVS hardware offload のドキュメントは [https://docs.nvidia.com/doca/sdk/nvidia+openvswitch+acceleration+-+ovs+in+doca/index.html](https://docs.nvidia.com/doca/sdk/nvidia+openvswitch+acceleration+-+ovs+in+doca/index.html)
- VXLAN encap/decap SR-v6 オフロードできるのか?
- 対応している。コマンドで確認している。
- ダミーパケットでルールをNICに焼き込んでおくことはできない?
- このルールを明示的にオフロードしておいてくれ、とできる。
- ROCEは通信相手のエントロピーが大きくならない。
- ネゴシエーションするときにそもそも入るのでは?
- KDDIの方
- AI基盤作ろうとしている。マルチテナンシーで検証レベル。k8sのnamespace単位でマルチテナンシー。次どこのレイヤー?もっと下のレイヤ?NVLinkレベル?
- Network namespaceできるとかもあるけど、k8s namespaceでいいのでは?顧客のなかで、hierachical namespaceで切る。
- NVLinkまではあまり頭になかった。
- fabricmanager
- さくら 井上さん
- ネットワークで切るしかない。サーバにroot渡している。
- ovがついているNICとかもあるけど、コスト高い。
- VRS/EVPN
- NVLinkはサーバベンダーからできないと言われた記憶。fabircmanager叩ける感じではない?
- 知っている範囲では仮想化前提。複数台のVMを乗せるケースで、GPU 2枚ずつ4枚では、fabricmanagerで、このリンクは有効無効かをいれる必要がある。NVLink GPU ペアみたいなのができる。ベアメタルでそれをやるのは知らない。
- fabricmanagerのユーザーガイドに、仮想化のモードみたいなのがあって、H100だとsrialize??? を選択しないといけない。非常に難解。プログラムを書いてユーザーに提供している。
- コンテナやVMのサービスをしてくださいと言われたらどうするか?
- ユーザーにGPU何枚をいくらで。
- NIC:GPUは1:1。仮想化するならOVSが使えるなら、。
- さくらのクラウドでは、KVM+OVSでやっている。スイッチでもVLAN切るぐらいは必要。
- 内製のCNIプラグイン + Calicoと組み合わせ。最初はmultusを知らなかった。
- Cilium + [[Multus]]
- テレコムでMultus大変とは聞いたりする。なぜやめたい?
- k8sはマルチネットワークをサポートしていくのだろうか?
- トヨタのかのうさん 前職NTT FPGAアクセラレータ k8s 組み込んでMultusどうこうやった。商用に入らなかった。
- いろいろ自作しないといけなかった。k8sライフサイクルにあわせて作るのは大変。
- Multus自体の問題ではない?複数にNICがあること自体ではなく、k8s native側では管理してくれない。nativeで対応されれば可能性はある。
- kubeconでDRAがでてきたけど、どうなのか?
- まだ触ってない?
- DRAは仕様がでかい。
- Shared NVSwitch Virtualization Model のドキュメント
https://docs.nvidia.com/datacenter/tesla/pdf/fabric-manager-user-guide.pdf
議事録:[JANOG55 GPU NW BoF](https://docs.google.com/document/d/1WKzsMvGLipH-GEApK5u7GEN8y7_YXwiKUO22TlIZVs8/mobilebasic)