SlideShare une entreprise Scribd logo
1  sur  28
Télécharger pour lire hors ligne
Kuninobu Sasaki, Data Center Solution Architect, NVIDIA, 1/22/2020
Enroot と Pyxis で
快適コンテナ生活
Slurm User Group Meetup Tokyo #1
2
Follow us on Twitter: @NVIDIAAIJPSlurm User Group Meetup Tokyo #SUGMT
アジェンダ
1.NVIDIA と HPC, DL, コンテナ
2. 新しいコンテナランタイム
3. そのための SLURM プラグイン
NVIDIA DGX SUPERPOD
NVIDIA 社内の大規模クラスター
DGX-2 で構成されたスーパーコンピューター
• HPL で 9.4 PF | Top500 リストの 20 位 (19/11)
https://www.top500.org/system/179691
• ~200 AI PF | ResNet-50 のトレーニングを 2 分未満で
モジュール化され拡張の容易なアーキテクチャー
• 3 週間で構築
• 計算、通信、ストレージ、ソフトウェアを最適化
統合されたソフトウェアスタック
• NGC から無料で入手可能
• 96 DGX-2H
• 10 Mellanox EDR IB per node
• 1,536 V100 Tensor Core GPUs
• 1 megawatt of power
自動運転 | 音声認識/合成 | ヘルスケア | グラフィックス | HPC
4
Follow us on Twitter: @NVIDIAAIJPSlurm User Group Meetup Tokyo #SUGMT
課題: 計算リソースの稼働率
リソースを如何に効率的に管理するか
クラスター化された計算ノード
• 計算機リソース割り当ての自動化
• リソース稼働率の向上
• 高いスケーリビリティを確保
• メンテナンスも効率的
DGX DGX DGX
DGX DGX DGX
DGX DGX DGX
Cluster API
DGX
DGX
DGX
DGX DGX
DGX
DGX DGX
DGX
ばらばらのコンピューター
• 利用者側で割り当て調整が必要
• リソースの負荷が不均一で非効率
• スケーラビリティの欠如
• メンテナンス負荷の増大
???
クラスター
5
Follow us on Twitter: @NVIDIAAIJPSlurm User Group Meetup Tokyo #SUGMT
DeepOps
• エヌビディアのベストプラクティスがベース
• 高度なモジュール化 各コンポーネントは既存
のシステムと柔軟な組み合わせが可能
• オープンソース 自由に入手可能。 DevOps
に関する知識があればカスタマイズも可能
• GitHub:
https://github.com/NVIDIA/deepops
クラスターのデプロイと管理を効率化
• 計算ノードに最新の OS をインストール
(PXE ブートによるネットワークインストール)
• ファームウェア、ドライバ等のソフトウェアを管理
• ジョブスケジューラーをデプロイ
(Kubernetes と Slurm の両方に対応)
• ロギングと監視のサービスを提供
• その他にサービスを構築するスクリプトを提供
(Kubeflow, Dask, 等)
Note: DeepOps は DGX Systems に限らず、あらゆる
NVIDIA GPU 搭載プラットフォームで利用可能
6
Follow us on Twitter: @NVIDIAAIJPSlurm User Group Meetup Tokyo #SUGMT
プロビジョニングの自動化
● PXE Server for OS
installation across cluster
● Automated configuration
management
Docker レジストリ
● Deployment of internal
registry
● Automated mirroring of NGC
containers
監視
● DCGM
● Prometheus
● Grafana
パッケージ リポジトリ
● Deployment of internal Apt-
repository
● Mirror packages for air-
gapped environments
ロギング
● Filebeat
● Elasticsearch
● Kibana
ファームウェア管理
● Automated, cluster-wide
firmware management
ジョブスケジューリング
● Kubernetes
● Slurm
DeepOps の構成要素
7
Follow us on Twitter: @NVIDIAAIJPSlurm User Group Meetup Tokyo #SUGMT
DeepOps のアーキテクチャ
マルチノード GPU クラスターの構築
● 奇数台の管理ノード (GPU は不要)
○ ※ etcd を動かすために奇数台が要件
管理ノード(群)ログインノード (群)
ストレージ
管理用ネットワーク 1/10Gb Ethernet
100Gb EDR InfiniBand / RoCE
計算ノード (群)
Slurm ノードKubernetes ノード
データセンター
ネットワーク
● 最低 1 台のログインノード (GPU は不要)
● 管理用ネットワーク
● 例: 1/10 GbE
○ クラスタへの接続・システム管理用
● 演算用ネットワーク
● 例: ノンブロッキングの 100 Gbps EDR InfiniBand
Follow us on Twitter: @NVIDIAAIJPSlurm User Group Meetup Tokyo #SUGMT
8
SLURM と Kubernetes
あるいは “HPC” と “データサイエンス”
Follow us on Twitter: @NVIDIAAIJPSlurm User Group Meetup Tokyo #SUGMT
9
NGC のコンテナイメージ
We built libnvidia-container to make it easy to run
CUDA applications inside containers.
We release optimized container images for each of
the major DL frameworks every month, and
provide them for anyone to use.
We use containers for everything on our HPC
clusters - R&D, official benchmarks, etc.
Containers give us portable software stacks
without sacrificing performance.
10
Follow us on Twitter: @NVIDIAAIJPSlurm User Group Meetup Tokyo #SUGMT
GPU に最適化されたソフトウェア
NGC に 50 以上のコンテナイメージを用意
ディープラーニング 一般の機械学習アルゴリズム
HPC 可視化
推論
ゲノミクス
NAMD | GROMACS | more
RAPIDS | H2O | more TensorRT | DeepStream | more
Parabricks ParaView | IndeX | more
TensorFlow | PyTorch | more
11
Follow us on Twitter: @NVIDIAAIJPSlurm User Group Meetup Tokyo #SUGMT
SLURM と Docker
https://slurm.schedmd.com/containers.html#docker
Docker currently has multiple design points that make it unfriendly to HPC systems. The issue that
usually stops most sites from using Docker is the requirement of "only trusted users should be allowed to
control your Docker daemon" which is not acceptable to most HPC systems.
Sites with trusted users can add them to the docker Unix group and allow them control Docker directly
from inside of jobs. There is currently no support for starting or stopping docker containers directly
in Slurm.
今の Docker には、HPC システムで使いづらい設計ポイントがいくつかあります。
ほとんどの HPC サイトで受け入れられず、Docker の利用を制限することになるのは
「信頼できるユーザーのみが Docker デーモンを制御できる」という点です。
ユーザーを信頼できるサイトでは、それらのユーザーを docker グループに
追加することで、ジョブ内から直接 Docker を制御可能にできます。
現在、Slurmで直接 Docker コンテナーを開始または停止することはサポートされていません。
12
Follow us on Twitter: @NVIDIAAIJPSlurm User Group Meetup Tokyo #SUGMT
SLURM と Docker
https://stackoverflow.com/questions/55167006/slurmdocker-how-to-kill-docker-created-processes-using-slurms-scancel
ディープラーニング用に GPU クラスターを
セットアップし、NVIDIA Docker でコンテナ
を実行しています。
srun で nvidia-docker を実行していま
すが、scancel でジョブをキャンセルしても
コンテナが動き続けます。助けて!
13
Follow us on Twitter: @NVIDIAAIJPSlurm User Group Meetup Tokyo #SUGMT
Docker コンテナ起動時のプロセス間の関係
docker(1) containerd
containerd-shim
コンテナ
docker(1) は containerd のクライアント
コンテナのプロセスは docker ではなく containerd
から生まれるので、docker と親子関係を持たない
一方、スケジューラーがタスクとして認識するのは
コンテナではなく docker のプロセス
スケジューラーが docker のプロセスに与えた各種の
設定は、コンテナに伝わらない
ジョブをキャンセルしても docker が終了するだけ
コンテナはスケジューラーと無関係に動き続ける
Follow us on Twitter: @NVIDIAAIJPSlurm User Group Meetup Tokyo #SUGMT
14
Example
Excerpts from an actual script used
to launch jobs for the MLPerf v0.5
benchmark (208 LOC total)
1. Setup docker flags
2. Setup mpirun flags
3. Setup SSH
4. Start sleep containers
5. Launch mpirun in rank0
container
SLURM+Docker+MPI
Follow us on Twitter: @NVIDIAAIJPSlurm User Group Meetup Tokyo #SUGMT
15
NVIDIA とコンテナ
What we need
● 高性能!
● 非特権ランタイム
● Docker イメージが使える
What we want
● SLURM の cgroups を尊重する
● NVIDIA と Mellanox のデバイスがデフォルトでちゃんと使える
● コンテナ間の MPI が簡単
● コンテナ内にパッケージをインストールできる
こういうのが欲しい
16
Follow us on Twitter: @NVIDIAAIJPSlurm User Group Meetup Tokyo #SUGMT
アジェンダ
1. NVIDIA と HPC, DL, コンテナ
2. 新しいコンテナランタイム
3. そのための SLURM プラグイン
Follow us on Twitter: @NVIDIAAIJPSlurm User Group Meetup Tokyo #SUGMT
17
Enroot
概要
特権の不要な “chroot”
単体で動作 (デーモンや補助プロセスなし)
シンプルで簡単 (UNIX 哲学, KISS 原則)
軽いアイソレーション、低オーバーヘッド
Docker イメージのサポート
シンプルなイメージフォーマット (単一ファイル + 設定情報)
高い拡張性 (system/user configs, lifecycle hooks)
Advanced features (runfiles, scriptable configs, in-memory containers)
18
Follow us on Twitter: @NVIDIAAIJPSlurm User Group Meetup Tokyo #SUGMT
コンテナ起動時のプロセス間の関係
Singularity
singularity(1)
starter
コンテナ
Enroot
enroot(1)
コンテナ
Docker
docker(1) containerd
containerd-shim
コンテナ
Follow us on Twitter: @NVIDIAAIJPSlurm User Group Meetup Tokyo #SUGMT
19
Enroot
基本的な使い方
$ enroot import docker://nvcr.io#nvidia/tensorflow:19.08-py3
$ ls nvidia+tensorflow+19.08-py3.sqsh
$ enroot create --name tensorflow nvidia+tensorflow+19.08-py3.sqsh
$ ls -d ${XDG_DATA_PATH}/enroot/tensorflow
$ enroot start tensorflow nvidia-smi -L
$ enroot start --root --rw tensorflow apt update && apt install …
$ enroot bundle --output tensorflow.run nvidia+tensorflow+19.05-py3.sqsh
$ ./tensorflow.run python -c 'import tensorflow as tf; print(tf.__version__)'
Follow us on Twitter: @NVIDIAAIJPSlurm User Group Meetup Tokyo #SUGMT
20
Enroot
各種コマンド
コマンド 説明
enroot-unshare
(enroot-nsenter に改名)
unshare(1) のように新しい名前空間を作成
enroot-mount mount(8) のようにコンテナにディレクトリをマウント
enroot-switchroot switch_root(8) のようにルート ファイルシステムを変更
enroot-aufs2ovlfs AUFS を OverlayFS に変換
enroot-mksquashovlfs OverlayFS 上で mksquashfs(1) のように動作
Follow us on Twitter: @NVIDIAAIJPSlurm User Group Meetup Tokyo #SUGMT
21
Enroot
スクラッチからコンテナを作成
$ curl https://cdimage.ubuntu.com/[...]/ubuntu-base-16.04-core-amd64.tar.gz | tar -C ubuntu -xz
$ enroot-unshare bash
$ cat << EOF | enroot-mount --root ubuntu -
ubuntu / none bind,rprivate
/proc /proc none rbind
/dev /dev none rbind
/sys /sys none rbind
EOF
$ exec enroot-switchroot ubuntu bash
22
Follow us on Twitter: @NVIDIAAIJPSlurm User Group Meetup Tokyo #SUGMT
アジェンダ
1. NVIDIA と HPC, DL, コンテナ
2. 新しいコンテナランタイム
3. そのための SLURM プラグイン
Follow us on Twitter: @NVIDIAAIJPSlurm User Group Meetup Tokyo #SUGMT
23
Pyxis
Follow us on Twitter: @NVIDIAAIJPSlurm User Group Meetup Tokyo #SUGMT
24
Pyxis
1. slurm_spank_init()
a. Add flags to srun
2. slurm_spank_user_init() - runs for each JOBSTEP
a. Download a container image from a registry (enroot import)
b. Unpack the image to a new container rootfs (enroot create)
c. Start up a new “container” process (enroot start)
d. Copy environment variables
e. Save namespaces for later
3. slurm_spank_task_init() - runs for each TASK
a. setns(CLONE_NEWUSER) # join user namespace
b. setns(CLONE_NEWNS) # join mounts namespace
c. chdir()
d. Setup PMIx, if active
Internals
Follow us on Twitter: @NVIDIAAIJPSlurm User Group Meetup Tokyo #SUGMT
25
Examples
1. No need to pass through environment variables (Pyxis inherits them all)
2. No need for any of these docker args: --rm --net=host --uts=host --ipc=host --pid=host
3. No need to configure mpirun (SLURM handles it)
4. No need to setup SSH (PMIx doesn’t use it)
Pyxis, MPI workload
Follow us on Twitter: @NVIDIAAIJPSlurm User Group Meetup Tokyo #SUGMT
26
What Could Be Next
Allow pyxis to use a squashfile directly
Add pyxis flags to sbatch/salloc
Add backends for different “container runtimes”
27
Follow us on Twitter: @NVIDIAAIJPSlurm User Group Meetup Tokyo #SUGMT
CONNECT
Connect with hundreds of experts
from top industry, academic,
startup, and government
organizations
LEARN
Gain insight and valuable
hands-on training through
over 500+ sessions
DISCOVER
See how GPU technology is
creating breakthroughs in deep
learning, cybersecurity, data
science, healthcare and more
INNOVATE
Explore disruptive innovations
that can transform your work
早期割引は 2 月 13 日まで | VIP コード NVKSASAKI でさらに 25% OFF!
2020/3/22~26 | シリコンバレー
プレミア AI カンファレンスへようこそ
www.nvidia.com/gtc
EnrootとPyxisで快適コンテナ生活

