Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
PFN の機械学習向け Kubernetes クラスタ におけるノード障害の運用自動化・省力化
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Preferred Networks
PRO
November 06, 2023
Technology
1.1k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
PFN の機械学習向け Kubernetes クラスタ におけるノード障害の運用自動化・省力化
Preferred Networks
PRO
November 06, 2023
More Decks by Preferred Networks
See All by Preferred Networks
MN-Core™ について語りたい - 第59回 情報科学若手の会
pfn
PRO
1
730
User Namespaces in Production: Enabling Root in Containers with RWX
pfn
PRO
0
110
世界最先端の研究を製品へ~PFNでのプロダクトマネジメントの難しさとその醍醐味~
pfn
PRO
0
66
PLaMo 3.0 Primeの事後学習
pfn
PRO
0
410
PLaMo 3.0 Primeの構造化出力サポート
pfn
PRO
0
280
plamo-3-translateの開発
pfn
PRO
0
460
PLaMoを毎日の開発で使い育てていく
pfn
PRO
0
280
The Making of AI Chips
pfn
PRO
1
1.3k
国産生成AI PLaMoを支える事後学習と推論最適化
pfn
PRO
13
5.9k
Other Decks in Technology
See All in Technology
[2026-09-30]ロックンロールは鳴り止まないっ - 信頼性かまってちゃん - 「データ駆動を投げ捨ててまで。」追いかける信頼性改善に向けた取り組みの話
tosite
0
190
検証フェーズはAIの回答を判断するための学習機会
toru_kubota
2
470
自律型 AI をセキュアに実装!Gemini と MIG で作る動的コード実行環境
recruitengineers
PRO
1
160
Apache Iceberg が拓く AI 時代のオープンレイクハウス
tomtanaka
0
210
Google Cloud Next Tokyo 26登壇時のスクリプト
recruitengineers
PRO
0
150
AIアプリを使い分けるための共通ツール基盤を考えてみる#devio2026
osawa
0
170
カンファレンスに参加した後の浮遊感とセルフケア
pauli
0
310
KanaAI
shreyas1009
0
140
Codex概要
ymiya55
0
270
[2026 Oracle Technical Deep Dive] OCI AI Resilience -OCIのセキュリティ対策機能をきちんと使いこなす- (2026年9月17日開催)
oracle4engineer
PRO
0
100
スキルを作る、その前に!複数人で使われるスキルを 作るためのプロセス
junkifurukawa
2
190
全社共通データ基盤をつくる。ソニーのDatabricks活用とデータガバナンス設計の裏側
sony
0
340
Featured
See All Featured
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
900
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.7k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
760
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
290
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
300
Thoughts on Productivity
jonyablonski
76
5.4k
Context Engineering - Making Every Token Count
addyosmani
9
1.2k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
260
How to Talk to Developers About Accessibility
jct
2
560
Transcript
PFN の機械学習向け Kubernetes クラスタ におけるノード障害の運用自動化・省力化 Private Cloud Meetup #5 (2023/11/2)
Sho Shimizu, Preferred Networks, Inc. @oshothebig
2 自己紹介 : 清水 翔 (Sho Shimizu / @oshothebig) •
2010 ~ 2019 株式会社富士通研究所 ◦ Software Defined Networking (SDN) • 2019 ~ 現在 株式会社Preferred Networks ◦ Cluster Servicesチーム • オンプレのKubernetesクラスタの開発 & 運用 ◦ コンテナネットワーキング ▪ 内製CNI pluginの開発 ▪ CNI pluginの構成変更
3 • PFNのクラスタ構成 • クラスタで発生するノード障害 • ノード障害への対応方法 Agenda
4 3つのオンプレミス計算機クラスタ 2022~ MN-2a MN-3 MN-2b 2020~ 2019~
5 各クラスタの構成 36 cores 384 GB V100 x 8 100
GbE x 4 128 nodes MN-2a 48 cores 384 GB MN-Core x 4 100 GbE x 4 48 nodes MN-3 128 cores 1,024 GB A100 x 4 100 GbE x 2 42 nodes MN-2b 80 cores 512 GB A30 x 6 100 GbE x 2 42 nodes Icons by https://icons8.com ユーザからは単一のKubernetesクラスタとして利用可能 合計 260 nodes, 1,444 GPU + 192 MN-Core
6 クラスタは常にどこかが壊れている 分散システムは、完全な意味で「アップ(up)」になることはない。* • 障害の発生しうる要素 ◦ ハードウェア ▪ CPU, GPU,
Memory, Disk, Network (NIC, Cable, ...), FAN, 電源,… ◦ ソフトウェア ▪ OS, ドライバ, システムプロセス (k8s 含む), Pod (ユーザーのワー クロード) , … • 各要素で障害となりうる故障・不具合の種類も複数存在 • クラスタの規模に比例して、どこかが壊れているのが定常的な状態 * Ops: It's everyone's job now | Opensource.com
様々なノード障害
GPUの障害 • GPUメモリのエラー ◦ Single/Double Bit ECC Error → Page
retirement • 認識しない ◦ Kubernetesのリソースとして ◦ PCIeデバイスとして • 認識はしているがビジー状態で利用不可 ◦ ワークロードを実行するまで分からない
ネットワークの障害 • リンクダウン/フラップ • インターフェイスを認識しない • ソフトウェア要因 ◦ ドライバ •
ハードウェア要因 ◦ AOC (Active Optical Cable) ◦ 光トランシーバ ◦ NIC ◦ PCI Express
その他の障害 • Terminatingのまま削除できないpod ◦ プロセスがD state (Uninterruptible sleep) のまま返ってこない ◦
リソースが解放されたと見なされず無駄が生じる ◦ SIGKILLが効かずノードを再起動するしかない • PCI Expressのリンク速度の低下 ◦ ノードの再起動が必要
運用自動化・省力化の取り組み
12 監視と自動修復 Servers icon by https://icons8.com 自己診断 修復処理 監視 Issue
作成 通知 調査・修復処理 監視 システム node-operation-controller alertmanager-to-github
Node Conditionを活用したノード障害検知 • Node Condition ◦ ノードの状態を表すKubernetes上の概念 ◦ デフォルトのタイプに加えて、独自のタイプを定義可能 →
既知のノード障害に対して独自のNode Conditionを定義 • 独自のNode Conditionの例 ◦ GPUIsLost ◦ GPUPendingPage ◦ DStateProcess ◦ PCIeLinkDegraded
障害検知 → Node Conditionの設定方法 • Node Problem Detector (OSS) https://github.com/kubernetes/node-problem-detector
◦ 問題を見つけるとNode Conditionを設定出来る ◦ カスタムプラグインを自社開発 • kube-nvidia-active-monitor (自社開発) ◦ ワークロードを実行してはじめて分かるGPUの問題を検知 ◦ GPUを使う簡単なワークロードを定期実行 ◦ 問題を見つけると GPURuntimeError を設定
自動復旧: node-operation-controller https://github.com/pfnet-research/node-operation-controller • 設定されたNode Conditionに対して任意のオペレーションを実行する Kubernetesコントローラ • 復旧処理が既知である場合の自動復旧を担当 •
復旧処理 ◦ ノードの再起動 ◦ NFSの再マウント
16 監視と自動修復 Servers icon by https://icons8.com 自己診断 修復処理 監視 Issue
作成 通知 調査・修復処理 監視 システム node-operation-controller alertmanager-to-github
マニュアル対応: alertmanager-to-github https://github.com/pfnet-research/alertmanager-to-github • Alertmanager からの Webhook を受け取って GitHub イシューを作成
◦ 新しいアラートから GitHub イシューを作成 ◦ アラートが resolved ステータスになるとイシューをクローズ ◦ アラートが再度 firing ステータスになるとイシューをリオープン • Node Condition も Prometheus でメトリクスとして収集 ◦ アラートとして一元化して扱うことができる • GitHub イシューの assignee は自動で設定 • GitHub イシューには過去の対応履歴が残る → 将来の自動化の参考
まとめ • 機械学習向けクラスタでは多数のアクセラレータがあり、様々な要因 でノード障害が発生する • 運用負荷の削減 ◦ 自動復旧 ◦ チケットの自動起票
• OSSの利用と内製ツールの開発の両輪
19 • Preferred Networksの計算基盤関連チームでは採用を実施中です! ◦ 機械学習プラットフォームエンジニア (クラスタのサービス化) ◦ ストレージエンジニア (ストレージの企画設計管理運用)
◦ 大規模計算基盤エンジニア/リサーチャー (クラスタの物理設計、ファシリティ管理) • カジュアル面談もやってます → We're Hiring !!