道下さん、大浦さん、清水さん - マルチテナンシーの課題 - 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)