Contenu connexe

Tendances

KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...Preferred Networks
 
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)NTT DATA Technology & Innovation
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けモノビット エンジン
 
Topology Managerについて / Kubernetes Meetup Tokyo 50
Topology Managerについて / Kubernetes Meetup Tokyo 50Topology Managerについて / Kubernetes Meetup Tokyo 50
Topology Managerについて / Kubernetes Meetup Tokyo 50Preferred Networks
 
Prometheus at Preferred Networks
Prometheus at Preferred NetworksPrometheus at Preferred Networks
Prometheus at Preferred NetworksPreferred Networks
 
20180729 Preferred Networksの機械学習クラスタを支える技術
20180729 Preferred Networksの機械学習クラスタを支える技術20180729 Preferred Networksの機械学習クラスタを支える技術
20180729 Preferred Networksの機械学習クラスタを支える技術Preferred Networks
 
Linux KVMではじめるカンタン仮想化入門
Linux KVMではじめるカンタン仮想化入門Linux KVMではじめるカンタン仮想化入門
Linux KVMではじめるカンタン仮想化入門VirtualTech Japan Inc.
 
OpenStack超入門シリーズ Novaのディスク周りあれこれ
OpenStack超入門シリーズ Novaのディスク周りあれこれOpenStack超入門シリーズ Novaのディスク周りあれこれ
OpenStack超入門シリーズ Novaのディスク周りあれこれToru Makabe
 
