Upgrade to Pro — share decks privately, control downloads, hide ads and more …

SONiCで構築・運用する生成AI向けパブリッククラウドネットワーク

 SONiCで構築・運用する生成AI向けパブリッククラウドネットワーク

SONiCで構築・運用する生成AI向けパブリッククラウドネットワーク
さくらインターネット株式会社
黒澤 潔裕

SONiC Workshop Japan 2025
https://sonic.connpass.com/event/345182/

Tweet

More Decks by SONiC Users Group Japan

Other Decks in Technology

Transcript

  1. © SAKURA internet Inc. 本日のサマリ SONiCを用いたGPU基盤構築により得られた知見の共有 1 はじめに さくらインターネットとは なぜさくらがSONiCを?

    全体の構成 Clos topologyの採用 どのような機能が必要か 実装の中で見えた課題 検証の工夫 不足している機能の扱い まとめ 実際どうだったのか? 2 3 4
  2. © SAKURA internet Inc. 本日のサマリ SONiCを用いたGPU基盤構築により得られた知見の共有 1 はじめに さくらインターネットとは なぜさくらがSONiCを?

    全体の構成 Clos topologyの採用 どのような機能が必要か 実装の中で見えた課題 検証の工夫 不足している機能の扱い まとめ 実際どうだったのか? 2 3 4
  3. © SAKURA internet Inc. 自己紹介 さくらインターネット株式会社 クラウド事業本部 クラウドサービス部 黒澤 潔裕

    / KUROSAWA Kiyohiro 業務内容: ・GPU基盤関連のネットワーク設計 ・上記に付随した自動化 ※実際はSONiC/Ansible職人 経歴: ・2024/9 さくらインターネット 入社 ・某通信事業者にてCGN/N6,SGI用 Clos, Routerの設計 ・某コンテンツ事業者で3000台のサーバーを7人で運用するお仕事 4
  4. © SAKURA internet Inc. さくらインターネットとは 5 (※2025年3月末日現在) 商 号 さくらインターネット株式会社

    本社所在地 大阪府大阪市北区大深町6番38号 創業年月日 1996年12月23日 (会社設立は1999年8月17日) 上場年月日 2005年10月12日(マザーズ) 2015年11月27日 (東証一部(現プライム市場)へ市場変更) 資 本 金 112億8,316万円 従 業 員 数 997名(連結) 石狩データセンター開設 2011 東証マザーズ上場 2005 1996 1999 株式会社を設立 / 最初のデータセンター開設 東証一部に市場変更 2015 さくらインターネット創業 2021 創業25周年 2022 2005年10月に東京証券取引所マザーズ市場に上場 2011年11月、北海道石狩市に国内最大級の 郊外型大規模データセンターを開設 2015年11月に東京証券取引所市場第一部に市場変更 2021年12月、創業25周年 東証プライム市場へ移行 東京証券取引所 新市場区分のプライム市場へ移行 1999年8月に株式会社を設立。10月には、第1号となる データセンターを大阪市中央区に開設 1996年12月に現社長の田中邦裕が、 舞鶴高専在学中に学内ベンチャーとして創業 沿革 ガバメントクラウドに条件付き認定 2026年3月末までの技術要件達成を条件とし、 国産で初のガバメントクラウド提供事業者に選定 2023
  5. © SAKURA internet Inc. 新規拠点の立ち上げ 昨今のGPU需要 800 GPUs 2000+ GPUs

    note: 生成AI開発向けGPUクラウドサービスへの130億円規模の投資について、拡大投資計画の必要性と将来展望 生成AIの旺盛な需要に対応するため、800GPUの新クラスタを増設 7
  6. © SAKURA internet Inc. 最大の要件 = 短納期x少数精鋭 2024/8 PJ立ち上げ 2024/12

    S-in 2024/9/1 (入社) 2025/4/1 OS vUP 立ち上げPhase 運用Phase 2024/11 納品 小林 正幸 井上 喬視 加藤 和樹 短期間の開発サイクルを少数精鋭の内製で実現 4か月 2025/2/20 自動化ツールの刷新 2025/1 OS Patch検証 2025/3 Textfile collector監視強化 3か月 8 2024/9 機種選定
  7. © SAKURA internet Inc. SONiCを導入した狙い ・長年のLinux運用ノウハウ ・OSSの活用が浸透 ・スピード感を持った開発 ・Debian/Linuxベース ・Docker

    ecosystemの活用 ・活発なコミュニティ開発 メンバー共通の文化 導入のポイント 「面白いものは入れてみよう」 ボトムアップな文化が下支えにあった 9
  8. © SAKURA internet Inc. 本日のサマリ SONiCを用いたGPU基盤構築により得られた知見の共有 1 はじめに さくらインターネットとは なぜさくらがSONiCを?

    全体の構成 Clos topologyの採用 どのような機能が必要か 実装の中で見えた課題 検証の工夫 不足している機能の扱い まとめ 実際どうだったのか? 2 3 4
  9. © SAKURA internet Inc. 性質の異なる4つのネットワークを設置 構成の概要 GPU Server 1 2

    3 4 5 6 7 8 Storage NIC1 Storage NIC2 BMC NIC GPU Interconnect GPUサーバー間の高速通信を提供(lossless) Storage Network Storage serverとのバックエンド通信(lossless) Service 400Gbps x 8 Management 400Gbps x 2 他DC/Internet接続 (lossy) 監視・Operation (lossy) 11
  10. © SAKURA internet Inc. GPU Interconnect/Storage Network構成 Spine Spine Leaf8

    Leaf1 Leaf8 Leaf1 GPU Server 1 8 GPU Server 1 8 GPU Server 1 8 GPU Server 1 8 ・・・ ・・・ ・・・ ・・・ Storage Storage ・・・ ・・・ ・・・ ・・・ 800GBASE-SR8 400GBASE-DR4 400GBASE-DR4 (multi mode) (single mode) (single mode) 800GPUs 8 Rail 2 Pods 8 Spine GPU 1 Rail:1 leafのRail optimize構成 / 5 stage Clos topologyを採用 Clos topologyを用いたGPU Rail 1: leaf 1のRail-Optimized構成 12
  11. © SAKURA internet Inc. Topologyの選択 Clos Network Chassis Network ・・・

    Pros ・Scaleoutの柔軟さ ・ベンダー選択肢の広さ ・障害時の影響範囲小 Cons ・管理対象の増大(Switch/SFP/Cable) ・Routing設計の複雑化(EVPN/VXLAN/BGP…) Chassis Line Card Line Card Pros ・シンプルな設計 ・管理対象が少ない ・(意外と)場所を取らない Cons ・収容ポート数の上限 ・ベンダーロックイン(選択肢が少ない) Fabric ベンダーダイバシティー・新規設計の訴求からClos構成を採用 参考:生成AI向けパブリッククラウドサービスをつくってみた話 | さくらのナレッジ 13
  12. © SAKURA internet Inc. 構成要素の検討 ・・・ 大容量traffic 管理コスト削減 Underlay ・IPv6

    link-local ・BGP +BFD Multi-Tenancy実現 Overlay ・EVPN/VXLAN ・Anycast Gateway ・VRF 最優先 ASN65000 ASN65000 ASN65002 ASN65001 ASN65016 ASN65015 ・・・ ・・・ お客様A お客様B RoCEv2(ECN/PFC) + DLB コンパクト・高集約 800Gbps/Port * 64 over Tomahawk5 14
  13. © SAKURA internet Inc. 自動化を前提とした設計 Ansible ONIE ZTP Ansible Ansible

    ①資源の配置 ・DHCP設定 ・OS image ・ztp.json ・iptables.json ・initial用shell ②OS install ③最小設定 ・user ・mgmt port ・iptables設定 ④config投入 ・config_db.json ・frr.conf ・exporter ⑤Service in ・迂回解除 nginx Ansible Switch DHCP (内製) ② ① ① ③ ⑤ ④ 入れるのは自動化できるものだけ 初期検証から自動化を前提として設計 15
  14. © SAKURA internet Inc. 本日のサマリ SONiCを用いたGPU基盤構築により得られた知見の共有 1 はじめに さくらインターネットとは なぜさくらがSONiCを?

    全体の構成 Clos topologyの採用 どのような機能が必要か 実装の中で見えた課題 検証の工夫 不足している機能の扱い まとめ 実際どうだったのか? 2 3 4
  15. © SAKURA internet Inc. 実装の中で見えた課題 機種選定 Textfile collectorによる監視強化 2024/12 S-in

    2025/4/1 OS vUP 自動化ツールの刷新 立ち上げPhase 運用Phase 設計・検証 構築 新OS検証 自動化ツール開発 2024/8 PJ立ち上げ 限られた検証環境 仮想化を用いた検証 管理対象の増加 SFP・ケーブルの 部品管理コスト 負荷再現の難しさ 高価なテスター 求められるノウハウ 冪等性の実現 Ansibleによる実装 運用コマンドの不足 Pythonを用いた拡張 開発プロセスの複雑性 Bug trackの難易度 監視の高精度化 Prometheusにて実装 実装を進めていく中で、多数の課題を解決した 17
  16. © SAKURA internet Inc. 限られた検証環境 参考: SONiC VS 仮想スイッチを使ってみよう [Community/Edgecore]

    - Qiita 特性別に先行検証 特性別に検証項目を洗い出し GPUにfocusした検証 Trident3 SONiCのお作法 各種Operation 基本config EVPN/VXLAN ONIE/ZTP 自動化ツール開発 監視設計 Tomahawk5 DLB ECN/PFC 800G transceiver関連 機種差分 自動化ツール試験 10日間集中検証!! Tomahawk5 MMU/buffer tuning 性能検証 メーカーの全面協力 検証環境がない問題を課題を解決するため、Disaggregationなホワイトボックスの特性を活かして高速に検証サイクルを回した ホワイトボックスの特性を活かした、高速な検証サイクルの確立 18
  17. © SAKURA internet Inc. 運用コマンドの拡充 admin@gspine-008:~$ show lldp table Capability

    codes: ® Router, (B) Bridge, (O) Other LocalPort RemoteDevice RemotePortID Capability RemotePortDescr ----------- ----------------- -------------- ------------ --------------------- Ethernet0 ds-ose3-gleaf-201 Eth24(Port24) BR To_ds-ose3-gspine-008 Ethernet8 ds-ose3-gleaf-202 Eth24(Port24) BR To_ds-ose3-gspine-008 Ethernet16 ds-ose3-gleaf-203 Eth24(Port24) BR To_ds-ose3-gspine-008 Ethernet24 ds-ose3-gleaf-204 Eth24(Port24) BR To_ds-ose3-gspine-008 隣接機器の確認 admin@gspine-008:~$ sakura-neighbor LocalIF Port Remote hostname RemoteIF Port BGP state BFD state ---------------------------------------------------------------------------------------------------- Ethernet0 Port1 ds-ose3-gleaf-201 Ethernet184 Port24 Established Up Ethernet8 Port2 ds-ose3-gleaf-202 Ethernet184 Port24 Established Up Ethernet16 Port3 ds-ose3-gleaf-203 Ethernet184 Port24 Established Up Ethernet24 Port4 ds-ose3-gleaf-204 Ethernet184 Port24 Established Up LLDP/BGPの情報を整理 admin@gspine-001:~$ sudo diff startup-config.log running-config.log (Sort違いにより大量の差分) configの差分確認 Port? Interface?=混乱 Descriptionは要らない 本当の差分はどこにある? 未成熟機能はLinux/Pythonを用いて自社スクリプト開発 SONiCの設定を横串で差分比較 19 admin@gspine-008:~$ sakura-config-compare SUCCESS SONiC Running Configuration の取得が完了しました。 SUCCESS SONiC Startup Configuration の読み込みが完了しました。 ALERT SONiC Config に差分が検出されました! --- SONiC Config Running Config +++ SONiC Config Startup Config @@ -3860,7 +3860,6 @@ "FLEX_COUNTER_STATUS": "enable" }, "WRED_ECN_QUEUE": { - "FLEX_COUNTER_DELAY_STATUS": "false", "FLEX_COUNTER_STATUS": "enable" } }, SUCCESS FRR Config に差分はありません。
  18. © SAKURA internet Inc. 監視の高精度化 将来的にはTelemetryによる高精度化も検討 従来の監視 Polling SNMP manager

    Switch Trap (interval 1m) Prometheusによる監視基盤 Systemd Python script HTTP Request node exporter ・HW metrics ・Textfile collector sonic exporter show command ・ECN/PFC/CNP ・RIB/FIB ・BGP neighbor Exporters (interval 15sec) RoCE metrics NOT supported… Prometheusを元にして内製で実装 20 sonic exporter: GitHub - vinted/sonic-exporter
  19. © SAKURA internet Inc. 冪等性の実現 新規OS導入を機に、冪等性を担保した自動化ツール導入 設定反映 通信断 設定を置き換え (config

    replace) 新規コンフィグ Shell script (config command) 冪等性0 投入コマンド Before After 設定反映 jsondiff Dry run (apply patch, frr-reload) Apply (apply patch, frr-reload) 新規コンフィグ { “add” : “value” : } 差分ファイル生成 構文チェック 設定の適用 show run 参考: SONiCのconfig apply-patchを試してみた | APRESIA Technical Blog Container再生成 21
  20. © SAKURA internet Inc. 構成管理の実現(OS依存の課題) 自動化観点では改善の余地もあるため、今後の改善に期待 Apply patch時、構文チェックを緩和しないと動かない ・SNMP_MANAGEMENT_ADDRESS ・RDMA設定全般

    → YANG未定義が起因 緩和しても下記問題が起きる ・RDMA設定を新規追加すると、正常に適用されない(CPU100%) ・新規追加時だけのため、初回はreplace&reboot、 運用中に新規設定をしないことで回避 HW依存が多く、ユーザー側で管理する変数が膨大 ・MACアドレス ・Interface設定(IF,Port, Parent Port, Lane) Configの抽象度の低さ YANGスキーマが未整備 mgmt_mac: 7c:8d:9c:da:97:6a - name: "Ethernet0" lanes: "25,26,27,28" alias: "Eth1/1(Port1)" index: 1 subport: 1 parent_port: "Ethernet0" …全96ポート分… - name: "Ethernet432" lanes: "361,362,363,364,365,366,367,368" alias: "Eth55(Port55)" index: 55 メーカーSONiC特有の事象 22
  21. © SAKURA internet Inc. 開発プロセスの複雑性 コミュニティSONiCをメーカー拡張する性質を鑑みると、一貫したBug trackが難しいと感じる。 この是非は業界全体でどのように取り組むのか議論をしたい。 community vendor

    Case2. 拡張時の不具合 Case1. Communityのbugを継承 この話はフィクションです (Fix前に) Release ✓ Case3. Fixの時間差 SONiC独特の品質保証の難しさ コミュニティSONiCをメーカー拡張する性質を鑑みると、 一貫したBug trackが難しいため、業界全体でどのように取り組むのか議論をしたい。 23
  22. © SAKURA internet Inc. 本日のサマリ SONiCを用いたGPU基盤構築により得られた知見の共有 1 はじめに さくらインターネットとは なぜさくらがSONiCを?

    全体の構成 Clos topologyの採用 どのような機能が必要か 実装の中で見えた課題 検証の工夫 不足している機能の扱い まとめ 実際どうだったのか? 2 3 4
  23. © SAKURA internet Inc. SONiCを入れてみて、結局どうだった? SONiCによるGPU基盤のService INを達成 Good Point ・迅速な立ち上げの達成

    ・サーバー基盤のアセットを用いた開発 (Ansible/Prometheus/Python) ・GitHubとviが最高の教材 Bad Point ・一定以上のリテラシが求められる ・Hardwareを意識するシーンが多い(開発コスト高) ・自動化が必須(≠自動化しないと使えない) ・未成熟な機能の存在 さくらインターネットらしい スピード感を持った内製開発を実現 SONiC=オープンソース ▼ 利用者一人一人が品質を作り上げていく 今後も幅広く新しい技術を開拓、世の中への貢献につなげたい 25