Mercurial > hg > Papers > 2021 > mk-thesis
changeset 59:c72f0d0eb28a
update slide
author | Ken Miyahira <e175733@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 15 Feb 2021 16:18:55 +0900 |
parents | f6fd06b1c9ab |
children | 424850058f1b |
files | paper/file/benchmark/bar.py paper/file/benchmark/pdf/container3.pdf slide/slide.html slide/slide.md |
diffstat | 4 files changed, 92 insertions(+), 100 deletions(-) [+] |
line wrap: on
line diff
--- a/paper/file/benchmark/bar.py Mon Feb 15 03:01:43 2021 +0900 +++ b/paper/file/benchmark/bar.py Mon Feb 15 16:18:55 2021 +0900 @@ -5,10 +5,10 @@ x, y = [], [] print("データ読み込み") x = [1, 2, 3] - label = ["Docker", "ie-podman", "Podman"] - realtime = [59.52, 54.24, 199.40] - usertime = [7.52, 13.22, 23.18] - systime = [7.89, 8.69, 23.78] + label = ["Docker", "ie-podman", "Singularity", "Podman"] + realtime = [59.52, 54.24, 53.59, 199.40] + usertime = [7.52, 13.22, 26.10, 23.18] + systime = [7.89, 8.69, 3.00, 23.78] name = input("GraphName: ") xlabel = input("xlabel: ") @@ -27,14 +27,14 @@ plt.xlabel(str(xlabel)) plt.ylim(sy,ey) plt.ylabel(str(ylabel)) - realx = [1, 2, 3] - userx = [1.3,2.3,3.3] - sysx = [1.6,2.6,3.6] + realx = [1, 2, 3, 4] + userx = [1.3,2.3,3.3,4.3] + sysx = [1.6,2.6,3.6,4.6] plt.bar(realx, realtime, label="real", width=0.3, align="center") plt.bar(userx, usertime, label="user", width=0.3, align="center") plt.bar(sysx, systime, label="sys", width=0.3, align="center") plt.legend() - plt.xticks([1.25, 2.25, 3.25], label) + plt.xticks([1.25, 2.25, 3.25, 4.25], label) plt.savefig("./pdf/"+str(name)+".pdf") plt.delaxes()
--- a/slide/slide.html Mon Feb 15 03:01:43 2021 +0900 +++ b/slide/slide.html Mon Feb 15 16:18:55 2021 +0900 @@ -27,7 +27,7 @@ position: absolute; left: 50px; top: 35px; } -" class="title" data-marpit-pagination="1" data-marpit-pagination-total="26" style="--paginate:true;--class:title;--theme:default; +" class="title" data-marpit-pagination="1" data-marpit-pagination-total="25" 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="26" style="--paginate:true;--class:slide;--theme:default; +" class="slide" data-marpit-pagination="2" data-marpit-pagination-total="25" style="--paginate:true;--class:slide;--theme:default; ;"> <h1>学生が自由に利用できる教育情報システムの構築</h1> <ul> @@ -100,7 +100,7 @@ position: absolute; left: 50px; top: 35px; } -" class="slide" data-marpit-pagination="3" data-marpit-pagination-total="26" style="--paginate:true;--class:slide;--theme:default; +" class="slide" data-marpit-pagination="3" data-marpit-pagination-total="25" style="--paginate:true;--class:slide;--theme:default; ;"> <h1>これまでの学生向け学習環境</h1> <ul> @@ -148,7 +148,7 @@ position: absolute; left: 50px; top: 35px; } -" class="slide" data-marpit-pagination="4" data-marpit-pagination-total="26" style="--paginate:true;--class:slide;--theme:default; +" class="slide" data-marpit-pagination="4" data-marpit-pagination-total="25" style="--paginate:true;--class:slide;--theme:default; ;"> <h1>これまでの学習環境の問題点</h1> <ul> @@ -182,7 +182,7 @@ position: absolute; left: 50px; top: 35px; } -" class="title" data-marpit-pagination="5" data-marpit-pagination-total="26" style="--paginate:true;--class:title;--theme:default; +" class="title" data-marpit-pagination="5" data-marpit-pagination-total="25" style="--paginate:true;--class:title;--theme:default; ;"> <h1>教育情報システムの構築</h1> </section> @@ -205,7 +205,7 @@ position: absolute; left: 50px; top: 35px; } -" class="slide" data-marpit-pagination="6" data-marpit-pagination-total="26" style="--paginate:true;--class:slide;--theme:default; +" class="slide" data-marpit-pagination="6" data-marpit-pagination-total="25" style="--paginate:true;--class:slide;--theme:default; ;"> <h1>VMベースからコンテナベースへ移行</h1> <ul> @@ -243,7 +243,7 @@ position: absolute; left: 50px; top: 35px; } -" class="slide" data-marpit-pagination="7" data-marpit-pagination-total="26" style="--paginate:true;--class:slide;--theme:default; +" class="slide" data-marpit-pagination="7" data-marpit-pagination-total="25" style="--paginate:true;--class:slide;--theme:default; ;"> <h1>コンテナ環境の導入</h1> <ul> @@ -253,7 +253,6 @@ <li> <p>Podman</p> <ul> -<li>rootlessで利用できる</li> <li>Dockerと同じCLIを提供する (<code>alias docker=podman</code>)</li> <li>nvidia-dockerの設定を行えばGPUを利用できる</li> </ul> @@ -261,11 +260,8 @@ <li> <p>Singularity</p> <ul> -<li>ホームディレクトリ、/tmpなどがコンテナにマウントされる -<ul> -<li>プログラムの実行に便利</li> -</ul> -</li> +<li>ホームディレクトリ、/tmpなどがコンテナにマウントされる</li> +<li>コンテナにユーザ権限が引き継がれる</li> <li>コンテナから容易にGPUを利用できる</li> </ul> </li> @@ -293,7 +289,7 @@ position: absolute; left: 50px; top: 35px; } -" class="slide" data-marpit-pagination="8" data-marpit-pagination-total="26" style="--paginate:true;--class:slide;--theme:default; +" class="slide" data-marpit-pagination="8" data-marpit-pagination-total="25" style="--paginate:true;--class:slide;--theme:default; ;"> <h1>コンテナエンジンの補い</h1> <ul> @@ -342,7 +338,7 @@ position: absolute; left: 50px; top: 35px; } -" class="slide" data-marpit-pagination="9" data-marpit-pagination-total="26" style="--paginate:true;--class:slide;--theme:default; +" class="slide" data-marpit-pagination="9" data-marpit-pagination-total="25" style="--paginate:true;--class:slide;--theme:default; ;"> <h1>ie-podmanの作成</h1> <ul> @@ -375,7 +371,7 @@ position: absolute; left: 50px; top: 35px; } -" class="slide" data-marpit-pagination="10" data-marpit-pagination-total="26" style="--paginate:true;--class:slide;--theme:default; +" class="slide" data-marpit-pagination="10" data-marpit-pagination-total="25" style="--paginate:true;--class:slide;--theme:default; ;"> <h1>ie-podmanの機能 1/2</h1> <ul> @@ -439,7 +435,7 @@ position: absolute; left: 50px; top: 35px; } -" class="slide" data-marpit-pagination="11" data-marpit-pagination-total="26" style="--paginate:true;--class:slide;--theme:default; +" class="slide" data-marpit-pagination="11" data-marpit-pagination-total="25" style="--paginate:true;--class:slide;--theme:default; ;"> <h1>ie-podmanの機能 2/2</h1> <ul> @@ -499,7 +495,7 @@ position: absolute; left: 50px; top: 35px; } -" class="slide" data-marpit-pagination="12" data-marpit-pagination-total="26" style="--paginate:true;--class:slide;--theme:default; +" class="slide" data-marpit-pagination="12" data-marpit-pagination-total="25" style="--paginate:true;--class:slide;--theme:default; ;"> <h1>ジョブスケジューラとファイルシステムの導入</h1> <ul> @@ -516,7 +512,8 @@ <li>Cephを採用 <ul> <li>自己修復、自己管理機能を搭載するため信頼性が高い</li> -<li>柔軟なアクセス方法の提供 +<li>Monitorを3台のサーバで構成することで、最大1台の停止は許容される</li> +<li>柔軟なアクセス方法を提供する <ul> <li>Object Gateway</li> <li>ブロックデバイス</li> @@ -546,7 +543,7 @@ position: absolute; left: 50px; top: 35px; } -" class="slide" data-marpit-pagination="13" data-marpit-pagination-total="26" style="--paginate:true;--class:slide;--theme:default; +" class="slide" data-marpit-pagination="13" data-marpit-pagination-total="25" 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="13" data-paginate="true" data-class="slide" data-theme="default" data-style="section { background-color: #FFFFFF; font-size: 28px; @@ -566,9 +563,9 @@ position: absolute; left: 50px; top: 35px; } -" class="slide" data-marpit-pagination="13" data-marpit-pagination-total="26" style="--paginate:true;--class:slide;--theme:default; +" class="slide" data-marpit-pagination="13" data-marpit-pagination-total="25" 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="13" data-marpit-pagination-total="26"></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="title" 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="13" data-marpit-pagination-total="25"></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="title" data-theme="default" data-style="section { background-color: #FFFFFF; font-size: 28px; color: #4b4b4b; @@ -587,7 +584,7 @@ position: absolute; left: 50px; top: 35px; } -" class="title" data-marpit-pagination="14" data-marpit-pagination-total="26" style="--paginate:true;--class:title;--theme:default; +" class="title" data-marpit-pagination="14" data-marpit-pagination-total="25" style="--paginate:true;--class:title;--theme:default; ;"> <h1>教育情報システムの利用</h1> </section> @@ -610,7 +607,7 @@ position: absolute; left: 50px; top: 35px; } -" class="slide" data-marpit-pagination="15" data-marpit-pagination-total="26" style="--paginate:true;--class:slide;--theme:default; +" class="slide" data-marpit-pagination="15" data-marpit-pagination-total="25" style="--paginate:true;--class:slide;--theme:default; ;"> <h1>ie-podmanの使用方法 1/2</h1> <ul> @@ -649,7 +646,7 @@ position: absolute; left: 50px; top: 35px; } -" class="slide" data-marpit-pagination="16" data-marpit-pagination-total="26" style="--paginate:true;--class:slide;--theme:default; +" class="slide" data-marpit-pagination="16" data-marpit-pagination-total="25" style="--paginate:true;--class:slide;--theme:default; ;"> <h1>ie-podmanの使用方法 2/2</h1> <ul> @@ -695,11 +692,11 @@ position: absolute; left: 50px; top: 35px; } -" class="slide" data-marpit-pagination="17" data-marpit-pagination-total="26" style="--paginate:true;--class:slide;--theme:default; +" class="slide" data-marpit-pagination="17" data-marpit-pagination-total="25" style="--paginate:true;--class:slide;--theme:default; ;"> <h1>GPUの利用方法</h1> <ul> -<li>Singularityでは容易にGPUを利用できる +<li>GPUを使用するプログラムはSingularityから実行する <ul> <li><code>singularity run --nv [SIF_NAME]</code></li> </ul> @@ -742,7 +739,7 @@ position: absolute; left: 50px; top: 35px; } -" class="slide" data-marpit-pagination="18" data-marpit-pagination-total="26" style="--paginate:true;--class:slide;--theme:default; +" class="slide" data-marpit-pagination="18" data-marpit-pagination-total="25" style="--paginate:true;--class:slide;--theme:default; ;"> <h1>Batchファイルの例</h1> <ul> @@ -788,7 +785,7 @@ position: absolute; left: 50px; top: 35px; } -" class="title" data-marpit-pagination="19" data-marpit-pagination-total="26" style="--paginate:true;--class:title;--theme:default; +" class="title" data-marpit-pagination="19" data-marpit-pagination-total="25" style="--paginate:true;--class:title;--theme:default; ;"> <h1>教育情報システムの評価</h1> </section> @@ -811,9 +808,9 @@ position: absolute; left: 50px; top: 35px; } -" class="slide" data-marpit-pagination="20" data-marpit-pagination-total="26" style="--paginate:true;--class:slide;--theme:default; +" class="slide" data-marpit-pagination="20" data-marpit-pagination-total="25" style="--paginate:true;--class:slide;--theme:default; ;"> -<h1>ie-podmanの評価 1/3</h1> +<h1>ie-podmanの評価 1/2</h1> <ul> <li> <p>実験環境</p> @@ -833,7 +830,7 @@ apt-get upgrade -y</span> </span></span></foreignObject></svg></code></pre> <ul> -<li>Build速度の比較 +<li>比較するコンテナエンジン <ul> <li>Docker</li> <li>ie-podman (Podman rootfull wrapper)</li> @@ -861,7 +858,7 @@ position: absolute; left: 50px; top: 35px; } -" class="slide" data-marpit-pagination="21" data-marpit-pagination-total="26" style="--paginate:true;--class:slide;--theme:default; +" class="slide" data-marpit-pagination="21" data-marpit-pagination-total="25" 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/container2.png");background-size:70%;"></figure></div></section></foreignObject><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; @@ -881,11 +878,11 @@ position: absolute; left: 50px; top: 35px; } -" class="slide" data-marpit-pagination="21" data-marpit-pagination-total="26" style="--paginate:true;--class:slide;--theme:default; +" class="slide" data-marpit-pagination="21" data-marpit-pagination-total="25" style="--paginate:true;--class:slide;--theme:default; ;" data-marpit-advanced-background="content"> -<h1>ie-podmanの評価 2/3</h1> +<h1>ie-podmanの評価 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="21" data-marpit-pagination-total="26"></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 { +</foreignObject><foreignObject width="1280" height="720" data-marpit-advanced-background="pseudo"><section class="slide" style="" data-marpit-advanced-background="pseudo" data-marpit-pagination="21" data-marpit-pagination-total="25"></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; font-size: 28px; color: #4b4b4b; @@ -904,39 +901,7 @@ position: absolute; left: 50px; top: 35px; } -" class="slide" data-marpit-pagination="22" data-marpit-pagination-total="26" style="--paginate:true;--class:slide;--theme:default; -;"> -<h1>ie-podmanの評価 3/3</h1> -<ul> -<li>Rootlessは<code>syscall</code>が複数呼ばれている -<ul> -<li>そのため、イメージの作成が遅いのではないか</li> -</ul> -</li> -<li>左がrootless、右がrootfull</li> -</ul> -<p><img src="images/syscall.png" alt="height:325" style="height:325px;" /></p> -</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="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="23" data-marpit-pagination-total="26" style="--paginate:true;--class:slide;--theme:default; +" class="slide" data-marpit-pagination="22" data-marpit-pagination-total="25" style="--paginate:true;--class:slide;--theme:default; ;"> <h1>ファイルシステムの評価 1/2</h1> <ul> @@ -947,12 +912,28 @@ </ul> </li> <li> -<p>書き込み速度の比較</p> +<p>比較するファイルシステム</p> +<ul> +<li>GFS2 +<ul> +<li>旧システムのVMイメージの保存場所として利用された</li> +</ul> +</li> +<li>NFS <ul> -<li>GFS2</li> -<li>NFS</li> -<li>CephFS</li> -<li>CephRBD</li> +<li>旧システムのホームディレクトリとして利用された</li> +</ul> +</li> +<li>CephFS +<ul> +<li>新システムのホームディレクトリとして利用する</li> +</ul> +</li> +<li>CephRBD +<ul> +<li>新システムのVMイメージの保存場所の1つとして利用する</li> +</ul> +</li> </ul> </li> </ul> @@ -976,8 +957,8 @@ position: absolute; left: 50px; top: 35px; } -" class="slide" data-marpit-pagination="24" data-marpit-pagination-total="26" 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="24" data-paginate="true" data-class="slide" data-theme="default" data-style="section { +" class="slide" data-marpit-pagination="23" data-marpit-pagination-total="25" 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 { background-color: #FFFFFF; font-size: 28px; color: #4b4b4b; @@ -996,11 +977,11 @@ position: absolute; left: 50px; top: 35px; } -" class="slide" data-marpit-pagination="24" data-marpit-pagination-total="26" style="--paginate:true;--class:slide;--theme:default; +" class="slide" data-marpit-pagination="23" data-marpit-pagination-total="25" 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="24" data-marpit-pagination-total="26"></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="title" 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="23" data-marpit-pagination-total="25"></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="title" data-theme="default" data-style="section { background-color: #FFFFFF; font-size: 28px; color: #4b4b4b; @@ -1019,7 +1000,7 @@ position: absolute; left: 50px; top: 35px; } -" class="title" data-marpit-pagination="25" data-marpit-pagination-total="26" style="--paginate:true;--class:title;--theme:default; +" class="title" data-marpit-pagination="24" data-marpit-pagination-total="25" style="--paginate:true;--class:title;--theme:default; ;"> <h1>まとめ</h1> <ul> @@ -1033,7 +1014,7 @@ <li>不便な点を補うために作成したie-podmanの評価を行った</li> </ul> </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 { +</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 { background-color: #FFFFFF; font-size: 28px; color: #4b4b4b; @@ -1052,7 +1033,7 @@ position: absolute; left: 50px; top: 35px; } -" class="slide" data-marpit-pagination="26" data-marpit-pagination-total="26" style="--paginate:true;--class:slide;--theme:default; +" class="slide" data-marpit-pagination="25" data-marpit-pagination-total="25" style="--paginate:true;--class:slide;--theme:default; ;"> <h1>今後の課題</h1> <ul> @@ -1081,7 +1062,14 @@ </ul> </section> <script>!function(){"use strict";const t="marpitSVGPolyfill:setZoomFactor,",e=Symbol();let r,o;function n(n){const i="object"==typeof n&&n.target||document,a="object"==typeof n?n.zoom:n;window[e]||(Object.defineProperty(window,e,{configurable:!0,value:!0}),window.addEventListener("message",(({data:e,origin:r})=>{if(r===window.origin)try{if(e&&"string"==typeof e&&e.startsWith(t)){const[,t]=e.split(","),r=Number.parseFloat(t);Number.isNaN(r)||(o=r)}}catch(t){console.error(t)}})));let l=!1;Array.from(i.querySelectorAll("svg[data-marpit-svg]"),(t=>{var e,n,i,s;t.style.transform||(t.style.transform="translateZ(0)");const c=a||o||t.currentScale||1;r!==c&&(r=c,l=c);const d=t.getBoundingClientRect(),{length:u}=t.children;for(let r=0;r<u;r+=1){const o=t.children[r],a=o.getScreenCTM();if(a){const t=null!==(n=null===(e=o.x)||void 0===e?void 0:e.baseVal.value)&&void 0!==n?n:0,r=null!==(s=null===(i=o.y)||void 0===i?void 0:i.baseVal.value)&&void 0!==s?s:0,l=o.firstChild,{style:u}=l;u.transformOrigin||(u.transformOrigin=`${-t}px ${-r}px`),u.transform=`scale(${c}) matrix(${a.a}, ${a.b}, ${a.c}, ${a.d}, ${a.e-d.left}, ${a.f-d.top}) translateZ(0.0001px)`}}})),!1!==l&&Array.from(i.querySelectorAll("iframe"),(({contentWindow:e})=>{null==e||e.postMessage(`${t}${l}`,"null"===window.origin?"*":window.origin)}))}r=1,o=void 0;const i=(t,e,r)=>{if(t.getAttribute(e)!==r)return t.setAttribute(e,r),!0};function a({once:t=!1,target:e=document}={}){const r="Apple Computer, Inc."===navigator.vendor?[n]:[];let o=!t;const a=()=>{for(const t of r)t({target:e});!function(t=document){Array.from(t.querySelectorAll('svg[data-marp-fitting="svg"]'),(t=>{var e;const r=t.firstChild,o=r.firstChild,{scrollWidth:n,scrollHeight:a}=o;let l,s=1;if(t.hasAttribute("data-marp-fitting-code")&&(l=null===(e=t.parentElement)||void 0===e?void 0:e.parentElement),t.hasAttribute("data-marp-fitting-math")&&(l=t.parentElement),l){const t=getComputedStyle(l),e=Math.ceil(l.clientWidth-parseFloat(t.paddingLeft||"0")-parseFloat(t.paddingRight||"0"));e&&(s=e)}const c=Math.max(n,s),d=Math.max(a,1),u=`0 0 ${c} ${d}`;i(r,"width",`${c}`),i(r,"height",`${d}`),i(t,"preserveAspectRatio",getComputedStyle(t).getPropertyValue("--preserve-aspect-ratio")||"xMinYMin meet"),i(t,"viewBox",u)&&t.classList.toggle("__reflow__")}))}(e),o&&window.requestAnimationFrame(a)};return a(),()=>{o=!1}}const l=Symbol(),s=document.currentScript;((t=document)=>{if("undefined"==typeof window)throw new Error("Marp Core's browser script is valid only in browser context.");if(t[l])return t[l];const e=a({target:t}),r=()=>{e(),delete t[l]};Object.defineProperty(t,l,{configurable:!0,value:r})})(s?s.getRootNode():document)}(); -</script></foreignObject></svg></div><script>!function(){"use strict";var e=function(e,t){var n,r=1===(e.parent||e).nodeType?e.parent||e:document.querySelector(e.parent||e),s=[].filter.call("string"==typeof e.slides?r.querySelectorAll(e.slides):e.slides||r.children,(function(e){return"SCRIPT"!==e.nodeName})),a={},i=function(e,t){return(t=t||{}).index=s.indexOf(e),t.slide=e,t},o=function(e,t){a[e]=(a[e]||[]).filter((function(e){return e!==t}))},l=function(e,t){return(a[e]||[]).reduce((function(e,n){return e&&!1!==n(t)}),!0)},c=function(e,t){s[e]&&(n&&l("deactivate",i(n,t)),n=s[e],l("activate",i(n,t)))},d=function(e,t){var r=s.indexOf(n)+e;l(e>0?"next":"prev",i(n,t))&&c(r,t)},u={off:o,on:function(e,t){return(a[e]||(a[e]=[])).push(t),o.bind(null,e,t)},fire:l,slide:function(e,t){if(!arguments.length)return s.indexOf(n);l("slide",i(s[e],t))&&c(e,t)},next:d.bind(null,1),prev:d.bind(null,-1),parent:r,slides:s,destroy:function(e){l("destroy",i(n,e)),a={}}};return(t||[]).forEach((function(e){e(u)})),n||c(0),u};function t(e){e.parent.classList.add("bespoke-marp-parent"),e.slides.forEach((e=>e.classList.add("bespoke-marp-slide"))),e.on("activate",(t=>{const n=t.slide,r=!n.classList.contains("bespoke-marp-active");e.slides.forEach((e=>{e.classList.remove("bespoke-marp-active"),e.setAttribute("aria-hidden","true")})),n.classList.add("bespoke-marp-active"),n.removeAttribute("aria-hidden"),r&&(n.classList.add("bespoke-marp-active-ready"),document.body.clientHeight,n.classList.remove("bespoke-marp-active-ready"))}))}function n(e){let t=0,n=0;Object.defineProperty(e,"fragments",{enumerable:!0,value:e.slides.map((e=>[null,...e.querySelectorAll("[data-marpit-fragment]")]))});const r=r=>void 0!==e.fragments[t][n+r],s=(r,s)=>{t=r,n=s,e.fragments.forEach(((e,t)=>{e.forEach(((e,n)=>{if(null==e)return;const a=t<r||t===r&&n<=s;e.setAttribute("data-bespoke-marp-fragment",a?"active":"inactive"),t===r&&n===s?e.setAttribute("data-bespoke-marp-current-fragment","current"):e.removeAttribute("data-bespoke-marp-current-fragment")}))})),e.fragmentIndex=s;const a={slide:e.slides[r],index:r,fragments:e.fragments[r],fragmentIndex:s};e.fire("fragment",a)};e.on("next",(({fragment:a=!0})=>{if(a){if(r(1))return s(t,n+1),!1;const a=t+1;e.fragments[a]&&s(a,0)}else{const r=e.fragments[t].length;if(n+1<r)return s(t,r-1),!1;const a=e.fragments[t+1];a&&s(t+1,a.length-1)}})),e.on("prev",(({fragment:a=!0})=>{if(r(-1)&&a)return s(t,n-1),!1;const i=t-1;e.fragments[i]&&s(i,e.fragments[i].length-1)})),e.on("slide",(({index:t,fragment:n})=>{let r=0;if(void 0!==n){const s=e.fragments[t];if(s){const{length:e}=s;r=-1===n?e-1:Math.min(Math.max(n,0),e-1)}}s(t,r)})),s(0,0)} +</script></foreignObject></svg></div><div class="bespoke-marp-note" data-index="20" tabindex="0"><p>--- +# ie-podmanの評価 3/3 + +- Rootlessは`syscall`が複数呼ばれている + - そのため、イメージの作成が遅いのではないか +- 左がrootless、右がrootfull + +![height:325](images/syscall.png)</p></div><script>!function(){"use strict";var e=function(e,t){var n,r=1===(e.parent||e).nodeType?e.parent||e:document.querySelector(e.parent||e),s=[].filter.call("string"==typeof e.slides?r.querySelectorAll(e.slides):e.slides||r.children,(function(e){return"SCRIPT"!==e.nodeName})),a={},i=function(e,t){return(t=t||{}).index=s.indexOf(e),t.slide=e,t},o=function(e,t){a[e]=(a[e]||[]).filter((function(e){return e!==t}))},l=function(e,t){return(a[e]||[]).reduce((function(e,n){return e&&!1!==n(t)}),!0)},c=function(e,t){s[e]&&(n&&l("deactivate",i(n,t)),n=s[e],l("activate",i(n,t)))},d=function(e,t){var r=s.indexOf(n)+e;l(e>0?"next":"prev",i(n,t))&&c(r,t)},u={off:o,on:function(e,t){return(a[e]||(a[e]=[])).push(t),o.bind(null,e,t)},fire:l,slide:function(e,t){if(!arguments.length)return s.indexOf(n);l("slide",i(s[e],t))&&c(e,t)},next:d.bind(null,1),prev:d.bind(null,-1),parent:r,slides:s,destroy:function(e){l("destroy",i(n,e)),a={}}};return(t||[]).forEach((function(e){e(u)})),n||c(0),u};function t(e){e.parent.classList.add("bespoke-marp-parent"),e.slides.forEach((e=>e.classList.add("bespoke-marp-slide"))),e.on("activate",(t=>{const n=t.slide,r=!n.classList.contains("bespoke-marp-active");e.slides.forEach((e=>{e.classList.remove("bespoke-marp-active"),e.setAttribute("aria-hidden","true")})),n.classList.add("bespoke-marp-active"),n.removeAttribute("aria-hidden"),r&&(n.classList.add("bespoke-marp-active-ready"),document.body.clientHeight,n.classList.remove("bespoke-marp-active-ready"))}))}function n(e){let t=0,n=0;Object.defineProperty(e,"fragments",{enumerable:!0,value:e.slides.map((e=>[null,...e.querySelectorAll("[data-marpit-fragment]")]))});const r=r=>void 0!==e.fragments[t][n+r],s=(r,s)=>{t=r,n=s,e.fragments.forEach(((e,t)=>{e.forEach(((e,n)=>{if(null==e)return;const a=t<r||t===r&&n<=s;e.setAttribute("data-bespoke-marp-fragment",a?"active":"inactive"),t===r&&n===s?e.setAttribute("data-bespoke-marp-current-fragment","current"):e.removeAttribute("data-bespoke-marp-current-fragment")}))})),e.fragmentIndex=s;const a={slide:e.slides[r],index:r,fragments:e.fragments[r],fragmentIndex:s};e.fire("fragment",a)};e.on("next",(({fragment:a=!0})=>{if(a){if(r(1))return s(t,n+1),!1;const a=t+1;e.fragments[a]&&s(a,0)}else{const r=e.fragments[t].length;if(n+1<r)return s(t,r-1),!1;const a=e.fragments[t+1];a&&s(t+1,a.length-1)}})),e.on("prev",(({fragment:a=!0})=>{if(r(-1)&&a)return s(t,n-1),!1;const i=t-1;e.fragments[i]&&s(i,e.fragments[i].length-1)})),e.on("slide",(({index:t,fragment:n})=>{let r=0;if(void 0!==n){const s=e.fragments[t];if(s){const{length:e}=s;r=-1===n?e-1:Math.min(Math.max(n,0),e-1)}}s(t,r)})),s(0,0)} /*! * screenfull * v5.0.2 - 2020-02-13
--- a/slide/slide.md Mon Feb 15 03:01:43 2021 +0900 +++ b/slide/slide.md Mon Feb 15 16:18:55 2021 +0900 @@ -99,12 +99,11 @@ - マルチユーザで利用できるPodman、Singularityを導入する - Podman - - rootlessで利用できる - Dockerと同じCLIを提供する (`alias docker=podman`) - nvidia-dockerの設定を行えばGPUを利用できる - Singularity - ホームディレクトリ、/tmpなどがコンテナにマウントされる - - プログラムの実行に便利 + - コンテナにユーザ権限が引き継がれる - コンテナから容易にGPUを利用できる - コンテナベースの学習環境を提供できるようになる @@ -169,7 +168,8 @@ - 計算リソースの利用効率を上げる - Cephを採用 - 自己修復、自己管理機能を搭載するため信頼性が高い - - 柔軟なアクセス方法の提供 + - Monitorを3台のサーバで構成することで、最大1台の停止は許容される + - 柔軟なアクセス方法を提供する - Object Gateway - ブロックデバイス - POSIX互換のファイルシステム @@ -225,7 +225,7 @@ --- # GPUの利用方法 -- Singularityでは容易にGPUを利用できる +- GPUを使用するプログラムはSingularityから実行する - `singularity run --nv [SIF_NAME]` - Jobの処理手順をまとめたBatchファイルの作成する - Jobに必要なリソース、実行したい処理を記述する @@ -268,7 +268,7 @@ --- <!-- class: slide --> -# ie-podmanの評価 1/3 +# ie-podmanの評価 1/2 - 実験環境 - 新システムの汎用サーバで実施 @@ -282,17 +282,17 @@ apt-get upgrade -y ``` -- Build速度の比較 +- 比較するコンテナエンジン - Docker - ie-podman (Podman rootfull wrapper) - Podman (rootless) --- -# ie-podmanの評価 2/3 +# ie-podmanの評価 2/2 ![bg 70%](images/container2.png) ---- +<!-- --- # ie-podmanの評価 3/3 - Rootlessは`syscall`が複数呼ばれている @@ -300,18 +300,22 @@ - 左がrootless、右がrootfull ![height:325](images/syscall.png) - +--> --- # ファイルシステムの評価 1/2 - 実験概要 - `dd`コマンドを使用し書き込み速度を比較する -- 書き込み速度の比較 +- 比較するファイルシステム - GFS2 + - 旧システムのVMイメージの保存場所として利用された - NFS + - 旧システムのホームディレクトリとして利用された - CephFS + - 新システムのホームディレクトリとして利用する - CephRBD + - 新システムのVMイメージの保存場所の1つとして利用する --- # ファイルシステムの評価 2/2