Concourseで快適な自動化の旅
Concourseで快適な自動化の旅Concourseで快適な自動化の旅
Concourseで快適な自動化の旅Kazuto Kusama
 
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43Preferred Networks
 
Kubernetesのワーカーノードを自動修復するために必要だったこと
Kubernetesのワーカーノードを自動修復するために必要だったことKubernetesのワーカーノードを自動修復するために必要だったこと
Kubernetesのワーカーノードを自動修復するために必要だったことh-otter
 
MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~
MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~
MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~モノビット エンジン
 
大規模DCのネットワークデザイン
大規模DCのネットワークデザイン大規模DCのネットワークデザイン
大規模DCのネットワークデザインMasayuki Kobayashi
 
コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話Yuta Shimada
 
コンテナ基盤であるLXC/LXDを 本番環境で運用する話
コンテナ基盤であるLXC/LXDを 本番環境で運用する話コンテナ基盤であるLXC/LXDを 本番環境で運用する話
コンテナ基盤であるLXC/LXDを 本番環境で運用する話Nobuhiro Fujita
 
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)NTT DATA Technology & Innovation
 
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれからYahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれからYahoo!デベロッパーネットワーク
 
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 VirtualTech Japan Inc.
 
こんなに使える!今どきのAPIドキュメンテーションツール
こんなに使える!今どきのAPIドキュメンテーションツールこんなに使える!今どきのAPIドキュメンテーションツール
こんなに使える!今どきのAPIドキュメンテーションツールdcubeio
 
最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみよう最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみようTakashi Kajinami
 

Tendances (20)

KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
 
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
 
Topology Managerについて / Kubernetes Meetup Tokyo 50
Topology Managerについて / Kubernetes Meetup Tokyo 50Topology Managerについて / Kubernetes Meetup Tokyo 50
Topology Managerについて / Kubernetes Meetup Tokyo 50
 
Prometheus at Preferred Networks
Prometheus at Preferred NetworksPrometheus at Preferred Networks
Prometheus at Preferred Networks
 
20180729 Preferred Networksの機械学習クラスタを支える技術
20180729 Preferred Networksの機械学習クラスタを支える技術20180729 Preferred Networksの機械学習クラスタを支える技術
20180729 Preferred Networksの機械学習クラスタを支える技術
 
Linux KVMではじめるカンタン仮想化入門
Linux KVMではじめるカンタン仮想化入門Linux KVMではじめるカンタン仮想化入門
Linux KVMではじめるカンタン仮想化入門
 
