Soumettre la recherche
Mettre en ligne
KubernetesでGPUクラスタを管理したい
•
Télécharger en tant que PPTX, PDF
•
5 j'aime
•
9,064 vues
Yuji Oshima
Suivre
DockerTokyo #20で発表した内容です。 https://dockerjp.connpass.com/event/73122/
Lire moins
Lire la suite
Technologie
Signaler
Partager
Signaler
Partager
1 sur 28
Télécharger maintenant
Recommandé
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
Preferred Networks
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
Preferred Networks
分散システムについて語らせてくれ
分散システムについて語らせてくれ
Kumazaki Hiroki
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
Preferred Networks
MLOps入門
MLOps入門
Hiro Mura
DockerコンテナでGitを使う
DockerコンテナでGitを使う
Kazuhiro Suga
Topology Managerについて / Kubernetes Meetup Tokyo 50
Topology Managerについて / Kubernetes Meetup Tokyo 50
Preferred Networks
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
Preferred Networks
Recommandé
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
Preferred Networks
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
Preferred Networks
分散システムについて語らせてくれ
分散システムについて語らせてくれ
Kumazaki Hiroki
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
Preferred Networks
MLOps入門
MLOps入門
Hiro Mura
DockerコンテナでGitを使う
DockerコンテナでGitを使う
Kazuhiro Suga
Topology Managerについて / Kubernetes Meetup Tokyo 50
Topology Managerについて / Kubernetes Meetup Tokyo 50
Preferred Networks
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
Preferred Networks
実践!OpenTelemetry と OSS を使った Observability 基盤の構築(CloudNative Days Tokyo 2022 発...
実践!OpenTelemetry と OSS を使った Observability 基盤の構築(CloudNative Days Tokyo 2022 発...
NTT DATA Technology & Innovation
Docker Compose 徹底解説
Docker Compose 徹底解説
Masahito Zembutsu
5分で出来る!イケてるconfluenceページ
5分で出来る!イケてるconfluenceページ
CLARA ONLINE, Inc.
Docker管理もHinemosで! ~監視・ジョブ機能を併せ持つ唯一のOSS「Hinemos」のご紹介~
Docker管理もHinemosで! ~監視・ジョブ機能を併せ持つ唯一のOSS「Hinemos」のご紹介~
Hinemos
Slurmのジョブスケジューリングと実装
Slurmのジョブスケジューリングと実装
Ryuichi Sakamoto
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
NTT DATA Technology & Innovation
eBPFを用いたトレーシングについて
eBPFを用いたトレーシングについて
さくらインターネット株式会社
BuildKitの概要と最近の機能
BuildKitの概要と最近の機能
Kohei Tokunaga
データベース屋がHyperledger Fabricを検証してみた
データベース屋がHyperledger Fabricを検証してみた
Hyperleger Tokyo Meetup
Marp Tutorial
Marp Tutorial
Rui Watanabe
目grep入門 +解説
目grep入門 +解説
murachue
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
Takafumi ONAKA
Oss貢献超入門
Oss貢献超入門
Michihito Shigemura
分散学習のあれこれ~データパラレルからモデルパラレルまで~
分散学習のあれこれ~データパラレルからモデルパラレルまで~
Hideki Tsunashima
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
Atsushi Nakamura
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
Koichiro Matsuoka
なぜコンピュータを学ばなければならないのか 21世紀の君主論
なぜコンピュータを学ばなければならないのか 21世紀の君主論
Tokoroten Nakayama
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
Yahoo!デベロッパーネットワーク
ゲームエンジニアのためのデータベース設計
ゲームエンジニアのためのデータベース設計
sairoutine
大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌
LINE Corporation
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
ManaMurakami1
EnrootとPyxisで快適コンテナ生活
EnrootとPyxisで快適コンテナ生活
Kuninobu SaSaki
Contenu connexe
Tendances
実践!OpenTelemetry と OSS を使った Observability 基盤の構築(CloudNative Days Tokyo 2022 発...
実践!OpenTelemetry と OSS を使った Observability 基盤の構築(CloudNative Days Tokyo 2022 発...
NTT DATA Technology & Innovation
Docker Compose 徹底解説
Docker Compose 徹底解説
Masahito Zembutsu
5分で出来る!イケてるconfluenceページ
5分で出来る!イケてるconfluenceページ
CLARA ONLINE, Inc.
Docker管理もHinemosで! ~監視・ジョブ機能を併せ持つ唯一のOSS「Hinemos」のご紹介~
Docker管理もHinemosで! ~監視・ジョブ機能を併せ持つ唯一のOSS「Hinemos」のご紹介~
Hinemos
Slurmのジョブスケジューリングと実装
Slurmのジョブスケジューリングと実装
Ryuichi Sakamoto
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
NTT DATA Technology & Innovation
eBPFを用いたトレーシングについて
eBPFを用いたトレーシングについて
さくらインターネット株式会社
BuildKitの概要と最近の機能
BuildKitの概要と最近の機能
Kohei Tokunaga
データベース屋がHyperledger Fabricを検証してみた
データベース屋がHyperledger Fabricを検証してみた
Hyperleger Tokyo Meetup
Marp Tutorial
Marp Tutorial
Rui Watanabe
目grep入門 +解説
目grep入門 +解説
murachue
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
Takafumi ONAKA
Oss貢献超入門
Oss貢献超入門
Michihito Shigemura
分散学習のあれこれ~データパラレルからモデルパラレルまで~
分散学習のあれこれ~データパラレルからモデルパラレルまで~
Hideki Tsunashima
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
Atsushi Nakamura
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
Koichiro Matsuoka
なぜコンピュータを学ばなければならないのか 21世紀の君主論
なぜコンピュータを学ばなければならないのか 21世紀の君主論
Tokoroten Nakayama
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
Yahoo!デベロッパーネットワーク
ゲームエンジニアのためのデータベース設計
ゲームエンジニアのためのデータベース設計
sairoutine
大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌
LINE Corporation
Tendances
(20)
実践!OpenTelemetry と OSS を使った Observability 基盤の構築(CloudNative Days Tokyo 2022 発...
実践!OpenTelemetry と OSS を使った Observability 基盤の構築(CloudNative Days Tokyo 2022 発...
Docker Compose 徹底解説
Docker Compose 徹底解説
5分で出来る!イケてるconfluenceページ
5分で出来る!イケてるconfluenceページ
Docker管理もHinemosで! ~監視・ジョブ機能を併せ持つ唯一のOSS「Hinemos」のご紹介~
Docker管理もHinemosで! ~監視・ジョブ機能を併せ持つ唯一のOSS「Hinemos」のご紹介~
Slurmのジョブスケジューリングと実装
Slurmのジョブスケジューリングと実装
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
eBPFを用いたトレーシングについて
eBPFを用いたトレーシングについて
BuildKitの概要と最近の機能
BuildKitの概要と最近の機能
データベース屋がHyperledger Fabricを検証してみた
データベース屋がHyperledger Fabricを検証してみた
Marp Tutorial
Marp Tutorial
目grep入門 +解説
目grep入門 +解説
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
Oss貢献超入門
Oss貢献超入門
分散学習のあれこれ~データパラレルからモデルパラレルまで~
分散学習のあれこれ~データパラレルからモデルパラレルまで~
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
なぜコンピュータを学ばなければならないのか 21世紀の君主論
なぜコンピュータを学ばなければならないのか 21世紀の君主論
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
ゲームエンジニアのためのデータベース設計
ゲームエンジニアのためのデータベース設計
大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌
Similaire à KubernetesでGPUクラスタを管理したい
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
ManaMurakami1
EnrootとPyxisで快適コンテナ生活
EnrootとPyxisで快適コンテナ生活
Kuninobu SaSaki
ディープラーニングイメージで構築する快適・高速な機械学習環境
ディープラーニングイメージで構築する快適・高速な機械学習環境
Yaboo Oyabu
20191120 beyondstudy#21 kitaoka
20191120 beyondstudy#21 kitaoka
beyond Co., Ltd.
2016 06-30-deep-learning-archi
2016 06-30-deep-learning-archi
Daisuke Nagao
kube-system落としてみました
kube-system落としてみました
Shuntaro Saiba
パタヘネゼミ 第6章
パタヘネゼミ 第6章
okuraofvegetable
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正前 typoあり)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正前 typoあり)」
ManaMurakami1
20180729 Preferred Networksの機械学習クラスタを支える技術
20180729 Preferred Networksの機械学習クラスタを支える技術
Preferred Networks
20221105_GCPUG 女子会 Kubernets 編.pdf
20221105_GCPUG 女子会 Kubernets 編.pdf
Google Cloud Platform - Japan
Watsonをささえる ハイパフォーマンスクラウドで はじめるDeep Learning
Watsonをささえる ハイパフォーマンスクラウドで はじめるDeep Learning
Atsumori Sasaki
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月
VirtualTech Japan Inc.
20130126 sc12-reading
20130126 sc12-reading
Toshiya Komoda
Kuberneteの運用を支えるGitOps
Kuberneteの運用を支えるGitOps
shunki fujiwara
俺とKubernetes
俺とKubernetes
Masayuki KaToH
ぼうけんにでかけよう Kubernetes KEDA
ぼうけんにでかけよう Kubernetes KEDA
Tsukasa Kato
Autopilot google kubernetes engineでargo workflowsを動かす
Autopilot google kubernetes engineでargo workflowsを動かす
shouta yoshikai
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
Google Cloud Platform - Japan
私たちがGCPを使い始めた本当の理由
私たちがGCPを使い始めた本当の理由
gree_tech
KubeFlow MeetUp #1 Katibよもやま話
KubeFlow MeetUp #1 Katibよもやま話
Yuji Oshima
Similaire à KubernetesでGPUクラスタを管理したい
(20)
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
EnrootとPyxisで快適コンテナ生活
EnrootとPyxisで快適コンテナ生活
ディープラーニングイメージで構築する快適・高速な機械学習環境
ディープラーニングイメージで構築する快適・高速な機械学習環境
20191120 beyondstudy#21 kitaoka
20191120 beyondstudy#21 kitaoka
2016 06-30-deep-learning-archi
2016 06-30-deep-learning-archi
kube-system落としてみました
kube-system落としてみました
パタヘネゼミ 第6章
パタヘネゼミ 第6章
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正前 typoあり)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正前 typoあり)」
20180729 Preferred Networksの機械学習クラスタを支える技術
20180729 Preferred Networksの機械学習クラスタを支える技術
20221105_GCPUG 女子会 Kubernets 編.pdf
20221105_GCPUG 女子会 Kubernets 編.pdf
Watsonをささえる ハイパフォーマンスクラウドで はじめるDeep Learning
Watsonをささえる ハイパフォーマンスクラウドで はじめるDeep Learning
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月
20130126 sc12-reading
20130126 sc12-reading
Kuberneteの運用を支えるGitOps
Kuberneteの運用を支えるGitOps
俺とKubernetes
俺とKubernetes
ぼうけんにでかけよう Kubernetes KEDA
ぼうけんにでかけよう Kubernetes KEDA
Autopilot google kubernetes engineでargo workflowsを動かす
Autopilot google kubernetes engineでargo workflowsを動かす
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
私たちがGCPを使い始めた本当の理由
私たちがGCPを使い始めた本当の理由
KubeFlow MeetUp #1 Katibよもやま話
KubeFlow MeetUp #1 Katibよもやま話
Plus de Yuji Oshima
MLCT#12 使われる機能目指して 測ったり試したり
MLCT#12 使われる機能目指して 測ったり試したり
Yuji Oshima
KubeFlowでどこまでいける?
KubeFlowでどこまでいける?
Yuji Oshima
2018 07-23
2018 07-23
Yuji Oshima
2018 07-19dist
2018 07-19dist
Yuji Oshima
Katib
Katib
Yuji Oshima
Infrakitの話とk8s+GPUの話
Infrakitの話とk8s+GPUの話
Yuji Oshima
Infrakit Docker_Tokyo_meetup
Infrakit Docker_Tokyo_meetup
Yuji Oshima
Docker1.12イングレスロードバランサ
Docker1.12イングレスロードバランサ
Yuji Oshima
runC概要と使い方
runC概要と使い方
Yuji Oshima
近頃のDockerネットワーク
近頃のDockerネットワーク
Yuji Oshima
Plus de Yuji Oshima
(10)
MLCT#12 使われる機能目指して 測ったり試したり
MLCT#12 使われる機能目指して 測ったり試したり
KubeFlowでどこまでいける?
KubeFlowでどこまでいける?
2018 07-23
2018 07-23
2018 07-19dist
2018 07-19dist
Katib
Katib
Infrakitの話とk8s+GPUの話
Infrakitの話とk8s+GPUの話
Infrakit Docker_Tokyo_meetup
Infrakit Docker_Tokyo_meetup
Docker1.12イングレスロードバランサ
Docker1.12イングレスロードバランサ
runC概要と使い方
runC概要と使い方
近頃のDockerネットワーク
近頃のDockerネットワーク
Dernier
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
Dernier
(10)
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
KubernetesでGPUクラスタを管理したい
1.
kubernetesでGPUクラスタ 管理したい NTT ソフトウェアイノベーションセンタ 大嶋悠司
2.
モチベーション • 機械学習 • 分散学習タスクの場合にいちいちノードにログインしたくない •
複数のタスクを並列で走らせたい • コンテナ単位で管理できればデプロイも楽
3.
なぜkubernetesなのか • コンテナオーケストレータの覇者であることがほぼ確定 • スケジューラなどが拡張しやすい •
アルファ版だがGPUサポートが有る • コミュニティとしても盛り上がってるところ • https://github.com/google/kubeflow • https://github.com/tensorflow/k8s
4.
GPUマネージメントのドキュメント 読めばなんなくわかる
5.
kubernetesでGPU管理の構成 Node GPU DLフレームワーク Nvidiaライブラリ Nvidiaドライバ
6.
spec: template: metadata: labels: app: mxd-worker1 spec: volumes: - name:
nvidialib hostPath: path: /usr/lib/nvidia-375 containers: - name: mxd-worker1 image: mxnet/python:gpu volumeMounts: - mountPath: /usr/local/nvidia name: nvidialib readOnly: true resources: requests: alpha.kubernetes.io/nvidia-gpu: 4 limits: alpha.kubernetes.io/nvidia-gpu: 4 これで大丈夫 ドキュメントにもそう書いてある
7.
8.
Nvidia-dockerなら動いたのに・・・
9.
(旧) Nvidia-dockerはどうやってるいたか 謎の力で必要なライブラリを /var/lib/nvidia-docker/volumes/nvidia_driver/{バージョン} に集めてくれる で、それをマウントしてる
10.
解決策 kubernetesクラスタ構築前にnv-dockerをインストールしてライブ ラリだけ集めた後 /var/lib/nvidia-docker/volumes/nvidia_driver/{バージョン} をマウント 結果:動いた! 不満点1:マウントパスに各ノードのcudaのバージョンが必要 不満点2:nvidia-docker1.0はプロジェクトが終了してる
11.
もっとかっこよくなりませんか…? 手段 1. kubernetes +
docker + nvidia-docker2 2. kubernetes + cri-containerd + nvidia-container-runtime 3. ??? 目標 1. コミュニティでちゃんとサポートされそうなこと 2. k8sのマニフェストにノード固有の設定が不要なこと
12.
nvida-docker2, nvidia-container-runtime • nvidiaが最近始めたプロジェクト •
OCIランタイムスペックに準拠したGPUを利用するためのコンテ ナランタイム • ホスト側のCUDAのバージョンを自動的に認識してなんとかして くれる • 最新版のdockerにも対応してる • 特徴として環境変数でGPU数や、GPUアーキテクチャの指定な どを細かく指定できる
13.
docker, containerd, runcおさらい dockerd containerd runc shim runc shim runc shim OCI
ランタイムスペック
14.
nvidia-docker2のやること dockerd containerd runc shim runc shim nvidia runtime shim OCI ランタイムスペック
15.
nv-docker, nv-runtime, k8sの関係 k8sはdocker,
cri-containerdに対して deviceオプションでGPUデバイスを、-vでライブラリを入れる デバイスオプション このpodにはGPU 2つ ライブラリのマウントはユーザの責任 2 GPUマウントするよー
16.
nv-docker, nv-runtime, k8sの関係 旧nv-dockerも一緒 デバイスオプション このコンテナにはGPU
2つ ライブラリのマウントも自動 2 GPUマウントするよー
17.
nv-docker, nv-runtime, k8sの関係 nvidia-docker2,
nv-runtimeは違う 環境変数でGPU数指定 NVIDIA_VISIBLE_DEVICES=0,1 このコンテナにはGPU 2つ 2GPUマウントしよう デバイス・ライブラリのマウント
18.
方法1:k8s + docker
+ nvidia-docker2 Node GPU nv-runtime 素直な構成、安心と信頼の?docker
19.
構築手順 • ワーカにnvidiaドライバインストール • 各ノードにdockerインストール •
ワーカにnvidia-docker2インストール • ワーカでdefault runtimeの設定変更 • kubeadmなどでkubernetesクラスタ構築
20.
各ワーカでの設定 { "default-runtime": ”nvidia", "runtimes": { ”nvidia":
{ "path": "nvidia-container-runtime" }, } } /etc/docker/daemon.json
21.
k8s + cri-containerd
+ nv-runtime Node GPU CRI-containerd nv-runtime alpha版の組み合わせでちょっと怖い でも将来的にはこっちが主流かも?
22.
構築手順 • ワーカにnvidiaドライバインストール • https://github.com/kubernetes-incubator/cri-containerd
を参考に cri-containerd等を各ノードにインストール • ワーカにnvidia-container-runtimeをインストール • ワーカにcontainerdのruntimeを設定 • kubeadmなどでkubernetesクラスタ構築
23.
各ワーカでの設定 [cgroup] path = "runtime” [plugins.linux] runtime
= "/usr/bin/nvidia-container-runtime" /etc/containerd/config.tml
24.
nv-docker2, nv-runtime, k8sの組み合わせに よる問題 このpodにはGPUはない 環境変数でGPU数指定 NVIDIA_VISIBLE_DEVICES=0,1 デバイス・ライブラリのマウント このコンテナにはGPU
2つ 2GPUマウントしよう 誰が GPUを管理するか複雑になる
25.
kubernetesにGPUを管理させる • nvidia-docker2/nvidia-container-runtimeでは NVIDIA_VISIBLE_DEVICESをnoneとすればライブラリのマウントだ け行う • NVIDIA_VISIBLE_DEVICES=noneにしておきながらkubernetes側で resourceを記述する 結果: docker
+ nvidia-docker2 なら目標を満たせた cri-conainerd + nvidia-container-runtimeだとなぜかずっとpending
26.
kubernetesにGPUを管理させる • nvidia-docker2/nvidia-container-runtimeでは NVIDIA_VISIBLE_DEVICESをnoneとすればライブラリのマウントだ け行う • NVIDIA_VISIBLE_DEVICES=noneにしておきながらkubernetes側で resourceを記述する 結果: docker
+ nvidia-docker2 なら目標を満たせた cri-conainerd + nvidia-container-runtimeだとなぜかずっとpending が、これはかっこいい方法なんだろうか
27.
結論 • 現状では怪しいワークアラウンドが必要になる • nvidia-docker2を使うのも選択肢としてはありかも •
もしくは力技で関連ライブラリを共通のパスにコピーする方法 もある • kubeletは/devの上から指定するだけだが、nvidia-docker2では GPUのUUIDやアーキテクチャを指定とかいろいろ機能があるが まだkubernetesと上手く連携できない • このあたりのインタフェースの整理はこれからだと思われる
28.
ちなみに‥GKEじゃだめですか? • GKEはalphaとしてGPUインスタンスも扱える • cudaドライバのインストール等をk8sのデーモンセットでできる gcloud
alpha container clusters create gpu-cluster --accelerator type=nvidia-tesla-k80,count=1 --zone=asia-east1-a --enable-kubernetes-alpha $ kubectl apply -f daemonset.yaml https://github.com/ContainerEngine/accelerators
Télécharger maintenant