Mercurial > hg > Papers > 2021 > mk-thesis
changeset 47:25d968349699
update slide
author | Ken Miyahira <e175733@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 11 Feb 2021 23:48:04 +0900 |
parents | ae1309162772 |
children | 47a9b8bf069b |
files | paper/chapter/new_system.tex paper/chapter/old_system.tex paper/file/benchmark/bar.py paper/file/benchmark/pdf/container.pdf paper/final_thesis.pdf slide/images/container.png slide/slide.html slide/slide.md |
diffstat | 8 files changed, 435 insertions(+), 209 deletions(-) [+] |
line wrap: on
line diff
--- a/paper/chapter/new_system.tex Wed Feb 10 21:08:31 2021 +0900 +++ b/paper/chapter/new_system.tex Thu Feb 11 23:48:04 2021 +0900 @@ -9,7 +9,7 @@ \begin{table}[H] \begin{center} - \caption{新システムの物理サーバ} + \caption{新システムの汎用サーバ} \begin{tabular}{|c|c|} \hline CPU & Intel Xeon Gold 6238 (2.10GHz/22Core) \\ \hline CPUユニット数 & 2 \\ \hline
--- a/paper/chapter/old_system.tex Wed Feb 10 21:08:31 2021 +0900 +++ b/paper/chapter/old_system.tex Thu Feb 11 23:48:04 2021 +0900 @@ -8,7 +8,7 @@ そのため,利用者が必要とする十分なスペックを提供するため,表\ref{tb:oldserver}のスペックの汎用サーバを4台導入した. \begin{table}[H] \begin{center} - \caption{旧システムの1Uサーバ} + \caption{旧システムの汎用サーバ} \begin{tabular}{|c|c|} \hline CPU & Intel Xeon E5-2699 v3 (2.30GHz/18Core) \\ \hline CPUユニット数 & 2 \\ \hline
--- a/paper/file/benchmark/bar.py Wed Feb 10 21:08:31 2021 +0900 +++ b/paper/file/benchmark/bar.py Thu Feb 11 23:48:04 2021 +0900 @@ -6,7 +6,7 @@ print("データ読み込み") x = [1, 2, 3] label = ["Docker", "Podman", "ie-podman"] - y = [758.16, 5693.16, 809.34] + y = [758.16, 4999.47, 809.34] name = input("GraphName: ") xlabel = input("xlabel: ")
--- a/slide/slide.html Wed Feb 10 21:08:31 2021 +0900 +++ b/slide/slide.html Thu Feb 11 23:48:04 2021 +0900 @@ -27,7 +27,7 @@ position: absolute; left: 50px; top: 35px; } -" class="title" data-marpit-pagination="1" data-marpit-pagination-total="29" style="--paginate:true;--class:title;--theme:default; +" class="title" data-marpit-pagination="1" data-marpit-pagination-total="31" style="--paginate:true;--class:title;--theme:default; ;"> <h1><svg data-marp-fitting="svg"><foreignObject><span data-marp-fitting-svg-content> コンテナ技術を用いた教育情報システムの構築</span></foreignObject></svg></h1> <ul> @@ -62,7 +62,7 @@ position: absolute; left: 50px; top: 35px; } -" class="slide" data-marpit-pagination="2" data-marpit-pagination-total="29" style="--paginate:true;--class:slide;--theme:default; +" class="slide" data-marpit-pagination="2" data-marpit-pagination-total="31" style="--paginate:true;--class:slide;--theme:default; ;"> <h1>研究目的</h1> <ul> @@ -79,7 +79,7 @@ </li> </ul> </section> -</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="3" data-paginate="true" data-class="title" data-theme="default" data-style="section { +</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="3" data-paginate="true" data-class="slide" data-theme="default" data-style="section { background-color: #FFFFFF; font-size: 28px; color: #4b4b4b; @@ -98,9 +98,34 @@ position: absolute; left: 50px; top: 35px; } -" class="title" data-marpit-pagination="3" data-marpit-pagination-total="29" style="--paginate:true;--class:title;--theme:default; +" class="slide" data-marpit-pagination="3" data-marpit-pagination-total="31" style="--paginate:true;--class:slide;--theme:default; ;"> -<h1>旧システム</h1> +<h1>これまでの学生向け学習環境</h1> +<ul> +<li> +<p>VM貸出サービス</p> +<ul> +<li>Akatsuki +<ul> +<li>申請を行い、Webコントロールパネルから作成</li> +</ul> +</li> +<li>ie-virsh +<ul> +<li>手元のPCで作成したVMイメージのデプロイ</li> +</ul> +</li> +</ul> +</li> +<li> +<p>VM貸出サービスのデフォルトスペック</p> +<ul> +<li>CPU 1コア</li> +<li>メモリ 1GB</li> +<li>ディスク容量 10GB</li> +</ul> +</li> +</ul> </section> </foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="4" data-paginate="true" data-class="slide" data-theme="default" data-style="section { background-color: #FFFFFF; @@ -121,12 +146,19 @@ position: absolute; left: 50px; top: 35px; } -" class="slide" data-marpit-pagination="4" data-marpit-pagination-total="29" style="--paginate:true;--class:slide;--theme:default; +" class="slide" data-marpit-pagination="4" data-marpit-pagination-total="31" style="--paginate:true;--class:slide;--theme:default; ;"> -<h1>旧システムでの問題点</h1> +<h1>これまでの学習環境の問題点</h1> +<ul> +<li>VM貸出サービスの一部学生は申請の方法が分からなかったり、貸出サービスがあることが周知されていなかったため、旧システムのリソースが余っていた</li> +</ul> +<br /> <ul> -<li>仮想環境の貸出サービスにおいて,新しく仮想環境を作成するにはシステム管理チームへ申請が必要であった.そのため,一部学生は申請の方法が分からなかったり,貸出サービスがあることが周知されていなかったため,旧システムのリソースが余っていた</li> -<li>機械学習の演習ではGPUが求められる.だが,旧システムにはGPUが搭載されていないため,要求されるリソースを提供できない.そのため,貸出サービスではなく研究室ごとの機器が多く利用された.</li> +<li>VMのスペックの変更にはシステム管理チームへの申請が必要であり、利用者と管理者とのやり取りなどの手間があった</li> +</ul> +<br /> +<ul> +<li>旧システムにはGPUが搭載されていないため、貸出サービスではなく研究室ごとの機器、クラウドサービスが多く利用された</li> </ul> </section> </foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="5" data-paginate="true" data-class="title" data-theme="default" data-style="section { @@ -148,7 +180,7 @@ position: absolute; left: 50px; top: 35px; } -" class="title" data-marpit-pagination="5" data-marpit-pagination-total="29" style="--paginate:true;--class:title;--theme:default; +" class="title" data-marpit-pagination="5" data-marpit-pagination-total="31" style="--paginate:true;--class:title;--theme:default; ;"> <h1>教育情報システムの構築</h1> </section> @@ -171,17 +203,43 @@ position: absolute; left: 50px; top: 35px; } -" class="slide" data-marpit-pagination="6" data-marpit-pagination-total="29" style="--paginate:true;--class:slide;--theme:default; +" class="slide" data-marpit-pagination="6" data-marpit-pagination-total="31" style="--paginate:true;--class:slide;--theme:default; ;"> -<h1>仮想環境の構築</h1> -<ul> -<li>KVMを利用する +<h1>オンプレミス環境</h1> <ul> -<li>GPUを利用できない</li> +<li>汎用サーバ x 4</li> +<li>ディスクサーバ x 2</li> </ul> -</li> -<li>そうだ、コンテナ環境を導入しよう!!</li> -</ul> +<table> +<thead> +<tr> +<th style="text-align:center"></th> +<th style="text-align:center"></th> +</tr> +</thead> +<tbody> +<tr> +<td style="text-align:center">CPU</td> +<td style="text-align:center">Intel Xeon Gold 6238 (2.10GHz/22Core)</td> +</tr> +<tr> +<td style="text-align:center">GPU</td> +<td style="text-align:center">Nvidia Tesla V100S</td> +</tr> +<tr> +<td style="text-align:center">メモリ</td> +<td style="text-align:center">512GB</td> +</tr> +<tr> +<td style="text-align:center">SAS SSD</td> +<td style="text-align:center">5TB</td> +</tr> +<tr> +<td style="text-align:center">NVMe SSD</td> +<td style="text-align:center">1.5TB</td> +</tr> +</tbody> +</table> </section> </foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="7" data-paginate="true" data-class="slide" data-theme="default" data-style="section { background-color: #FFFFFF; @@ -202,15 +260,23 @@ position: absolute; left: 50px; top: 35px; } -" class="slide" data-marpit-pagination="7" data-marpit-pagination-total="29" style="--paginate:true;--class:slide;--theme:default; +" class="slide" data-marpit-pagination="7" data-marpit-pagination-total="31" style="--paginate:true;--class:slide;--theme:default; ;"> -<h1>コンテナ環境の導入</h1> +<h1>VM貸出サービスの移行</h1> +<ul> +<li>VM貸出サービスを継続するため、KVMを導入する</li> +<li>VMからGPUの利用にはPCIパススルーの設定が必要となる</li> +<li>しかし、VM1つに対し、1つのGPUが必要になる <ul> -<li>Podman</li> -<li>Singularity</li> -<li>GPUは4台あるぞ?? +<li>希望する学生全員に割り当てができない</li> +</ul> +</li> +</ul> +<br /> <ul> -<li>ジョブスケジューラを構築しよう!</li> +<li>そこで、コンテナ環境を導入する +<ul> +<li>1つのGPUを複数のコンテナから利用できる</li> </ul> </li> </ul> @@ -234,22 +300,28 @@ position: absolute; left: 50px; top: 35px; } -" class="slide" data-marpit-pagination="8" data-marpit-pagination-total="29" style="--paginate:true;--class:slide;--theme:default; +" class="slide" data-marpit-pagination="8" data-marpit-pagination-total="31" style="--paginate:true;--class:slide;--theme:default; ;"> -<h1>Podman</h1> +<h1>コンテナ環境の導入</h1> <ul> -<li>Podmanはイメージの作成やコンテナの作成が遅い +<li>要件としてマルチユーザであり、GPUが利用できるなどがある</li> +<li>そこで、Podman、Singularityを導入する</li> +<li>Podman <ul> -<li>Podmanがまだ開発段階</li> -<li>Cephとの相性が悪い</li> +<li>rootlessで利用できる</li> +<li>nvidia-dockerの設定を行えばGPUを利用できる</li> </ul> </li> -<li>Rootlessでは実行できない機能がある +<li>Singularity <ul> -<li>IPアドレスの割り当て</li> +<li>rootlessで利用できる</li> +<li>GPUの利用が容易 +<ul> +<li>GPUドライバーのインストールのみ</li> </ul> </li> -<li>そこでPodmanのwrapperであるie-podmanを作成した</li> +</ul> +</li> </ul> </section> </foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="9" data-paginate="true" data-class="slide" data-theme="default" data-style="section { @@ -271,9 +343,96 @@ position: absolute; left: 50px; top: 35px; } -" class="slide" data-marpit-pagination="9" data-marpit-pagination-total="29" style="--paginate:true;--class:slide;--theme:default; +" class="slide" data-marpit-pagination="9" data-marpit-pagination-total="31" style="--paginate:true;--class:slide;--theme:default; +;"> +<h1>コンテナエンジンの補い</h1> +<ul> +<li> +<p>Podman</p> +<ul> +<li>イメージの作成やコンテナの作成が遅い +<ul> +<li>Podmanがまだ開発段階</li> +</ul> +</li> +<li>rootlessでは実行できない機能がある +<ul> +<li>IPアドレスの割り当て</li> +</ul> +</li> +</ul> +</li> +<li> +<p>Singularity</p> +<ul> +<li>イメージの作成に時間がかかる +<ul> +<li>ビルド中にエラーが発生すると、一から再開する必要がある</li> +</ul> +</li> +</ul> +</li> +<li> +<p>そこでPodmanのwrapperであるie-podmanを作成した</p> +</li> +</ul> +</section> +</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="10" data-paginate="true" data-class="slide" data-theme="default" data-style="section { + background-color: #FFFFFF; + font-size: 28px; + color: #4b4b4b; + font-family: "Arial", "Hiragino Maru Gothic ProN"; +} + +section.title { + font-size: 40px; + padding: 40px; +} +section.title h1 { + text-align: center; +} + +section.slide h1 { + position: absolute; + left: 50px; top: 35px; +} +" class="slide" data-marpit-pagination="10" data-marpit-pagination-total="31" style="--paginate:true;--class:slide;--theme:default; +;"> +<h1>ie-podmanの作成</h1> +<ul> +<li>ユーザのUID、GIDを取得し管理を行う +<ul> +<li>他のユーザのリソースを操作できない</li> +</ul> +</li> +<li>SSD上にイメージ等を保存し、高速を図る</li> +</ul> +</section> +</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="11" data-paginate="true" data-class="slide" data-theme="default" data-style="section { + background-color: #FFFFFF; + font-size: 28px; + color: #4b4b4b; + font-family: "Arial", "Hiragino Maru Gothic ProN"; +} + +section.title { + font-size: 40px; + padding: 40px; +} +section.title h1 { + text-align: center; +} + +section.slide h1 { + position: absolute; + left: 50px; top: 35px; +} +" class="slide" data-marpit-pagination="11" data-marpit-pagination-total="31" style="--paginate:true;--class:slide;--theme:default; ;"> <h1>ie-podmanの機能 1/2</h1> +<ul> +<li>Podmanのすべての機能をwrappするのではなく、一部機能のみを提供する</li> +</ul> <table> <thead> <tr> @@ -313,7 +472,7 @@ </tbody> </table> </section> -</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="10" data-paginate="true" data-class="slide" data-theme="default" data-style="section { +</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="12" data-paginate="true" data-class="slide" data-theme="default" data-style="section { background-color: #FFFFFF; font-size: 28px; color: #4b4b4b; @@ -332,9 +491,12 @@ position: absolute; left: 50px; top: 35px; } -" class="slide" data-marpit-pagination="10" data-marpit-pagination-total="29" style="--paginate:true;--class:slide;--theme:default; +" class="slide" data-marpit-pagination="12" data-marpit-pagination-total="31" style="--paginate:true;--class:slide;--theme:default; ;"> <h1>ie-podmanの機能 2/2</h1> +<ul> +<li>registryやsifなど独自機能を提供する</li> +</ul> <table> <thead> <tr> @@ -370,7 +532,7 @@ </tbody> </table> </section> -</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="11" data-paginate="true" data-class="slide" data-theme="default" data-style="section { +</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="13" data-paginate="true" data-class="slide" data-theme="default" data-style="section { background-color: #FFFFFF; font-size: 28px; color: #4b4b4b; @@ -389,14 +551,20 @@ position: absolute; left: 50px; top: 35px; } -" class="slide" data-marpit-pagination="11" data-marpit-pagination-total="29" style="--paginate:true;--class:slide;--theme:default; +" class="slide" data-marpit-pagination="13" data-marpit-pagination-total="31" style="--paginate:true;--class:slide;--theme:default; ;"> -<h1>Singularity</h1> +<h1>ジョブスケジューラの導入</h1> <ul> -<li>Slurm経由で実行しよう!</li> +<li>多くのリソースを必要とするプログラムは管理が必要である</li> +<li>4台のサーバのリソースを利用できるようにする必要がある</li> +<li>そこで、ジョブスケジューラのSlurmを採用する +<ul> +<li>フォールトトレラントで拡張性が高い</li> +</ul> +</li> </ul> </section> -</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="12" data-paginate="true" data-class="slide" data-theme="default" data-style="section { +</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="14" data-paginate="true" data-class="slide" data-theme="default" data-style="section { background-color: #FFFFFF; font-size: 28px; color: #4b4b4b; @@ -415,10 +583,10 @@ position: absolute; left: 50px; top: 35px; } -" class="slide" data-marpit-pagination="12" data-marpit-pagination-total="29" style="--paginate:true;--class:slide;--theme:default; +" class="slide" data-marpit-pagination="14" data-marpit-pagination-total="31" style="--paginate:true;--class:slide;--theme:default; ;"> <h1>ジョブスケジューラの構築</h1> -<p>利用方針 <strong>「最悪待ち時間を減らす」</strong></p> +<p>利用方針 <strong>「計算リソースの利用効率を上げる」</strong></p> <ul> <li>Jobの優先順位 <ul> @@ -439,67 +607,6 @@ </ul> <p>また、Jobのスケジュールにはバックフィルを採用する。</p> </section> -</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="13" data-paginate="true" data-class="slide" data-theme="default" data-style="section { - background-color: #FFFFFF; - font-size: 28px; - color: #4b4b4b; - font-family: "Arial", "Hiragino Maru Gothic ProN"; -} - -section.title { - font-size: 40px; - padding: 40px; -} -section.title h1 { - text-align: center; -} - -section.slide h1 { - position: absolute; - left: 50px; top: 35px; -} -" class="slide" data-marpit-pagination="13" data-marpit-pagination-total="29" style="--paginate:true;--class:slide;--theme:default; -;"> -<p><img src="images/backfill.png" alt="" /></p> -</section> -</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="14" data-paginate="true" data-class="slide" data-theme="default" data-style="section { - background-color: #FFFFFF; - font-size: 28px; - color: #4b4b4b; - font-family: "Arial", "Hiragino Maru Gothic ProN"; -} - -section.title { - font-size: 40px; - padding: 40px; -} -section.title h1 { - text-align: center; -} - -section.slide h1 { - position: absolute; - left: 50px; top: 35px; -} -" class="slide" data-marpit-pagination="14" data-marpit-pagination-total="29" style="--paginate:true;--class:slide;--theme:default; -;"> -<h1>ファイルシステムの構成</h1> -<ul> -<li>Cephを採用 -<ul> -<li>自己修復、自己管理機能を搭載</li> -<li>信頼性が高い</li> -<li>柔軟なアクセス方法の提供 -<ul> -<li>Object Gateway</li> -<li>ブロックデバイス</li> -<li>POSIX互換のファイルシステム</li> -</ul> -</li> -</ul> -</li> -</ul> -</section> </foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="15" data-paginate="true" data-class="slide" data-theme="default" data-style="section { background-color: #FFFFFF; font-size: 28px; @@ -519,11 +626,71 @@ position: absolute; left: 50px; top: 35px; } -" class="slide" data-marpit-pagination="15" data-marpit-pagination-total="29" style="--paginate:true;--class:slide;--theme:default; +" class="slide" data-marpit-pagination="15" data-marpit-pagination-total="31" style="--paginate:true;--class:slide;--theme:default; +;"> +<p><img src="images/backfill.png" alt="" /></p> +</section> +</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="16" data-paginate="true" data-class="slide" data-theme="default" data-style="section { + background-color: #FFFFFF; + font-size: 28px; + color: #4b4b4b; + font-family: "Arial", "Hiragino Maru Gothic ProN"; +} + +section.title { + font-size: 40px; + padding: 40px; +} +section.title h1 { + text-align: center; +} + +section.slide h1 { + position: absolute; + left: 50px; top: 35px; +} +" class="slide" data-marpit-pagination="16" data-marpit-pagination-total="31" style="--paginate:true;--class:slide;--theme:default; +;"> +<h1>ファイルシステムの導入</h1> +<ul> +<li>Cephを採用 +<ul> +<li>自己修復、自己管理機能を搭載するため信頼性が高い</li> +<li>柔軟なアクセス方法の提供 +<ul> +<li>Object Gateway</li> +<li>ブロックデバイス</li> +<li>POSIX互換のファイルシステム</li> +</ul> +</li> +</ul> +</li> +</ul> +</section> +</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="17" data-paginate="true" data-class="slide" data-theme="default" data-style="section { + background-color: #FFFFFF; + font-size: 28px; + color: #4b4b4b; + font-family: "Arial", "Hiragino Maru Gothic ProN"; +} + +section.title { + font-size: 40px; + padding: 40px; +} +section.title h1 { + text-align: center; +} + +section.slide h1 { + position: absolute; + left: 50px; top: 35px; +} +" class="slide" data-marpit-pagination="17" data-marpit-pagination-total="31" style="--paginate:true;--class:slide;--theme:default; ;"> <h1>教育情報システムの構成</h1> <ul> -<li>サーバ全てにPodman、Singularityをインストール</li> +<li>汎用サーバ全てにKVM、Podman、Singularityをインストール</li> <li>Slurm <ul> <li>汎用サーバ1台をコントローラ/計算ノード</li> @@ -557,29 +724,8 @@ position: absolute; left: 50px; top: 35px; } -" class="slide" data-marpit-pagination="16" data-marpit-pagination-total="29" style="--paginate:true;--class:slide;--theme:default; -;" data-marpit-advanced-background="background"><div data-marpit-advanced-background-container="true" data-marpit-advanced-background-direction="horizontal"><figure style="background-image:url("images/system.png");background-size:80%;"></figure></div></section></foreignObject><foreignObject width="1280" height="720"><section id="16" data-paginate="true" data-class="slide" data-theme="default" data-style="section { - background-color: #FFFFFF; - font-size: 28px; - color: #4b4b4b; - font-family: "Arial", "Hiragino Maru Gothic ProN"; -} - -section.title { - font-size: 40px; - padding: 40px; -} -section.title h1 { - text-align: center; -} - -section.slide h1 { - position: absolute; - left: 50px; top: 35px; -} -" class="slide" data-marpit-pagination="16" data-marpit-pagination-total="29" style="--paginate:true;--class:slide;--theme:default; -;" data-marpit-advanced-background="content"></section> -</foreignObject><foreignObject width="1280" height="720" data-marpit-advanced-background="pseudo"><section class="slide" style="" data-marpit-advanced-background="pseudo" data-marpit-pagination="16" data-marpit-pagination-total="29"></section></foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="17" data-paginate="true" data-class="title" data-theme="default" data-style="section { +" class="slide" data-marpit-pagination="18" data-marpit-pagination-total="31" style="--paginate:true;--class:slide;--theme:default; +;" data-marpit-advanced-background="background"><div data-marpit-advanced-background-container="true" data-marpit-advanced-background-direction="horizontal"><figure style="background-image:url("images/system.png");background-size:80%;"></figure></div></section></foreignObject><foreignObject width="1280" height="720"><section id="18" data-paginate="true" data-class="slide" data-theme="default" data-style="section { background-color: #FFFFFF; font-size: 28px; color: #4b4b4b; @@ -598,11 +744,9 @@ position: absolute; left: 50px; top: 35px; } -" class="title" data-marpit-pagination="17" data-marpit-pagination-total="29" style="--paginate:true;--class:title;--theme:default; -;"> -<h1>教育情報システムの利用と管理</h1> -</section> -</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="18" data-paginate="true" data-class="slide" data-theme="default" data-style="section { +" class="slide" data-marpit-pagination="18" data-marpit-pagination-total="31" style="--paginate:true;--class:slide;--theme:default; +;" data-marpit-advanced-background="content"></section> +</foreignObject><foreignObject width="1280" height="720" data-marpit-advanced-background="pseudo"><section class="slide" style="" data-marpit-advanced-background="pseudo" data-marpit-pagination="18" data-marpit-pagination-total="31"></section></foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="19" data-paginate="true" data-class="title" data-theme="default" data-style="section { background-color: #FFFFFF; font-size: 28px; color: #4b4b4b; @@ -621,32 +765,9 @@ position: absolute; left: 50px; top: 35px; } -" class="slide" data-marpit-pagination="18" data-marpit-pagination-total="29" style="--paginate:true;--class:slide;--theme:default; +" class="title" data-marpit-pagination="19" data-marpit-pagination-total="31" style="--paginate:true;--class:title;--theme:default; ;"> -<h1>LDAPによる管理</h1> -</section> -</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="19" data-paginate="true" data-class="slide" data-theme="default" data-style="section { - background-color: #FFFFFF; - font-size: 28px; - color: #4b4b4b; - font-family: "Arial", "Hiragino Maru Gothic ProN"; -} - -section.title { - font-size: 40px; - padding: 40px; -} -section.title h1 { - text-align: center; -} - -section.slide h1 { - position: absolute; - left: 50px; top: 35px; -} -" class="slide" data-marpit-pagination="19" data-marpit-pagination-total="29" style="--paginate:true;--class:slide;--theme:default; -;"> -<h1>ie-podmanの利用</h1> +<h1>教育情報システムの利用と管理</h1> </section> </foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="20" data-paginate="true" data-class="slide" data-theme="default" data-style="section { background-color: #FFFFFF; @@ -667,11 +788,11 @@ position: absolute; left: 50px; top: 35px; } -" class="slide" data-marpit-pagination="20" data-marpit-pagination-total="29" style="--paginate:true;--class:slide;--theme:default; +" class="slide" data-marpit-pagination="20" data-marpit-pagination-total="31" style="--paginate:true;--class:slide;--theme:default; ;"> -<h1>GPUの利用方法</h1> +<h1>VM貸出サービスの利用</h1> </section> -</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="21" data-paginate="true" data-class="title" data-theme="default" data-style="section { +</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="21" data-paginate="true" data-class="slide" data-theme="default" data-style="section { background-color: #FFFFFF; font-size: 28px; color: #4b4b4b; @@ -690,9 +811,9 @@ position: absolute; left: 50px; top: 35px; } -" class="title" data-marpit-pagination="21" data-marpit-pagination-total="29" style="--paginate:true;--class:title;--theme:default; +" class="slide" data-marpit-pagination="21" data-marpit-pagination-total="31" style="--paginate:true;--class:slide;--theme:default; ;"> -<h1>教育情報システムの評価</h1> +<h1>ie-podmanの利用</h1> </section> </foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="22" data-paginate="true" data-class="slide" data-theme="default" data-style="section { background-color: #FFFFFF; @@ -713,7 +834,53 @@ position: absolute; left: 50px; top: 35px; } -" class="slide" data-marpit-pagination="22" data-marpit-pagination-total="29" style="--paginate:true;--class:slide;--theme:default; +" class="slide" data-marpit-pagination="22" data-marpit-pagination-total="31" style="--paginate:true;--class:slide;--theme:default; +;"> +<h1>GPUの利用方法</h1> +</section> +</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="23" data-paginate="true" data-class="title" data-theme="default" data-style="section { + background-color: #FFFFFF; + font-size: 28px; + color: #4b4b4b; + font-family: "Arial", "Hiragino Maru Gothic ProN"; +} + +section.title { + font-size: 40px; + padding: 40px; +} +section.title h1 { + text-align: center; +} + +section.slide h1 { + position: absolute; + left: 50px; top: 35px; +} +" class="title" data-marpit-pagination="23" data-marpit-pagination-total="31" style="--paginate:true;--class:title;--theme:default; +;"> +<h1>教育情報システムの評価</h1> +</section> +</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="24" data-paginate="true" data-class="slide" data-theme="default" data-style="section { + background-color: #FFFFFF; + font-size: 28px; + color: #4b4b4b; + font-family: "Arial", "Hiragino Maru Gothic ProN"; +} + +section.title { + font-size: 40px; + padding: 40px; +} +section.title h1 { + text-align: center; +} + +section.slide h1 { + position: absolute; + left: 50px; top: 35px; +} +" class="slide" data-marpit-pagination="24" data-marpit-pagination-total="31" style="--paginate:true;--class:slide;--theme:default; ;"> <h1>ファイルシステムの評価 1/2</h1> <ul> @@ -758,8 +925,8 @@ position: absolute; left: 50px; top: 35px; } -" class="slide" data-marpit-pagination="23" data-marpit-pagination-total="29" style="--paginate:true;--class:slide;--theme:default; -;" data-marpit-advanced-background="background"><div data-marpit-advanced-background-container="true" data-marpit-advanced-background-direction="horizontal"><figure style="background-image:url("images/fswrite.png");background-size:70%;"></figure></div></section></foreignObject><foreignObject width="1280" height="720"><section id="23" data-paginate="true" data-class="slide" data-theme="default" data-style="section { +" class="slide" data-marpit-pagination="25" data-marpit-pagination-total="31" style="--paginate:true;--class:slide;--theme:default; +;" data-marpit-advanced-background="background"><div data-marpit-advanced-background-container="true" data-marpit-advanced-background-direction="horizontal"><figure style="background-image:url("images/fswrite.png");background-size:70%;"></figure></div></section></foreignObject><foreignObject width="1280" height="720"><section id="25" data-paginate="true" data-class="slide" data-theme="default" data-style="section { background-color: #FFFFFF; font-size: 28px; color: #4b4b4b; @@ -778,11 +945,11 @@ position: absolute; left: 50px; top: 35px; } -" class="slide" data-marpit-pagination="23" data-marpit-pagination-total="29" style="--paginate:true;--class:slide;--theme:default; +" class="slide" data-marpit-pagination="25" data-marpit-pagination-total="31" style="--paginate:true;--class:slide;--theme:default; ;" data-marpit-advanced-background="content"> <h1>ファイルシステムの評価 2/2</h1> </section> -</foreignObject><foreignObject width="1280" height="720" data-marpit-advanced-background="pseudo"><section class="slide" style="" data-marpit-advanced-background="pseudo" data-marpit-pagination="23" data-marpit-pagination-total="29"></section></foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="24" data-paginate="true" data-class="slide" data-theme="default" data-style="section { +</foreignObject><foreignObject width="1280" height="720" data-marpit-advanced-background="pseudo"><section class="slide" style="" data-marpit-advanced-background="pseudo" data-marpit-pagination="25" data-marpit-pagination-total="31"></section></foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="26" data-paginate="true" data-class="slide" data-theme="default" data-style="section { background-color: #FFFFFF; font-size: 28px; color: #4b4b4b; @@ -801,7 +968,7 @@ position: absolute; left: 50px; top: 35px; } -" class="slide" data-marpit-pagination="24" data-marpit-pagination-total="29" style="--paginate:true;--class:slide;--theme:default; +" class="slide" data-marpit-pagination="26" data-marpit-pagination-total="31" style="--paginate:true;--class:slide;--theme:default; ;"> <h1>ie-podmanの評価 1/3</h1> <ul> @@ -814,7 +981,7 @@ </li> </ul> </section> -</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="25" data-paginate="true" data-class="slide" data-theme="default" data-style="section { +</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="27" data-paginate="true" data-class="slide" data-theme="default" data-style="section { background-color: #FFFFFF; font-size: 28px; color: #4b4b4b; @@ -833,7 +1000,7 @@ position: absolute; left: 50px; top: 35px; } -" class="slide" data-marpit-pagination="25" data-marpit-pagination-total="29" style="--paginate:true;--class:slide;--theme:default; +" class="slide" data-marpit-pagination="27" data-marpit-pagination-total="31" style="--paginate:true;--class:slide;--theme:default; ;"> <h1>ie-podmanの評価 2/3</h1> <pre><code class="language-Dockerfile"><svg data-marp-fitting="svg" data-marp-fitting-code><foreignObject><span data-marp-fitting-svg-content><span data-marp-fitting-svg-content-wrap><span class="hljs-keyword">FROM</span> ubuntu:<span class="hljs-number">18.04</span> @@ -874,8 +1041,8 @@ position: absolute; left: 50px; top: 35px; } -" class="slide" data-marpit-pagination="26" data-marpit-pagination-total="29" style="--paginate:true;--class:slide;--theme:default; -;" data-marpit-advanced-background="background"><div data-marpit-advanced-background-container="true" data-marpit-advanced-background-direction="horizontal"><figure style="background-image:url("images/container.png");background-size:70%;"></figure></div></section></foreignObject><foreignObject width="1280" height="720"><section id="26" data-paginate="true" data-class="slide" data-theme="default" data-style="section { +" class="slide" data-marpit-pagination="28" data-marpit-pagination-total="31" style="--paginate:true;--class:slide;--theme:default; +;" data-marpit-advanced-background="background"><div data-marpit-advanced-background-container="true" data-marpit-advanced-background-direction="horizontal"><figure style="background-image:url("images/container.png");background-size:70%;"></figure></div></section></foreignObject><foreignObject width="1280" height="720"><section id="28" data-paginate="true" data-class="slide" data-theme="default" data-style="section { background-color: #FFFFFF; font-size: 28px; color: #4b4b4b; @@ -894,11 +1061,11 @@ position: absolute; left: 50px; top: 35px; } -" class="slide" data-marpit-pagination="26" data-marpit-pagination-total="29" style="--paginate:true;--class:slide;--theme:default; +" class="slide" data-marpit-pagination="28" data-marpit-pagination-total="31" style="--paginate:true;--class:slide;--theme:default; ;" data-marpit-advanced-background="content"> <h1>ie-podmanの評価 3/3</h1> </section> -</foreignObject><foreignObject width="1280" height="720" data-marpit-advanced-background="pseudo"><section class="slide" style="" data-marpit-advanced-background="pseudo" data-marpit-pagination="26" data-marpit-pagination-total="29"></section></foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="27" data-paginate="true" data-class="slide" data-theme="default" data-style="section { +</foreignObject><foreignObject width="1280" height="720" data-marpit-advanced-background="pseudo"><section class="slide" style="" data-marpit-advanced-background="pseudo" data-marpit-pagination="28" data-marpit-pagination-total="31"></section></foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="29" data-paginate="true" data-class="slide" data-theme="default" data-style="section { background-color: #FFFFFF; font-size: 28px; color: #4b4b4b; @@ -917,7 +1084,7 @@ position: absolute; left: 50px; top: 35px; } -" class="slide" data-marpit-pagination="27" data-marpit-pagination-total="29" style="--paginate:true;--class:slide;--theme:default; +" class="slide" data-marpit-pagination="29" data-marpit-pagination-total="31" style="--paginate:true;--class:slide;--theme:default; ;"> <h1>学習環境の評価</h1> <ul> @@ -935,7 +1102,7 @@ </li> </ul> </section> -</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="28" data-paginate="true" data-class="title" data-theme="default" data-style="section { +</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="30" data-paginate="true" data-class="title" data-theme="default" data-style="section { background-color: #FFFFFF; font-size: 28px; color: #4b4b4b; @@ -954,11 +1121,11 @@ position: absolute; left: 50px; top: 35px; } -" class="title" data-marpit-pagination="28" data-marpit-pagination-total="29" style="--paginate:true;--class:title;--theme:default; +" class="title" data-marpit-pagination="30" data-marpit-pagination-total="31" style="--paginate:true;--class:title;--theme:default; ;"> <h1>まとめ</h1> </section> -</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="29" data-paginate="true" data-class="slide" data-theme="default" data-style="section { +</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="31" data-paginate="true" data-class="slide" data-theme="default" data-style="section { background-color: #FFFFFF; font-size: 28px; color: #4b4b4b; @@ -977,7 +1144,7 @@ position: absolute; left: 50px; top: 35px; } -" class="slide" data-marpit-pagination="29" data-marpit-pagination-total="29" style="--paginate:true;--class:slide;--theme:default; +" class="slide" data-marpit-pagination="31" data-marpit-pagination-total="31" style="--paginate:true;--class:slide;--theme:default; ;"> <h1>今後の課題</h1> <ul>
--- a/slide/slide.md Wed Feb 10 21:08:31 2021 +0900 +++ b/slide/slide.md Thu Feb 11 23:48:04 2021 +0900 @@ -46,15 +46,32 @@ - 無料だと制限がある --- -<!-- class: title --> -# 旧システム +<!-- class: slide --> +# これまでの学生向け学習環境 + +- VM貸出サービス + - Akatsuki + - 申請を行い、Webコントロールパネルから作成 + - ie-virsh + - 手元のPCで作成したVMイメージのデプロイ + +- VM貸出サービスのデフォルトスペック + - CPU 1コア + - メモリ 1GB + - ディスク容量 10GB --- -<!-- class: slide --> -# 旧システムでの問題点 +# これまでの学習環境の問題点 + +- VM貸出サービスの一部学生は申請の方法が分からなかったり、貸出サービスがあることが周知されていなかったため、旧システムのリソースが余っていた + +</br> -- 仮想環境の貸出サービスにおいて,新しく仮想環境を作成するにはシステム管理チームへ申請が必要であった.そのため,一部学生は申請の方法が分からなかったり,貸出サービスがあることが周知されていなかったため,旧システムのリソースが余っていた -- 機械学習の演習ではGPUが求められる.だが,旧システムにはGPUが搭載されていないため,要求されるリソースを提供できない.そのため,貸出サービスではなく研究室ごとの機器が多く利用された. +- VMのスペックの変更にはシステム管理チームへの申請が必要であり、利用者と管理者とのやり取りなどの手間があった + +</br> + +- 旧システムにはGPUが搭載されていないため、貸出サービスではなく研究室ごとの機器、クラウドサービスが多く利用された --- <!-- class: title --> @@ -62,33 +79,71 @@ --- <!-- class: slide --> -# 仮想環境の構築 +# オンプレミス環境 + +- 汎用サーバ x 4 +- ディスクサーバ x 2 + +| | | +| :---: | :---: | +| CPU | Intel Xeon Gold 6238 (2.10GHz/22Core) | +| GPU | Nvidia Tesla V100S | +| メモリ | 512GB | +| SAS SSD | 5TB | +| NVMe SSD | 1.5TB | -- KVMを利用する - - GPUを利用できない -- そうだ、コンテナ環境を導入しよう!! +--- +# VM貸出サービスの移行 + +- VM貸出サービスを継続するため、KVMを導入する +- VMからGPUの利用にはPCIパススルーの設定が必要となる +- しかし、VM1つに対し、1つのGPUが必要になる + - 希望する学生全員に割り当てができない + +</br> + +- そこで、コンテナ環境を導入する + - 1つのGPUを複数のコンテナから利用できる --- # コンテナ環境の導入 +- 要件としてマルチユーザであり、GPUが利用できるなどがある +- そこで、Podman、Singularityを導入する - Podman + - rootlessで利用できる + - nvidia-dockerの設定を行えばGPUを利用できる - Singularity -- GPUは4台あるぞ?? - - ジョブスケジューラを構築しよう! + - rootlessで利用できる + - GPUの利用が容易 + - GPUドライバーのインストールのみ --- -# Podman +# コンテナエンジンの補い -- Podmanはイメージの作成やコンテナの作成が遅い - - Podmanがまだ開発段階 - - Cephとの相性が悪い -- Rootlessでは実行できない機能がある - - IPアドレスの割り当て +- Podman + - イメージの作成やコンテナの作成が遅い + - Podmanがまだ開発段階 + - rootlessでは実行できない機能がある + - IPアドレスの割り当て +- Singularity + - イメージの作成に時間がかかる + - ビルド中にエラーが発生すると、一から再開する必要がある + - そこでPodmanのwrapperであるie-podmanを作成した --- +# ie-podmanの作成 + +- ユーザのUID、GIDを取得し管理を行う + - 他のユーザのリソースを操作できない +- SSD上にイメージ等を保存し、高速を図る + +--- # ie-podmanの機能 1/2 +- Podmanのすべての機能をwrappするのではなく、一部機能のみを提供する + | コマンド | 機能 | | --- | --- | | build| Containerfileの指示に従いイメージを作成する | @@ -102,6 +157,8 @@ --- # ie-podmanの機能 2/2 +- registryやsifなど独自機能を提供する + | コマンド | 機能 | | --- | --- | | registry | 学科のレジストリの操作を行う | @@ -112,14 +169,17 @@ | stop | コンテナを停止する | --- -# Singularity +# ジョブスケジューラの導入 -- Slurm経由で実行しよう! +- 多くのリソースを必要とするプログラムは管理が必要である +- 4台のサーバのリソースを利用できるようにする必要がある +- そこで、ジョブスケジューラのSlurmを採用する + - フォールトトレラントで拡張性が高い --- # ジョブスケジューラの構築 -利用方針 **「最悪待ち時間を減らす」** +利用方針 **「計算リソースの利用効率を上げる」** - Jobの優先順位 - 要求するリソースの少ないJobの優先度を高くする - 実行時間が短いJobの優先度を高くする @@ -137,11 +197,10 @@ ![](images/backfill.png) --- -# ファイルシステムの構成 +# ファイルシステムの導入 - Cephを採用 - - 自己修復、自己管理機能を搭載 - - 信頼性が高い + - 自己修復、自己管理機能を搭載するため信頼性が高い - 柔軟なアクセス方法の提供 - Object Gateway - ブロックデバイス @@ -150,7 +209,7 @@ --- # 教育情報システムの構成 -- サーバ全てにPodman、Singularityをインストール +- 汎用サーバ全てにKVM、Podman、Singularityをインストール - Slurm - 汎用サーバ1台をコントローラ/計算ノード - 残りを計算ノード @@ -168,7 +227,7 @@ --- <!-- class: slide --> -# LDAPによる管理 +# VM貸出サービスの利用 --- # ie-podmanの利用