OpenStack超入門シリーズ Novaのディスク周りあれこれ
OpenStack超入門シリーズ Novaのディスク周りあれこれOpenStack超入門シリーズ Novaのディスク周りあれこれ
OpenStack超入門シリーズ Novaのディスク周りあれこれ
 
Concourseで快適な自動化の旅
Concourseで快適な自動化の旅Concourseで快適な自動化の旅
Concourseで快適な自動化の旅
 
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
 
Kubernetesのワーカーノードを自動修復するために必要だったこと
Kubernetesのワーカーノードを自動修復するために必要だったことKubernetesのワーカーノードを自動修復するために必要だったこと
Kubernetesのワーカーノードを自動修復するために必要だったこと
 
MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~
MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~
MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~
 
大規模DCのネットワークデザイン
大規模DCのネットワークデザイン大規模DCのネットワークデザイン
大規模DCのネットワークデザイン
 
コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話
 
コンテナ基盤であるLXC/LXDを 本番環境で運用する話
コンテナ基盤であるLXC/LXDを 本番環境で運用する話コンテナ基盤であるLXC/LXDを 本番環境で運用する話
コンテナ基盤であるLXC/LXDを 本番環境で運用する話
 
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
 
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれからYahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
 
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
 
こんなに使える!今どきのAPIドキュメンテーションツール
こんなに使える!今どきのAPIドキュメンテーションツールこんなに使える!今どきのAPIドキュメンテーションツール
こんなに使える!今どきのAPIドキュメンテーションツール
 
最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみよう最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみよう
 

Similaire à EnrootとPyxisで快適コンテナ生活

GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月VirtualTech Japan Inc.
 
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」ManaMurakami1
 
45分で理解する 最近のスパコン事情 斉藤之雄
45分で理解する 最近のスパコン事情 斉藤之雄45分で理解する 最近のスパコン事情 斉藤之雄
45分で理解する 最近のスパコン事情 斉藤之雄Yukio Saito
 
Docker入門 - 基礎編 いまから始めるDocker管理
Docker入門 - 基礎編 いまから始めるDocker管理Docker入門 - 基礎編 いまから始めるDocker管理
Docker入門 - 基礎編 いまから始めるDocker管理Masahito Zembutsu
 
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜Masaya Aoyama
 
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)NTT DATA Technology & Innovation
 
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...NTT DATA Technology & Innovation
 
ディープラーニングイメージで構築する快適・高速な機械学習環境
ディープラーニングイメージで構築する快適・高速な機械学習環境ディープラーニングイメージで構築する快適・高速な機械学習環境
ディープラーニングイメージで構築する快適・高速な機械学習環境Yaboo Oyabu
 
20191120 beyondstudy#21 kitaoka
20191120 beyondstudy#21 kitaoka20191120 beyondstudy#21 kitaoka
20191120 beyondstudy#21 kitaokabeyond Co., Ltd.
 
Amazon EKSによるスケーラブルなCTR予測システム
Amazon EKSによるスケーラブルなCTR予測システムAmazon EKSによるスケーラブルなCTR予測システム
Amazon EKSによるスケーラブルなCTR予測システム駿哉 吉田
 
NVIDIA GPU Cloud の紹介
NVIDIA GPU Cloud の紹介NVIDIA GPU Cloud の紹介
NVIDIA GPU Cloud の紹介NVIDIA Japan
 
20170311 Developing & Deploying .NET Core on Linux
20170311 Developing & Deploying .NET Core on Linux20170311 Developing & Deploying .NET Core on Linux
20170311 Developing & Deploying .NET Core on LinuxTakayoshi Tanaka
 
Kubernetes1.9でWindowsコンテナーをクラスタ化
Kubernetes1.9でWindowsコンテナーをクラスタ化Kubernetes1.9でWindowsコンテナーをクラスタ化
Kubernetes1.9でWindowsコンテナーをクラスタ化Takashi Kanai
 
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Masahito Zembutsu
 
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入Yu Nobuoka
 
200625material naruse
200625material naruse200625material naruse
200625material naruseRCCSRENKEI
 
Docker事始めと最新動向 2015年6月
Docker事始めと最新動向 2015年6月Docker事始めと最新動向 2015年6月
Docker事始めと最新動向 2015年6月Emma Haruka Iwao
 
Postgres Playground で pgbench を走らせよう!(第35回PostgreSQLアンカンファレンス@オンライン 発表資料)
Postgres Playground で pgbench を走らせよう!(第35回PostgreSQLアンカンファレンス@オンライン 発表資料)Postgres Playground で pgbench を走らせよう!(第35回PostgreSQLアンカンファレンス@オンライン 発表資料)
Postgres Playground で pgbench を走らせよう!(第35回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 

Similaire à EnrootとPyxisで快適コンテナ生活 (20)

GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月
 
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
 
GPU Container as a Service を実現するための最新OSS徹底比較
GPU Container as a Service を実現するための最新OSS徹底比較GPU Container as a Service を実現するための最新OSS徹底比較
GPU Container as a Service を実現するための最新OSS徹底比較
 
45分で理解する 最近のスパコン事情 斉藤之雄
45分で理解する 最近のスパコン事情 斉藤之雄45分で理解する 最近のスパコン事情 斉藤之雄
45分で理解する 最近のスパコン事情 斉藤之雄
 
Docker入門 - 基礎編 いまから始めるDocker管理
Docker入門 - 基礎編 いまから始めるDocker管理Docker入門 - 基礎編 いまから始めるDocker管理
Docker入門 - 基礎編 いまから始めるDocker管理
 
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
 
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
 
GTC Japan 2017
GTC Japan 2017GTC Japan 2017
GTC Japan 2017
 
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
 
ディープラーニングイメージで構築する快適・高速な機械学習環境
ディープラーニングイメージで構築する快適・高速な機械学習環境ディープラーニングイメージで構築する快適・高速な機械学習環境
ディープラーニングイメージで構築する快適・高速な機械学習環境
 
20191120 beyondstudy#21 kitaoka
20191120 beyondstudy#21 kitaoka20191120 beyondstudy#21 kitaoka
20191120 beyondstudy#21 kitaoka
 
Amazon EKSによるスケーラブルなCTR予測システム
Amazon EKSによるスケーラブルなCTR予測システムAmazon EKSによるスケーラブルなCTR予測システム
Amazon EKSによるスケーラブルなCTR予測システム
 
NVIDIA GPU Cloud の紹介
NVIDIA GPU Cloud の紹介NVIDIA GPU Cloud の紹介
NVIDIA GPU Cloud の紹介
 
20170311 Developing & Deploying .NET Core on Linux
20170311 Developing & Deploying .NET Core on Linux20170311 Developing & Deploying .NET Core on Linux
20170311 Developing & Deploying .NET Core on Linux
 
Kubernetes1.9でWindowsコンテナーをクラスタ化
Kubernetes1.9でWindowsコンテナーをクラスタ化Kubernetes1.9でWindowsコンテナーをクラスタ化
Kubernetes1.9でWindowsコンテナーをクラスタ化
 
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
 
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入
 
200625material naruse
200625material naruse200625material naruse
200625material naruse
 
Docker事始めと最新動向 2015年6月
Docker事始めと最新動向 2015年6月Docker事始めと最新動向 2015年6月
Docker事始めと最新動向 2015年6月
 
Postgres Playground で pgbench を走らせよう!(第35回PostgreSQLアンカンファレンス@オンライン 発表資料)
Postgres Playground で pgbench を走らせよう!(第35回PostgreSQLアンカンファレンス@オンライン 発表資料)Postgres Playground で pgbench を走らせよう!(第35回PostgreSQLアンカンファレンス@オンライン 発表資料)
Postgres Playground で pgbench を走らせよう!(第35回PostgreSQLアンカンファレンス@オンライン 発表資料)
 

Plus de Kuninobu SaSaki

A100 GPU 搭載! P4d インスタンス 使いこなしのコツ
A100 GPU 搭載! P4d インスタンス使いこなしのコツA100 GPU 搭載! P4d インスタンス使いこなしのコツ
A100 GPU 搭載! P4d インスタンス 使いこなしのコツKuninobu SaSaki
 
Automatic Mixed Precision の紹介
Automatic Mixed Precision の紹介Automatic Mixed Precision の紹介
Automatic Mixed Precision の紹介Kuninobu SaSaki
 
GTC Japan 2018 NVIDIA NEWS
GTC Japan 2018 NVIDIA NEWSGTC Japan 2018 NVIDIA NEWS
GTC Japan 2018 NVIDIA NEWSKuninobu SaSaki
 
ISC17 NVIDIA NEWS 日本版
ISC17 NVIDIA NEWS 日本版ISC17 NVIDIA NEWS 日本版
ISC17 NVIDIA NEWS 日本版Kuninobu SaSaki
 
20150821 Azure 仮想マシンと仮想ネットワーク
20150821 Azure 仮想マシンと仮想ネットワーク20150821 Azure 仮想マシンと仮想ネットワーク
20150821 Azure 仮想マシンと仮想ネットワークKuninobu SaSaki
 
Azure仮想マシンと仮想ネットワーク
Azure仮想マシンと仮想ネットワークAzure仮想マシンと仮想ネットワーク
Azure仮想マシンと仮想ネットワークKuninobu SaSaki
 
もっとわかる Microsoft Azure 最新技術アップデート編 - 20150123
もっとわかる Microsoft Azure最新技術アップデート編 - 20150123もっとわかる Microsoft Azure最新技術アップデート編 - 20150123
もっとわかる Microsoft Azure 最新技術アップデート編 - 20150123Kuninobu SaSaki
 
Cloudera World Tokyo 2014 LTセッション「マイクロソフトとHadoop」
Cloudera World Tokyo 2014 LTセッション「マイクロソフトとHadoop」Cloudera World Tokyo 2014 LTセッション「マイクロソフトとHadoop」
Cloudera World Tokyo 2014 LTセッション「マイクロソフトとHadoop」Kuninobu SaSaki
 
20140818 オープン白熱塾 ksasakims
20140818 オープン白熱塾 ksasakims20140818 オープン白熱塾 ksasakims
20140818 オープン白熱塾 ksasakimsKuninobu SaSaki
 
YAPC::Asia Tokyo 2013 ランチセッション
YAPC::Asia Tokyo 2013 ランチセッションYAPC::Asia Tokyo 2013 ランチセッション
YAPC::Asia Tokyo 2013 ランチセッションKuninobu SaSaki
 
Windows Azure HDInsight サービスの紹介
Windows Azure HDInsight サービスの紹介Windows Azure HDInsight サービスの紹介
Windows Azure HDInsight サービスの紹介Kuninobu SaSaki
 
Effective Hyper-V - 久しぶりエディション
Effective Hyper-V - 久しぶりエディションEffective Hyper-V - 久しぶりエディション
Effective Hyper-V - 久しぶりエディションKuninobu SaSaki
 
HPC Azure TOP500 2012-11
HPC Azure TOP500 2012-11HPC Azure TOP500 2012-11
HPC Azure TOP500 2012-11Kuninobu SaSaki
 
TechEd2010_T2-401_EffectiveHyper-V
TechEd2010_T2-401_EffectiveHyper-VTechEd2010_T2-401_EffectiveHyper-V
TechEd2010_T2-401_EffectiveHyper-VKuninobu SaSaki
 
TechEd2009_T1-402_EffectiveHyper-V
TechEd2009_T1-402_EffectiveHyper-VTechEd2009_T1-402_EffectiveHyper-V
TechEd2009_T1-402_EffectiveHyper-VKuninobu SaSaki
 

Plus de Kuninobu SaSaki (20)

A100 GPU 搭載! P4d インスタンス 使いこなしのコツ
A100 GPU 搭載! P4d インスタンス使いこなしのコツA100 GPU 搭載! P4d インスタンス使いこなしのコツ
A100 GPU 搭載! P4d インスタンス 使いこなしのコツ
 
Automatic Mixed Precision の紹介
Automatic Mixed Precision の紹介Automatic Mixed Precision の紹介
Automatic Mixed Precision の紹介
 
GTC 2019 NVIDIA NEWS
GTC 2019 NVIDIA NEWSGTC 2019 NVIDIA NEWS
GTC 2019 NVIDIA NEWS
 
SC18 NVIDIA NEWS
SC18 NVIDIA NEWSSC18 NVIDIA NEWS
SC18 NVIDIA NEWS
 
GTC Japan 2018 NVIDIA NEWS
GTC Japan 2018 NVIDIA NEWSGTC Japan 2018 NVIDIA NEWS
GTC Japan 2018 NVIDIA NEWS
 
ISC17 NVIDIA NEWS 日本版
ISC17 NVIDIA NEWS 日本版ISC17 NVIDIA NEWS 日本版
ISC17 NVIDIA NEWS 日本版
 
GTC17 NVIDIA News
GTC17 NVIDIA NewsGTC17 NVIDIA News
GTC17 NVIDIA News
 
SC16 NVIDIA NEWS
SC16 NVIDIA NEWSSC16 NVIDIA NEWS
SC16 NVIDIA NEWS
 
20150821 Azure 仮想マシンと仮想ネットワーク
20150821 Azure 仮想マシンと仮想ネットワーク20150821 Azure 仮想マシンと仮想ネットワーク
20150821 Azure 仮想マシンと仮想ネットワーク
 
Azure仮想マシンと仮想ネットワーク
Azure仮想マシンと仮想ネットワークAzure仮想マシンと仮想ネットワーク
Azure仮想マシンと仮想ネットワーク
 
もっとわかる Microsoft Azure 最新技術アップデート編 - 20150123
もっとわかる Microsoft Azure最新技術アップデート編 - 20150123もっとわかる Microsoft Azure最新技術アップデート編 - 20150123
もっとわかる Microsoft Azure 最新技術アップデート編 - 20150123
 
Cloudera World Tokyo 2014 LTセッション「マイクロソフトとHadoop」
Cloudera World Tokyo 2014 LTセッション「マイクロソフトとHadoop」Cloudera World Tokyo 2014 LTセッション「マイクロソフトとHadoop」
Cloudera World Tokyo 2014 LTセッション「マイクロソフトとHadoop」
 
20140818 オープン白熱塾 ksasakims
20140818 オープン白熱塾 ksasakims20140818 オープン白熱塾 ksasakims
20140818 オープン白熱塾 ksasakims
 
YAPC::Asia Tokyo 2013 ランチセッション
YAPC::Asia Tokyo 2013 ランチセッションYAPC::Asia Tokyo 2013 ランチセッション
YAPC::Asia Tokyo 2013 ランチセッション
 
Windows Azure HDInsight サービスの紹介
Windows Azure HDInsight サービスの紹介Windows Azure HDInsight サービスの紹介
Windows Azure HDInsight サービスの紹介
 
Effective Hyper-V - 久しぶりエディション
Effective Hyper-V - 久しぶりエディションEffective Hyper-V - 久しぶりエディション
Effective Hyper-V - 久しぶりエディション
 
HPC Azure TOP500 2012-11
HPC Azure TOP500 2012-11HPC Azure TOP500 2012-11
HPC Azure TOP500 2012-11
 
WDD2012_SC-004
WDD2012_SC-004WDD2012_SC-004
WDD2012_SC-004
 
TechEd2010_T2-401_EffectiveHyper-V
TechEd2010_T2-401_EffectiveHyper-VTechEd2010_T2-401_EffectiveHyper-V
TechEd2010_T2-401_EffectiveHyper-V
 
TechEd2009_T1-402_EffectiveHyper-V
TechEd2009_T1-402_EffectiveHyper-VTechEd2009_T1-402_EffectiveHyper-V
TechEd2009_T1-402_EffectiveHyper-V
 

Dernier

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 

Dernier (9)

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 

EnrootとPyxisで快適コンテナ生活

  • 1. Kuninobu Sasaki, Data Center Solution Architect, NVIDIA, 1/22/2020 Enroot と Pyxis で 快適コンテナ生活 Slurm User Group Meetup Tokyo #1
  • 2. 2 Follow us on Twitter: @NVIDIAAIJPSlurm User Group Meetup Tokyo #SUGMT アジェンダ 1.NVIDIA と HPC, DL, コンテナ 2. 新しいコンテナランタイム 3. そのための SLURM プラグイン
  • 3. NVIDIA DGX SUPERPOD NVIDIA 社内の大規模クラスター DGX-2 で構成されたスーパーコンピューター • HPL で 9.4 PF | Top500 リストの 20 位 (19/11) https://www.top500.org/system/179691 • ~200 AI PF | ResNet-50 のトレーニングを 2 分未満で モジュール化され拡張の容易なアーキテクチャー • 3 週間で構築 • 計算、通信、ストレージ、ソフトウェアを最適化 統合されたソフトウェアスタック • NGC から無料で入手可能 • 96 DGX-2H • 10 Mellanox EDR IB per node • 1,536 V100 Tensor Core GPUs • 1 megawatt of power 自動運転 | 音声認識/合成 | ヘルスケア | グラフィックス | HPC
  • 4. 4 Follow us on Twitter: @NVIDIAAIJPSlurm User Group Meetup Tokyo #SUGMT 課題: 計算リソースの稼働率 リソースを如何に効率的に管理するか クラスター化された計算ノード • 計算機リソース割り当ての自動化 • リソース稼働率の向上 • 高いスケーリビリティを確保 • メンテナンスも効率的 DGX DGX DGX DGX DGX DGX DGX DGX DGX Cluster API DGX DGX DGX DGX DGX DGX DGX DGX DGX ばらばらのコンピューター • 利用者側で割り当て調整が必要 • リソースの負荷が不均一で非効率 • スケーラビリティの欠如 • メンテナンス負荷の増大 ??? クラスター
  • 5. 5 Follow us on Twitter: @NVIDIAAIJPSlurm User Group Meetup Tokyo #SUGMT DeepOps • エヌビディアのベストプラクティスがベース • 高度なモジュール化 各コンポーネントは既存 のシステムと柔軟な組み合わせが可能 • オープンソース 自由に入手可能。 DevOps に関する知識があればカスタマイズも可能 • GitHub: https://github.com/NVIDIA/deepops クラスターのデプロイと管理を効率化 • 計算ノードに最新の OS をインストール (PXE ブートによるネットワークインストール) • ファームウェア、ドライバ等のソフトウェアを管理 • ジョブスケジューラーをデプロイ (Kubernetes と Slurm の両方に対応) • ロギングと監視のサービスを提供 • その他にサービスを構築するスクリプトを提供 (Kubeflow, Dask, 等) Note: DeepOps は DGX Systems に限らず、あらゆる NVIDIA GPU 搭載プラットフォームで利用可能
  • 6. 6 Follow us on Twitter: @NVIDIAAIJPSlurm User Group Meetup Tokyo #SUGMT プロビジョニングの自動化 ● PXE Server for OS installation across cluster ● Automated configuration management Docker レジストリ ● Deployment of internal registry ● Automated mirroring of NGC containers 監視 ● DCGM ● Prometheus ● Grafana パッケージ リポジトリ ● Deployment of internal Apt- repository ● Mirror packages for air- gapped environments ロギング ● Filebeat ● Elasticsearch ● Kibana ファームウェア管理 ● Automated, cluster-wide firmware management ジョブスケジューリング ● Kubernetes ● Slurm DeepOps の構成要素
  • 7. 7 Follow us on Twitter: @NVIDIAAIJPSlurm User Group Meetup Tokyo #SUGMT DeepOps のアーキテクチャ マルチノード GPU クラスターの構築 ● 奇数台の管理ノード (GPU は不要) ○ ※ etcd を動かすために奇数台が要件 管理ノード(群)ログインノード (群) ストレージ 管理用ネットワーク 1/10Gb Ethernet 100Gb EDR InfiniBand / RoCE 計算ノード (群) Slurm ノードKubernetes ノード データセンター ネットワーク ● 最低 1 台のログインノード (GPU は不要) ● 管理用ネットワーク ● 例: 1/10 GbE ○ クラスタへの接続・システム管理用 ● 演算用ネットワーク ● 例: ノンブロッキングの 100 Gbps EDR InfiniBand
  • 8. Follow us on Twitter: @NVIDIAAIJPSlurm User Group Meetup Tokyo #SUGMT 8 SLURM と Kubernetes あるいは “HPC” と “データサイエンス”
  • 9. Follow us on Twitter: @NVIDIAAIJPSlurm User Group Meetup Tokyo #SUGMT 9 NGC のコンテナイメージ We built libnvidia-container to make it easy to run CUDA applications inside containers. We release optimized container images for each of the major DL frameworks every month, and provide them for anyone to use. We use containers for everything on our HPC clusters - R&D, official benchmarks, etc. Containers give us portable software stacks without sacrificing performance.
  • 10. 10 Follow us on Twitter: @NVIDIAAIJPSlurm User Group Meetup Tokyo #SUGMT GPU に最適化されたソフトウェア NGC に 50 以上のコンテナイメージを用意 ディープラーニング 一般の機械学習アルゴリズム HPC 可視化 推論 ゲノミクス NAMD | GROMACS | more RAPIDS | H2O | more TensorRT | DeepStream | more Parabricks ParaView | IndeX | more TensorFlow | PyTorch | more
  • 11. 11 Follow us on Twitter: @NVIDIAAIJPSlurm User Group Meetup Tokyo #SUGMT SLURM と Docker https://slurm.schedmd.com/containers.html#docker Docker currently has multiple design points that make it unfriendly to HPC systems. The issue that usually stops most sites from using Docker is the requirement of "only trusted users should be allowed to control your Docker daemon" which is not acceptable to most HPC systems. Sites with trusted users can add them to the docker Unix group and allow them control Docker directly from inside of jobs. There is currently no support for starting or stopping docker containers directly in Slurm. 今の Docker には、HPC システムで使いづらい設計ポイントがいくつかあります。 ほとんどの HPC サイトで受け入れられず、Docker の利用を制限することになるのは 「信頼できるユーザーのみが Docker デーモンを制御できる」という点です。 ユーザーを信頼できるサイトでは、それらのユーザーを docker グループに 追加することで、ジョブ内から直接 Docker を制御可能にできます。 現在、Slurmで直接 Docker コンテナーを開始または停止することはサポートされていません。
  • 12. 12 Follow us on Twitter: @NVIDIAAIJPSlurm User Group Meetup Tokyo #SUGMT SLURM と Docker https://stackoverflow.com/questions/55167006/slurmdocker-how-to-kill-docker-created-processes-using-slurms-scancel ディープラーニング用に GPU クラスターを セットアップし、NVIDIA Docker でコンテナ を実行しています。 srun で nvidia-docker を実行していま すが、scancel でジョブをキャンセルしても コンテナが動き続けます。助けて!
  • 13. 13 Follow us on Twitter: @NVIDIAAIJPSlurm User Group Meetup Tokyo #SUGMT Docker コンテナ起動時のプロセス間の関係 docker(1) containerd containerd-shim コンテナ docker(1) は containerd のクライアント コンテナのプロセスは docker ではなく containerd から生まれるので、docker と親子関係を持たない 一方、スケジューラーがタスクとして認識するのは コンテナではなく docker のプロセス スケジューラーが docker のプロセスに与えた各種の 設定は、コンテナに伝わらない ジョブをキャンセルしても docker が終了するだけ コンテナはスケジューラーと無関係に動き続ける
  • 14. Follow us on Twitter: @NVIDIAAIJPSlurm User Group Meetup Tokyo #SUGMT 14 Example Excerpts from an actual script used to launch jobs for the MLPerf v0.5 benchmark (208 LOC total) 1. Setup docker flags 2. Setup mpirun flags 3. Setup SSH 4. Start sleep containers 5. Launch mpirun in rank0 container SLURM+Docker+MPI
  • 15. Follow us on Twitter: @NVIDIAAIJPSlurm User Group Meetup Tokyo #SUGMT 15 NVIDIA とコンテナ What we need ● 高性能! ● 非特権ランタイム ● Docker イメージが使える What we want ● SLURM の cgroups を尊重する ● NVIDIA と Mellanox のデバイスがデフォルトでちゃんと使える ● コンテナ間の MPI が簡単 ● コンテナ内にパッケージをインストールできる こういうのが欲しい
  • 16. 16 Follow us on Twitter: @NVIDIAAIJPSlurm User Group Meetup Tokyo #SUGMT アジェンダ 1. NVIDIA と HPC, DL, コンテナ 2. 新しいコンテナランタイム 3. そのための SLURM プラグイン
  • 17. Follow us on Twitter: @NVIDIAAIJPSlurm User Group Meetup Tokyo #SUGMT 17 Enroot 概要 特権の不要な “chroot” 単体で動作 (デーモンや補助プロセスなし) シンプルで簡単 (UNIX 哲学, KISS 原則) 軽いアイソレーション、低オーバーヘッド Docker イメージのサポート シンプルなイメージフォーマット (単一ファイル + 設定情報) 高い拡張性 (system/user configs, lifecycle hooks) Advanced features (runfiles, scriptable configs, in-memory containers)
  • 18. 18 Follow us on Twitter: @NVIDIAAIJPSlurm User Group Meetup Tokyo #SUGMT コンテナ起動時のプロセス間の関係 Singularity singularity(1) starter コンテナ Enroot enroot(1) コンテナ Docker docker(1) containerd containerd-shim コンテナ
  • 19. Follow us on Twitter: @NVIDIAAIJPSlurm User Group Meetup Tokyo #SUGMT 19 Enroot 基本的な使い方 $ enroot import docker://nvcr.io#nvidia/tensorflow:19.08-py3 $ ls nvidia+tensorflow+19.08-py3.sqsh $ enroot create --name tensorflow nvidia+tensorflow+19.08-py3.sqsh $ ls -d ${XDG_DATA_PATH}/enroot/tensorflow $ enroot start tensorflow nvidia-smi -L $ enroot start --root --rw tensorflow apt update && apt install … $ enroot bundle --output tensorflow.run nvidia+tensorflow+19.05-py3.sqsh $ ./tensorflow.run python -c 'import tensorflow as tf; print(tf.__version__)'
  • 20. Follow us on Twitter: @NVIDIAAIJPSlurm User Group Meetup Tokyo #SUGMT 20 Enroot 各種コマンド コマンド 説明 enroot-unshare (enroot-nsenter に改名) unshare(1) のように新しい名前空間を作成 enroot-mount mount(8) のようにコンテナにディレクトリをマウント enroot-switchroot switch_root(8) のようにルート ファイルシステムを変更 enroot-aufs2ovlfs AUFS を OverlayFS に変換 enroot-mksquashovlfs OverlayFS 上で mksquashfs(1) のように動作
  • 21. Follow us on Twitter: @NVIDIAAIJPSlurm User Group Meetup Tokyo #SUGMT 21 Enroot スクラッチからコンテナを作成 $ curl https://cdimage.ubuntu.com/[...]/ubuntu-base-16.04-core-amd64.tar.gz | tar -C ubuntu -xz $ enroot-unshare bash $ cat << EOF | enroot-mount --root ubuntu - ubuntu / none bind,rprivate /proc /proc none rbind /dev /dev none rbind /sys /sys none rbind EOF $ exec enroot-switchroot ubuntu bash
  • 22. 22 Follow us on Twitter: @NVIDIAAIJPSlurm User Group Meetup Tokyo #SUGMT アジェンダ 1. NVIDIA と HPC, DL, コンテナ 2. 新しいコンテナランタイム 3. そのための SLURM プラグイン
  • 23. Follow us on Twitter: @NVIDIAAIJPSlurm User Group Meetup Tokyo #SUGMT 23 Pyxis
  • 24. Follow us on Twitter: @NVIDIAAIJPSlurm User Group Meetup Tokyo #SUGMT 24 Pyxis 1. slurm_spank_init() a. Add flags to srun 2. slurm_spank_user_init() - runs for each JOBSTEP a. Download a container image from a registry (enroot import) b. Unpack the image to a new container rootfs (enroot create) c. Start up a new “container” process (enroot start) d. Copy environment variables e. Save namespaces for later 3. slurm_spank_task_init() - runs for each TASK a. setns(CLONE_NEWUSER) # join user namespace b. setns(CLONE_NEWNS) # join mounts namespace c. chdir() d. Setup PMIx, if active Internals
  • 25. Follow us on Twitter: @NVIDIAAIJPSlurm User Group Meetup Tokyo #SUGMT 25 Examples 1. No need to pass through environment variables (Pyxis inherits them all) 2. No need for any of these docker args: --rm --net=host --uts=host --ipc=host --pid=host 3. No need to configure mpirun (SLURM handles it) 4. No need to setup SSH (PMIx doesn’t use it) Pyxis, MPI workload
  • 26. Follow us on Twitter: @NVIDIAAIJPSlurm User Group Meetup Tokyo #SUGMT 26 What Could Be Next Allow pyxis to use a squashfile directly Add pyxis flags to sbatch/salloc Add backends for different “container runtimes”
  • 27. 27 Follow us on Twitter: @NVIDIAAIJPSlurm User Group Meetup Tokyo #SUGMT CONNECT Connect with hundreds of experts from top industry, academic, startup, and government organizations LEARN Gain insight and valuable hands-on training through over 500+ sessions DISCOVER See how GPU technology is creating breakthroughs in deep learning, cybersecurity, data science, healthcare and more INNOVATE Explore disruptive innovations that can transform your work 早期割引は 2 月 13 日まで | VIP コード NVKSASAKI でさらに 25% OFF! 2020/3/22~26 | シリコンバレー プレミア AI カンファレンスへようこそ www.nvidia.com/gtc