comparison slide/slide.html @ 52:d0b469710cb2

update fig
author Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
date Sat, 13 Feb 2021 15:41:52 +0900
parents 71e1425687f3
children b6e530c55007
comparison
equal deleted inserted replaced
51:5334697f98bf 52:d0b469710cb2
25 25
26 section.slide h1 { 26 section.slide h1 {
27 position: absolute; 27 position: absolute;
28 left: 50px; top: 35px; 28 left: 50px; top: 35px;
29 } 29 }
30 " class="title" data-marpit-pagination="1" data-marpit-pagination-total="32" style="--paginate:true;--class:title;--theme:default; 30 " class="title" data-marpit-pagination="1" data-marpit-pagination-total="28" style="--paginate:true;--class:title;--theme:default;
31 ;"> 31 ;">
32 <h1><svg data-marp-fitting="svg"><foreignObject><span data-marp-fitting-svg-content> コンテナ技術を用いた教育情報システムの構築</span></foreignObject></svg></h1> 32 <h1><svg data-marp-fitting="svg"><foreignObject><span data-marp-fitting-svg-content> コンテナ技術を用いた教育情報システムの構築</span></foreignObject></svg></h1>
33 <ul> 33 <ul>
34 <li>宮平 賢 34 <li>宮平 賢
35 <ul> 35 <ul>
60 60
61 section.slide h1 { 61 section.slide h1 {
62 position: absolute; 62 position: absolute;
63 left: 50px; top: 35px; 63 left: 50px; top: 35px;
64 } 64 }
65 " class="slide" data-marpit-pagination="2" data-marpit-pagination-total="32" style="--paginate:true;--class:slide;--theme:default; 65 " class="slide" data-marpit-pagination="2" data-marpit-pagination-total="28" style="--paginate:true;--class:slide;--theme:default;
66 ;"> 66 ;">
67 <h1>研究目的</h1> 67 <h1>学生が自由に利用できる教育情報システムの構築</h1>
68 <ul> 68 <ul>
69 <li>情報通信技術の普及に伴い学ぶことが増えている</li> 69 <li>情報通信技術の普及に伴い学ぶことが増えている</li>
70 <li>その学習環境として、Virtual MachineやContainerがある 70 <li>その学習環境として、Virtual MachineやContainerがある
71 <ul> 71 <ul>
72 <li>実行には高性能なPCが必要な場合がある</li> 72 <li>実行には高性能なPCが必要な場合がある</li>
98 98
99 section.slide h1 { 99 section.slide h1 {
100 position: absolute; 100 position: absolute;
101 left: 50px; top: 35px; 101 left: 50px; top: 35px;
102 } 102 }
103 " class="slide" data-marpit-pagination="3" data-marpit-pagination-total="32" style="--paginate:true;--class:slide;--theme:default; 103 " class="slide" data-marpit-pagination="3" data-marpit-pagination-total="28" style="--paginate:true;--class:slide;--theme:default;
104 ;"> 104 ;">
105 <h1>これまでの学生向け学習環境</h1> 105 <h1>これまでの学生向け学習環境</h1>
106 <ul> 106 <ul>
107 <li> 107 <li>
108 <p>VM貸出サービス</p> 108 <p>VM貸出サービス</p>
146 146
147 section.slide h1 { 147 section.slide h1 {
148 position: absolute; 148 position: absolute;
149 left: 50px; top: 35px; 149 left: 50px; top: 35px;
150 } 150 }
151 " class="slide" data-marpit-pagination="4" data-marpit-pagination-total="32" style="--paginate:true;--class:slide;--theme:default; 151 " class="slide" data-marpit-pagination="4" data-marpit-pagination-total="28" style="--paginate:true;--class:slide;--theme:default;
152 ;"> 152 ;">
153 <h1>これまでの学習環境の問題点</h1> 153 <h1>これまでの学習環境の問題点</h1>
154 <ul> 154 <ul>
155 <li>VM貸出サービスの一部学生は申請の方法が分からなかったり、貸出サービスがあることが周知されていなかったため、旧システムのリソースが余っていた</li> 155 <li>VM貸出サービスの一部学生は申請の方法が分からなかったり、貸出サービスがあることが周知されていなかったため、旧システムのリソースが余っていた</li>
156 </ul> 156 </ul>
160 </ul> 160 </ul>
161 <br /> 161 <br />
162 <ul> 162 <ul>
163 <li>旧システムにはGPUが搭載されていないため、貸出サービスではなく研究室ごとの機器、クラウドサービスが多く利用された</li> 163 <li>旧システムにはGPUが搭載されていないため、貸出サービスではなく研究室ごとの機器、クラウドサービスが多く利用された</li>
164 </ul> 164 </ul>
165 <br />
166 <ul>
167 <li>ファイルシステムに使用していたGFS2はロックマネージャの影響が大きく、サーバ1台がクラスタに参加できないとGFS2上にアクセスできなくなった</li>
168 </ul>
165 </section> 169 </section>
166 </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 { 170 </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 {
167 background-color: #FFFFFF; 171 background-color: #FFFFFF;
168 font-size: 28px; 172 font-size: 28px;
169 color: #4b4b4b; 173 color: #4b4b4b;
180 184
181 section.slide h1 { 185 section.slide h1 {
182 position: absolute; 186 position: absolute;
183 left: 50px; top: 35px; 187 left: 50px; top: 35px;
184 } 188 }
185 " class="title" data-marpit-pagination="5" data-marpit-pagination-total="32" style="--paginate:true;--class:title;--theme:default; 189 " class="title" data-marpit-pagination="5" data-marpit-pagination-total="28" style="--paginate:true;--class:title;--theme:default;
186 ;"> 190 ;">
187 <h1>教育情報システムの構築</h1> 191 <h1>教育情報システムの構築</h1>
188 </section> 192 </section>
189 </foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="6" data-paginate="true" data-class="slide" data-theme="default" data-style="section { 193 </foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="6" data-paginate="true" data-class="slide" data-theme="default" data-style="section {
190 background-color: #FFFFFF; 194 background-color: #FFFFFF;
203 207
204 section.slide h1 { 208 section.slide h1 {
205 position: absolute; 209 position: absolute;
206 left: 50px; top: 35px; 210 left: 50px; top: 35px;
207 } 211 }
208 " class="slide" data-marpit-pagination="6" data-marpit-pagination-total="32" style="--paginate:true;--class:slide;--theme:default; 212 " class="slide" data-marpit-pagination="6" data-marpit-pagination-total="28" style="--paginate:true;--class:slide;--theme:default;
209 ;"> 213 ;">
210 <h1>教育情報システムの要件</h1> 214 <h1>VMベースからコンテナベースへ移行</h1>
211 <ul> 215 <ul>
212 <li>マルチユーザに対応 216 <li>旧システムはVMベースでシステムが構築されていた</li>
213 <ul> 217 <li>サービスごとにVMがあり、管理に手間が掛かる</li>
214 <li>本コースの学生、教員に対応する必要がある</li> 218 <li>VMベースでは搭載されるGPUを有効活用できない
215 </ul> 219 <ul>
216 </li> 220 <li>1つのVMに1台のGPUが必要</li>
217 <li>学生がサーバのリソースを利用できる環境</li> 221 </ul>
218 <li>手間が少なく利用できる環境</li> 222 </li>
219 <li>信頼性の高いファイルシステム</li> 223 <li>VM貸出サービスをやめるわけではない</li>
220 </ul> 224 </ul>
221 </section> 225 </section>
222 </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 { 226 </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 {
223 background-color: #FFFFFF; 227 background-color: #FFFFFF;
224 font-size: 28px; 228 font-size: 28px;
236 240
237 section.slide h1 { 241 section.slide h1 {
238 position: absolute; 242 position: absolute;
239 left: 50px; top: 35px; 243 left: 50px; top: 35px;
240 } 244 }
241 " class="slide" data-marpit-pagination="7" data-marpit-pagination-total="32" style="--paginate:true;--class:slide;--theme:default; 245 " class="slide" data-marpit-pagination="7" data-marpit-pagination-total="28" style="--paginate:true;--class:slide;--theme:default;
242 ;">
243 <h1>VM貸出サービスの移行</h1>
244 <ul>
245 <li>VM貸出サービスを継続するため、KVMを導入する</li>
246 <li>VMからGPUの利用にはPCIパススルーの設定が必要となる</li>
247 <li>しかし、VM1つに対し、1つのGPUが必要になる
248 <ul>
249 <li>希望する学生全員に割り当てができない</li>
250 </ul>
251 </li>
252 </ul>
253 <br />
254 <ul>
255 <li>そこで、コンテナ環境を導入する
256 <ul>
257 <li>1つのGPUを複数のコンテナから利用できる</li>
258 </ul>
259 </li>
260 </ul>
261 </section>
262 </foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="8" data-paginate="true" data-class="slide" data-theme="default" data-style="section {
263 background-color: #FFFFFF;
264 font-size: 28px;
265 color: #4b4b4b;
266 font-family: &quot;Arial&quot;, &quot;Hiragino Maru Gothic ProN&quot;;
267 }
268
269 section.title {
270 font-size: 40px;
271 padding: 40px;
272 }
273 section.title h1 {
274 text-align: center;
275 }
276
277 section.slide h1 {
278 position: absolute;
279 left: 50px; top: 35px;
280 }
281 " class="slide" data-marpit-pagination="8" data-marpit-pagination-total="32" style="--paginate:true;--class:slide;--theme:default;
282 ;"> 246 ;">
283 <h1>コンテナ環境の導入</h1> 247 <h1>コンテナ環境の導入</h1>
284 <ul> 248 <ul>
285 <li>マルチユーザで利用できるPodman、Singularityを導入する</li> 249 <li>マルチユーザで利用できるPodman、Singularityを導入する</li>
286 <li>Podman 250 <li>Podman
299 </li> 263 </li>
300 </ul> 264 </ul>
301 </li> 265 </li>
302 </ul> 266 </ul>
303 </section> 267 </section>
304 </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 { 268 </foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="8" data-paginate="true" data-class="slide" data-theme="default" data-style="section {
305 background-color: #FFFFFF; 269 background-color: #FFFFFF;
306 font-size: 28px; 270 font-size: 28px;
307 color: #4b4b4b; 271 color: #4b4b4b;
308 font-family: &quot;Arial&quot;, &quot;Hiragino Maru Gothic ProN&quot;; 272 font-family: &quot;Arial&quot;, &quot;Hiragino Maru Gothic ProN&quot;;
309 } 273 }
310 274
311 section.title { 275 section.title {
312 font-size: 40px; 276 font-size: 40px;
313 padding: 40px; 277 padding: 40px;
314 } 278 }
315 section.title h1 { 279 section.title h1 {
316 text-align: center; 280 text-align: center;
317 } 281 }
318 282
319 section.slide h1 { 283 section.slide h1 {
320 position: absolute; 284 position: absolute;
321 left: 50px; top: 35px; 285 left: 50px; top: 35px;
322 } 286 }
323 " class="slide" data-marpit-pagination="9" data-marpit-pagination-total="32" style="--paginate:true;--class:slide;--theme:default; 287 " class="slide" data-marpit-pagination="8" data-marpit-pagination-total="28" style="--paginate:true;--class:slide;--theme:default;
324 ;"> 288 ;">
325 <h1>コンテナエンジンの補い</h1> 289 <h1>コンテナエンジンの補い</h1>
326 <ul> 290 <ul>
327 <li> 291 <li>
328 <p>Podman</p> 292 <p>Podman</p>
348 <li> 312 <li>
349 <p>そこでPodmanのwrapperであるie-podmanを作成した</p> 313 <p>そこでPodmanのwrapperであるie-podmanを作成した</p>
350 </li> 314 </li>
351 </ul> 315 </ul>
352 </section> 316 </section>
317 </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 {
318 background-color: #FFFFFF;
319 font-size: 28px;
320 color: #4b4b4b;
321 font-family: &quot;Arial&quot;, &quot;Hiragino Maru Gothic ProN&quot;;
322 }
323
324 section.title {
325 font-size: 40px;
326 padding: 40px;
327 }
328 section.title h1 {
329 text-align: center;
330 }
331
332 section.slide h1 {
333 position: absolute;
334 left: 50px; top: 35px;
335 }
336 " class="slide" data-marpit-pagination="9" data-marpit-pagination-total="28" style="--paginate:true;--class:slide;--theme:default;
337 ;">
338 <h1>ie-podmanの作成</h1>
339 <ul>
340 <li>ユーザのUID、GIDを取得し管理を行う
341 <ul>
342 <li>他のユーザのリソースを操作できない</li>
343 </ul>
344 </li>
345 <li>SSD上にイメージ等を保存し、高速を図る</li>
346 </ul>
347 </section>
353 </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 { 348 </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 {
354 background-color: #FFFFFF; 349 background-color: #FFFFFF;
355 font-size: 28px; 350 font-size: 28px;
356 color: #4b4b4b; 351 color: #4b4b4b;
357 font-family: &quot;Arial&quot;, &quot;Hiragino Maru Gothic ProN&quot;; 352 font-family: &quot;Arial&quot;, &quot;Hiragino Maru Gothic ProN&quot;;
367 362
368 section.slide h1 { 363 section.slide h1 {
369 position: absolute; 364 position: absolute;
370 left: 50px; top: 35px; 365 left: 50px; top: 35px;
371 } 366 }
372 " class="slide" data-marpit-pagination="10" data-marpit-pagination-total="32" style="--paginate:true;--class:slide;--theme:default; 367 " class="slide" data-marpit-pagination="10" data-marpit-pagination-total="28" style="--paginate:true;--class:slide;--theme:default;
373 ;">
374 <h1>ie-podmanの作成</h1>
375 <ul>
376 <li>ユーザのUID、GIDを取得し管理を行う
377 <ul>
378 <li>他のユーザのリソースを操作できない</li>
379 </ul>
380 </li>
381 <li>SSD上にイメージ等を保存し、高速を図る</li>
382 </ul>
383 </section>
384 </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 {
385 background-color: #FFFFFF;
386 font-size: 28px;
387 color: #4b4b4b;
388 font-family: &quot;Arial&quot;, &quot;Hiragino Maru Gothic ProN&quot;;
389 }
390
391 section.title {
392 font-size: 40px;
393 padding: 40px;
394 }
395 section.title h1 {
396 text-align: center;
397 }
398
399 section.slide h1 {
400 position: absolute;
401 left: 50px; top: 35px;
402 }
403 " class="slide" data-marpit-pagination="11" data-marpit-pagination-total="32" style="--paginate:true;--class:slide;--theme:default;
404 ;"> 368 ;">
405 <h1>ie-podmanの機能 1/2</h1> 369 <h1>ie-podmanの機能 1/2</h1>
406 <ul> 370 <ul>
407 <li>Podmanのすべての機能をwrappするのではなく、一部機能のみを提供する</li> 371 <li>Podmanのすべての機能をwrappするのではなく、一部機能のみを提供する</li>
408 </ul> 372 </ul>
443 <td>起動中のコンテナの一覧を表示する</td> 407 <td>起動中のコンテナの一覧を表示する</td>
444 </tr> 408 </tr>
445 </tbody> 409 </tbody>
446 </table> 410 </table>
447 </section> 411 </section>
448 </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 { 412 </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 {
449 background-color: #FFFFFF; 413 background-color: #FFFFFF;
450 font-size: 28px; 414 font-size: 28px;
451 color: #4b4b4b; 415 color: #4b4b4b;
452 font-family: &quot;Arial&quot;, &quot;Hiragino Maru Gothic ProN&quot;; 416 font-family: &quot;Arial&quot;, &quot;Hiragino Maru Gothic ProN&quot;;
453 } 417 }
454 418
455 section.title { 419 section.title {
456 font-size: 40px; 420 font-size: 40px;
457 padding: 40px; 421 padding: 40px;
458 } 422 }
459 section.title h1 { 423 section.title h1 {
460 text-align: center; 424 text-align: center;
461 } 425 }
462 426
463 section.slide h1 { 427 section.slide h1 {
464 position: absolute; 428 position: absolute;
465 left: 50px; top: 35px; 429 left: 50px; top: 35px;
466 } 430 }
467 " class="slide" data-marpit-pagination="12" data-marpit-pagination-total="32" style="--paginate:true;--class:slide;--theme:default; 431 " class="slide" data-marpit-pagination="11" data-marpit-pagination-total="28" style="--paginate:true;--class:slide;--theme:default;
468 ;"> 432 ;">
469 <h1>ie-podmanの機能 2/2</h1> 433 <h1>ie-podmanの機能 2/2</h1>
470 <ul> 434 <ul>
471 <li>registryやsifなど独自機能を提供する</li> 435 <li>registryやsifなど独自機能を提供する</li>
472 </ul> 436 </ul>
503 <td>コンテナを停止する</td> 467 <td>コンテナを停止する</td>
504 </tr> 468 </tr>
505 </tbody> 469 </tbody>
506 </table> 470 </table>
507 </section> 471 </section>
508 </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 { 472 </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 {
509 background-color: #FFFFFF; 473 background-color: #FFFFFF;
510 font-size: 28px; 474 font-size: 28px;
511 color: #4b4b4b; 475 color: #4b4b4b;
512 font-family: &quot;Arial&quot;, &quot;Hiragino Maru Gothic ProN&quot;; 476 font-family: &quot;Arial&quot;, &quot;Hiragino Maru Gothic ProN&quot;;
513 } 477 }
514 478
515 section.title { 479 section.title {
516 font-size: 40px; 480 font-size: 40px;
517 padding: 40px; 481 padding: 40px;
518 } 482 }
519 section.title h1 { 483 section.title h1 {
520 text-align: center; 484 text-align: center;
521 } 485 }
522 486
523 section.slide h1 { 487 section.slide h1 {
524 position: absolute; 488 position: absolute;
525 left: 50px; top: 35px; 489 left: 50px; top: 35px;
526 } 490 }
527 " class="slide" data-marpit-pagination="13" data-marpit-pagination-total="32" style="--paginate:true;--class:slide;--theme:default; 491 " class="slide" data-marpit-pagination="12" data-marpit-pagination-total="28" style="--paginate:true;--class:slide;--theme:default;
528 ;"> 492 ;">
529 <h1>ジョブスケジューラの導入</h1> 493 <h1>ジョブスケジューラの導入</h1>
530 <ul> 494 <ul>
531 <li>多くのリソースを必要とするプログラムは管理が必要である</li> 495 <li>多くのリソースを必要とするプログラムは管理が必要である</li>
532 <li>4台のサーバのリソースを利用できるようにする必要がある</li> 496 <li>4台のサーバのリソースを利用できるようにする必要がある</li>
535 <li>フォールトトレラントで拡張性が高い</li> 499 <li>フォールトトレラントで拡張性が高い</li>
536 </ul> 500 </ul>
537 </li> 501 </li>
538 </ul> 502 </ul>
539 </section> 503 </section>
540 </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 { 504 </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 {
541 background-color: #FFFFFF; 505 background-color: #FFFFFF;
542 font-size: 28px; 506 font-size: 28px;
543 color: #4b4b4b; 507 color: #4b4b4b;
544 font-family: &quot;Arial&quot;, &quot;Hiragino Maru Gothic ProN&quot;; 508 font-family: &quot;Arial&quot;, &quot;Hiragino Maru Gothic ProN&quot;;
545 } 509 }
546 510
547 section.title { 511 section.title {
548 font-size: 40px; 512 font-size: 40px;
549 padding: 40px; 513 padding: 40px;
550 } 514 }
551 section.title h1 { 515 section.title h1 {
552 text-align: center; 516 text-align: center;
553 } 517 }
554 518
555 section.slide h1 { 519 section.slide h1 {
556 position: absolute; 520 position: absolute;
557 left: 50px; top: 35px; 521 left: 50px; top: 35px;
558 } 522 }
559 " class="slide" data-marpit-pagination="14" data-marpit-pagination-total="32" style="--paginate:true;--class:slide;--theme:default; 523 " class="slide" data-marpit-pagination="13" data-marpit-pagination-total="28" style="--paginate:true;--class:slide;--theme:default;
560 ;"> 524 ;">
561 <h1>ジョブスケジューラの構築</h1> 525 <h1>ジョブスケジューラの構築</h1>
562 <p>利用方針 <strong>「計算リソースの利用効率を上げる」</strong></p> 526 <p>利用方針 <strong>「計算リソースの利用効率を上げる」</strong></p>
563 <ul> 527 <ul>
564 <li>Jobの優先順位 528 <li>Jobの優先順位
578 </ul> 542 </ul>
579 </li> 543 </li>
580 </ul> 544 </ul>
581 <p>また、Jobのスケジュールにはバックフィルを採用する。</p> 545 <p>また、Jobのスケジュールにはバックフィルを採用する。</p>
582 </section> 546 </section>
583 </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 { 547 </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 {
584 background-color: #FFFFFF; 548 background-color: #FFFFFF;
585 font-size: 28px; 549 font-size: 28px;
586 color: #4b4b4b; 550 color: #4b4b4b;
587 font-family: &quot;Arial&quot;, &quot;Hiragino Maru Gothic ProN&quot;; 551 font-family: &quot;Arial&quot;, &quot;Hiragino Maru Gothic ProN&quot;;
588 } 552 }
589 553
590 section.title { 554 section.title {
591 font-size: 40px; 555 font-size: 40px;
592 padding: 40px; 556 padding: 40px;
593 } 557 }
594 section.title h1 { 558 section.title h1 {
595 text-align: center; 559 text-align: center;
596 } 560 }
597 561
598 section.slide h1 { 562 section.slide h1 {
599 position: absolute; 563 position: absolute;
600 left: 50px; top: 35px; 564 left: 50px; top: 35px;
601 } 565 }
602 " class="slide" data-marpit-pagination="15" data-marpit-pagination-total="32" style="--paginate:true;--class:slide;--theme:default; 566 " class="slide" data-marpit-pagination="14" data-marpit-pagination-total="28" style="--paginate:true;--class:slide;--theme:default;
603 ;">
604 <p><img src="images/backfill.png" alt="" /></p>
605 </section>
606 </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 {
607 background-color: #FFFFFF;
608 font-size: 28px;
609 color: #4b4b4b;
610 font-family: &quot;Arial&quot;, &quot;Hiragino Maru Gothic ProN&quot;;
611 }
612
613 section.title {
614 font-size: 40px;
615 padding: 40px;
616 }
617 section.title h1 {
618 text-align: center;
619 }
620
621 section.slide h1 {
622 position: absolute;
623 left: 50px; top: 35px;
624 }
625 " class="slide" data-marpit-pagination="16" data-marpit-pagination-total="32" style="--paginate:true;--class:slide;--theme:default;
626 ;"> 567 ;">
627 <h1>ファイルシステムの導入</h1> 568 <h1>ファイルシステムの導入</h1>
628 <ul> 569 <ul>
629 <li>Cephを採用 570 <li>Cephを採用
630 <ul> 571 <ul>
638 </li> 579 </li>
639 </ul> 580 </ul>
640 </li> 581 </li>
641 </ul> 582 </ul>
642 </section> 583 </section>
643 </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 { 584 </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 {
644 background-color: #FFFFFF; 585 background-color: #FFFFFF;
645 font-size: 28px; 586 font-size: 28px;
646 color: #4b4b4b; 587 color: #4b4b4b;
647 font-family: &quot;Arial&quot;, &quot;Hiragino Maru Gothic ProN&quot;; 588 font-family: &quot;Arial&quot;, &quot;Hiragino Maru Gothic ProN&quot;;
648 } 589 }
649 590
650 section.title { 591 section.title {
651 font-size: 40px; 592 font-size: 40px;
652 padding: 40px; 593 padding: 40px;
653 } 594 }
654 section.title h1 { 595 section.title h1 {
655 text-align: center; 596 text-align: center;
656 } 597 }
657 598
658 section.slide h1 { 599 section.slide h1 {
659 position: absolute; 600 position: absolute;
660 left: 50px; top: 35px; 601 left: 50px; top: 35px;
661 } 602 }
662 " class="slide" data-marpit-pagination="17" data-marpit-pagination-total="32" style="--paginate:true;--class:slide;--theme:default; 603 " class="slide" data-marpit-pagination="15" data-marpit-pagination-total="28" style="--paginate:true;--class:slide;--theme:default;
663 ;"> 604 ;">
664 <h1>教育情報システムの構成</h1> 605 <h1>教育情報システムの構成</h1>
665 <ul> 606 <ul>
666 <li>汎用サーバ全てにKVM、Podman、Singularityをインストール</li> 607 <li>汎用サーバ全てにKVM、Podman、Singularityをインストール</li>
667 <li>Slurm 608 <li>Slurm
695 636
696 section.slide h1 { 637 section.slide h1 {
697 position: absolute; 638 position: absolute;
698 left: 50px; top: 35px; 639 left: 50px; top: 35px;
699 } 640 }
700 " class="slide" data-marpit-pagination="18" data-marpit-pagination-total="32" style="--paginate:true;--class:slide;--theme:default; 641 " class="slide" data-marpit-pagination="16" data-marpit-pagination-total="28" style="--paginate:true;--class:slide;--theme:default;
701 ;" data-marpit-advanced-background="background"><div data-marpit-advanced-background-container="true" data-marpit-advanced-background-direction="horizontal"><figure style="background-image:url(&quot;images/system.png&quot;);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 { 642 ;" data-marpit-advanced-background="background"><div data-marpit-advanced-background-container="true" data-marpit-advanced-background-direction="horizontal"><figure style="background-image:url(&quot;images/system.png&quot;);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 {
702 background-color: #FFFFFF; 643 background-color: #FFFFFF;
703 font-size: 28px; 644 font-size: 28px;
704 color: #4b4b4b; 645 color: #4b4b4b;
705 font-family: &quot;Arial&quot;, &quot;Hiragino Maru Gothic ProN&quot;; 646 font-family: &quot;Arial&quot;, &quot;Hiragino Maru Gothic ProN&quot;;
706 } 647 }
707 648
708 section.title { 649 section.title {
709 font-size: 40px; 650 font-size: 40px;
710 padding: 40px; 651 padding: 40px;
711 } 652 }
712 section.title h1 { 653 section.title h1 {
713 text-align: center; 654 text-align: center;
714 } 655 }
715 656
716 section.slide h1 { 657 section.slide h1 {
717 position: absolute; 658 position: absolute;
718 left: 50px; top: 35px; 659 left: 50px; top: 35px;
719 } 660 }
720 " class="slide" data-marpit-pagination="18" data-marpit-pagination-total="32" style="--paginate:true;--class:slide;--theme:default; 661 " class="slide" data-marpit-pagination="16" data-marpit-pagination-total="28" style="--paginate:true;--class:slide;--theme:default;
721 ;" data-marpit-advanced-background="content"></section> 662 ;" data-marpit-advanced-background="content"></section>
722 </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="32"></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 { 663 </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="28"></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 {
723 background-color: #FFFFFF; 664 background-color: #FFFFFF;
724 font-size: 28px; 665 font-size: 28px;
725 color: #4b4b4b; 666 color: #4b4b4b;
726 font-family: &quot;Arial&quot;, &quot;Hiragino Maru Gothic ProN&quot;; 667 font-family: &quot;Arial&quot;, &quot;Hiragino Maru Gothic ProN&quot;;
727 } 668 }
728 669
729 section.title { 670 section.title {
730 font-size: 40px; 671 font-size: 40px;
731 padding: 40px; 672 padding: 40px;
732 } 673 }
733 section.title h1 { 674 section.title h1 {
734 text-align: center; 675 text-align: center;
735 } 676 }
736 677
737 section.slide h1 { 678 section.slide h1 {
738 position: absolute; 679 position: absolute;
739 left: 50px; top: 35px; 680 left: 50px; top: 35px;
740 } 681 }
741 " class="title" data-marpit-pagination="19" data-marpit-pagination-total="32" style="--paginate:true;--class:title;--theme:default; 682 " class="title" data-marpit-pagination="17" data-marpit-pagination-total="28" style="--paginate:true;--class:title;--theme:default;
742 ;"> 683 ;">
743 <h1>教育情報システムの利用と管理</h1> 684 <h1>教育情報システムの利用と管理</h1>
744 </section> 685 </section>
745 </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 { 686 </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 {
746 background-color: #FFFFFF; 687 background-color: #FFFFFF;
747 font-size: 28px; 688 font-size: 28px;
748 color: #4b4b4b; 689 color: #4b4b4b;
749 font-family: &quot;Arial&quot;, &quot;Hiragino Maru Gothic ProN&quot;; 690 font-family: &quot;Arial&quot;, &quot;Hiragino Maru Gothic ProN&quot;;
750 } 691 }
751 692
752 section.title { 693 section.title {
753 font-size: 40px; 694 font-size: 40px;
754 padding: 40px; 695 padding: 40px;
755 } 696 }
756 section.title h1 { 697 section.title h1 {
757 text-align: center; 698 text-align: center;
758 } 699 }
759 700
760 section.slide h1 { 701 section.slide h1 {
761 position: absolute; 702 position: absolute;
762 left: 50px; top: 35px; 703 left: 50px; top: 35px;
763 } 704 }
764 " class="slide" data-marpit-pagination="20" data-marpit-pagination-total="32" style="--paginate:true;--class:slide;--theme:default; 705 " class="slide" data-marpit-pagination="18" data-marpit-pagination-total="28" style="--paginate:true;--class:slide;--theme:default;
765 ;">
766 <h1>VM貸出サービスの利用</h1>
767 <ul>
768 <li>VMの作成、スペックの変更で申請が必要なくなった</li>
769 <li>VMの作成
770 <ul>
771 <li><code>ie-virsh define --template Ubuntu-20 VM_NAME</code></li>
772 </ul>
773 </li>
774 <li>スペックの変更
775 <ul>
776 <li><code>ie-virsh edit VM_NAME</code></li>
777 </ul>
778 </li>
779 </ul>
780 </section>
781 </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 {
782 background-color: #FFFFFF;
783 font-size: 28px;
784 color: #4b4b4b;
785 font-family: &quot;Arial&quot;, &quot;Hiragino Maru Gothic ProN&quot;;
786 }
787
788 section.title {
789 font-size: 40px;
790 padding: 40px;
791 }
792 section.title h1 {
793 text-align: center;
794 }
795
796 section.slide h1 {
797 position: absolute;
798 left: 50px; top: 35px;
799 }
800 " class="slide" data-marpit-pagination="21" data-marpit-pagination-total="32" style="--paginate:true;--class:slide;--theme:default;
801 ;"> 706 ;">
802 <h1>ie-podmanの使用方法</h1> 707 <h1>ie-podmanの使用方法</h1>
803 <ul> 708 <ul>
804 <li>PodmanはDockerと同じCLIを提供している</li> 709 <li>PodmanはDockerと同じCLIを提供している</li>
805 <li>IPアドレス、GPUをコンテナへ割り当てられる 710 <li>IPアドレス、GPUをコンテナへ割り当てられる
812 <li><code>ie-podman sif [IMAGE_NAME]</code></li> 717 <li><code>ie-podman sif [IMAGE_NAME]</code></li>
813 </ul> 718 </ul>
814 </li> 719 </li>
815 </ul> 720 </ul>
816 </section> 721 </section>
817 </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 { 722 </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 {
818 background-color: #FFFFFF; 723 background-color: #FFFFFF;
819 font-size: 28px; 724 font-size: 28px;
820 color: #4b4b4b; 725 color: #4b4b4b;
821 font-family: &quot;Arial&quot;, &quot;Hiragino Maru Gothic ProN&quot;; 726 font-family: &quot;Arial&quot;, &quot;Hiragino Maru Gothic ProN&quot;;
822 } 727 }
823 728
824 section.title { 729 section.title {
825 font-size: 40px; 730 font-size: 40px;
826 padding: 40px; 731 padding: 40px;
827 } 732 }
828 section.title h1 { 733 section.title h1 {
829 text-align: center; 734 text-align: center;
830 } 735 }
831 736
832 section.slide h1 { 737 section.slide h1 {
833 position: absolute; 738 position: absolute;
834 left: 50px; top: 35px; 739 left: 50px; top: 35px;
835 } 740 }
836 " class="slide" data-marpit-pagination="22" data-marpit-pagination-total="32" style="--paginate:true;--class:slide;--theme:default; 741 " class="slide" data-marpit-pagination="19" data-marpit-pagination-total="28" style="--paginate:true;--class:slide;--theme:default;
837 ;"> 742 ;">
838 <h1>GPUの利用方法</h1> 743 <h1>GPUの利用方法</h1>
839 <ul> 744 <ul>
840 <li>Singularityでは容易にGPUを利用できる 745 <li>Singularityでは容易にGPUを利用できる
841 <ul> 746 <ul>
853 <li>CPU数、GPU数</li> 758 <li>CPU数、GPU数</li>
854 </ul> 759 </ul>
855 </li> 760 </li>
856 </ul> 761 </ul>
857 </section> 762 </section>
858 </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 { 763 </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 {
859 background-color: #FFFFFF; 764 background-color: #FFFFFF;
860 font-size: 28px; 765 font-size: 28px;
861 color: #4b4b4b; 766 color: #4b4b4b;
862 font-family: &quot;Arial&quot;, &quot;Hiragino Maru Gothic ProN&quot;; 767 font-family: &quot;Arial&quot;, &quot;Hiragino Maru Gothic ProN&quot;;
863 } 768 }
864 769
865 section.title { 770 section.title {
866 font-size: 40px; 771 font-size: 40px;
867 padding: 40px; 772 padding: 40px;
868 } 773 }
869 section.title h1 { 774 section.title h1 {
870 text-align: center; 775 text-align: center;
871 } 776 }
872 777
873 section.slide h1 { 778 section.slide h1 {
874 position: absolute; 779 position: absolute;
875 left: 50px; top: 35px; 780 left: 50px; top: 35px;
876 } 781 }
877 " class="slide" data-marpit-pagination="23" data-marpit-pagination-total="32" style="--paginate:true;--class:slide;--theme:default; 782 " class="slide" data-marpit-pagination="20" data-marpit-pagination-total="28" style="--paginate:true;--class:slide;--theme:default;
878 ;"> 783 ;">
879 <h1>batchファイルの例</h1> 784 <h1>batchファイルの例</h1>
880 <ul> 785 <ul>
881 <li>Jobに必要とするリソース 786 <li>Jobに必要とするリソース
882 <ul> 787 <ul>
899 <span class="hljs-comment">#SBATCH --time 01:00</span> 804 <span class="hljs-comment">#SBATCH --time 01:00</span>
900 805
901 singularity <span class="hljs-built_in">exec</span> --nv [SIF_NAME] [COMMANDS] 806 singularity <span class="hljs-built_in">exec</span> --nv [SIF_NAME] [COMMANDS]
902 </span></span></foreignObject></svg></code></pre> 807 </span></span></foreignObject></svg></code></pre>
903 </section> 808 </section>
904 </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 { 809 </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 {
905 background-color: #FFFFFF; 810 background-color: #FFFFFF;
906 font-size: 28px; 811 font-size: 28px;
907 color: #4b4b4b; 812 color: #4b4b4b;
908 font-family: &quot;Arial&quot;, &quot;Hiragino Maru Gothic ProN&quot;; 813 font-family: &quot;Arial&quot;, &quot;Hiragino Maru Gothic ProN&quot;;
909 } 814 }
910 815
911 section.title { 816 section.title {
912 font-size: 40px; 817 font-size: 40px;
913 padding: 40px; 818 padding: 40px;
914 } 819 }
915 section.title h1 { 820 section.title h1 {
916 text-align: center; 821 text-align: center;
917 } 822 }
918 823
919 section.slide h1 { 824 section.slide h1 {
920 position: absolute; 825 position: absolute;
921 left: 50px; top: 35px; 826 left: 50px; top: 35px;
922 } 827 }
923 " class="title" data-marpit-pagination="24" data-marpit-pagination-total="32" style="--paginate:true;--class:title;--theme:default; 828 " class="title" data-marpit-pagination="21" data-marpit-pagination-total="28" style="--paginate:true;--class:title;--theme:default;
924 ;"> 829 ;">
925 <h1>教育情報システムの評価</h1> 830 <h1>教育情報システムの評価</h1>
926 </section> 831 </section>
927 </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 { 832 </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 {
928 background-color: #FFFFFF; 833 background-color: #FFFFFF;
929 font-size: 28px; 834 font-size: 28px;
930 color: #4b4b4b; 835 color: #4b4b4b;
931 font-family: &quot;Arial&quot;, &quot;Hiragino Maru Gothic ProN&quot;; 836 font-family: &quot;Arial&quot;, &quot;Hiragino Maru Gothic ProN&quot;;
932 } 837 }
933 838
934 section.title { 839 section.title {
935 font-size: 40px; 840 font-size: 40px;
936 padding: 40px; 841 padding: 40px;
937 } 842 }
938 section.title h1 { 843 section.title h1 {
939 text-align: center; 844 text-align: center;
940 } 845 }
941 846
942 section.slide h1 { 847 section.slide h1 {
943 position: absolute; 848 position: absolute;
944 left: 50px; top: 35px; 849 left: 50px; top: 35px;
945 } 850 }
946 " class="slide" data-marpit-pagination="25" data-marpit-pagination-total="32" style="--paginate:true;--class:slide;--theme:default; 851 " class="slide" data-marpit-pagination="22" data-marpit-pagination-total="28" style="--paginate:true;--class:slide;--theme:default;
947 ;"> 852 ;">
948 <h1>ファイルシステムの評価 1/2</h1> 853 <h1>ファイルシステムの評価 1/2</h1>
949 <ul> 854 <ul>
950 <li> 855 <li>
951 <p>実験概要</p> 856 <p>実験概要</p>
981 886
982 section.slide h1 { 887 section.slide h1 {
983 position: absolute; 888 position: absolute;
984 left: 50px; top: 35px; 889 left: 50px; top: 35px;
985 } 890 }
986 " class="slide" data-marpit-pagination="26" data-marpit-pagination-total="32" style="--paginate:true;--class:slide;--theme:default; 891 " class="slide" data-marpit-pagination="23" data-marpit-pagination-total="28" style="--paginate:true;--class:slide;--theme:default;
987 ;" data-marpit-advanced-background="background"><div data-marpit-advanced-background-container="true" data-marpit-advanced-background-direction="horizontal"><figure style="background-image:url(&quot;images/fswrite.png&quot;);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 { 892 ;" data-marpit-advanced-background="background"><div data-marpit-advanced-background-container="true" data-marpit-advanced-background-direction="horizontal"><figure style="background-image:url(&quot;images/fswrite.png&quot;);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 {
988 background-color: #FFFFFF; 893 background-color: #FFFFFF;
989 font-size: 28px; 894 font-size: 28px;
990 color: #4b4b4b; 895 color: #4b4b4b;
991 font-family: &quot;Arial&quot;, &quot;Hiragino Maru Gothic ProN&quot;; 896 font-family: &quot;Arial&quot;, &quot;Hiragino Maru Gothic ProN&quot;;
992 } 897 }
993 898
994 section.title { 899 section.title {
995 font-size: 40px; 900 font-size: 40px;
996 padding: 40px; 901 padding: 40px;
997 } 902 }
998 section.title h1 { 903 section.title h1 {
999 text-align: center; 904 text-align: center;
1000 } 905 }
1001 906
1002 section.slide h1 { 907 section.slide h1 {
1003 position: absolute; 908 position: absolute;
1004 left: 50px; top: 35px; 909 left: 50px; top: 35px;
1005 } 910 }
1006 " class="slide" data-marpit-pagination="26" data-marpit-pagination-total="32" style="--paginate:true;--class:slide;--theme:default; 911 " class="slide" data-marpit-pagination="23" data-marpit-pagination-total="28" style="--paginate:true;--class:slide;--theme:default;
1007 ;" data-marpit-advanced-background="content"> 912 ;" data-marpit-advanced-background="content">
1008 <h1>ファイルシステムの評価 2/2</h1> 913 <h1>ファイルシステムの評価 2/2</h1>
1009 </section> 914 </section>
1010 </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="32"></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 { 915 </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="28"></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 {
1011 background-color: #FFFFFF; 916 background-color: #FFFFFF;
1012 font-size: 28px; 917 font-size: 28px;
1013 color: #4b4b4b; 918 color: #4b4b4b;
1014 font-family: &quot;Arial&quot;, &quot;Hiragino Maru Gothic ProN&quot;; 919 font-family: &quot;Arial&quot;, &quot;Hiragino Maru Gothic ProN&quot;;
1015 } 920 }
1016 921
1017 section.title { 922 section.title {
1018 font-size: 40px; 923 font-size: 40px;
1019 padding: 40px; 924 padding: 40px;
1020 } 925 }
1021 section.title h1 { 926 section.title h1 {
1022 text-align: center; 927 text-align: center;
1023 } 928 }
1024 929
1025 section.slide h1 { 930 section.slide h1 {
1026 position: absolute; 931 position: absolute;
1027 left: 50px; top: 35px; 932 left: 50px; top: 35px;
1028 } 933 }
1029 " class="slide" data-marpit-pagination="27" data-marpit-pagination-total="32" style="--paginate:true;--class:slide;--theme:default; 934 " class="slide" data-marpit-pagination="24" data-marpit-pagination-total="28" style="--paginate:true;--class:slide;--theme:default;
1030 ;"> 935 ;">
1031 <h1>ie-podmanの評価 1/3</h1> 936 <h1>ie-podmanの評価 1/3</h1>
1032 <ul> 937 <ul>
1033 <li> 938 <li>
1034 <p>実験環境</p> 939 <p>実験環境</p>
1050 <ul> 955 <ul>
1051 <li>Build速度の比較 956 <li>Build速度の比較
1052 <ul> 957 <ul>
1053 <li>Docker</li> 958 <li>Docker</li>
1054 <li>Podman (rootless)</li> 959 <li>Podman (rootless)</li>
1055 <li>ie-podman</li> 960 <li>ie-podman (Podman rootfull wrapper)</li>
1056 </ul> 961 </ul>
1057 </li> 962 </li>
1058 </ul> 963 </ul>
1059 </section> 964 </section>
1060 </foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section data-paginate="true" data-class="slide" data-theme="default" data-style="section { 965 </foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section data-paginate="true" data-class="slide" data-theme="default" data-style="section {
1074 979
1075 section.slide h1 { 980 section.slide h1 {
1076 position: absolute; 981 position: absolute;
1077 left: 50px; top: 35px; 982 left: 50px; top: 35px;
1078 } 983 }
1079 " class="slide" data-marpit-pagination="28" data-marpit-pagination-total="32" style="--paginate:true;--class:slide;--theme:default; 984 " class="slide" data-marpit-pagination="25" data-marpit-pagination-total="28" style="--paginate:true;--class:slide;--theme:default;
1080 ;" data-marpit-advanced-background="background"><div data-marpit-advanced-background-container="true" data-marpit-advanced-background-direction="horizontal"><figure style="background-image:url(&quot;images/container2.png&quot;);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 { 985 ;" data-marpit-advanced-background="background"><div data-marpit-advanced-background-container="true" data-marpit-advanced-background-direction="horizontal"><figure style="background-image:url(&quot;images/container2.png&quot;);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 {
1081 background-color: #FFFFFF; 986 background-color: #FFFFFF;
1082 font-size: 28px; 987 font-size: 28px;
1083 color: #4b4b4b; 988 color: #4b4b4b;
1084 font-family: &quot;Arial&quot;, &quot;Hiragino Maru Gothic ProN&quot;; 989 font-family: &quot;Arial&quot;, &quot;Hiragino Maru Gothic ProN&quot;;
1085 } 990 }
1086 991
1087 section.title { 992 section.title {
1088 font-size: 40px; 993 font-size: 40px;
1089 padding: 40px; 994 padding: 40px;
1090 } 995 }
1091 section.title h1 { 996 section.title h1 {
1092 text-align: center; 997 text-align: center;
1093 } 998 }
1094 999
1095 section.slide h1 { 1000 section.slide h1 {
1096 position: absolute; 1001 position: absolute;
1097 left: 50px; top: 35px; 1002 left: 50px; top: 35px;
1098 } 1003 }
1099 " class="slide" data-marpit-pagination="28" data-marpit-pagination-total="32" style="--paginate:true;--class:slide;--theme:default; 1004 " class="slide" data-marpit-pagination="25" data-marpit-pagination-total="28" style="--paginate:true;--class:slide;--theme:default;
1100 ;" data-marpit-advanced-background="content"> 1005 ;" data-marpit-advanced-background="content">
1101 <h1>ie-podmanの評価 2/3</h1> 1006 <h1>ie-podmanの評価 2/3</h1>
1102 </section> 1007 </section>
1103 </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="32"></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 { 1008 </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="28"></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 {
1104 background-color: #FFFFFF; 1009 background-color: #FFFFFF;
1105 font-size: 28px; 1010 font-size: 28px;
1106 color: #4b4b4b; 1011 color: #4b4b4b;
1107 font-family: &quot;Arial&quot;, &quot;Hiragino Maru Gothic ProN&quot;; 1012 font-family: &quot;Arial&quot;, &quot;Hiragino Maru Gothic ProN&quot;;
1108 } 1013 }
1109 1014
1110 section.title { 1015 section.title {
1111 font-size: 40px; 1016 font-size: 40px;
1112 padding: 40px; 1017 padding: 40px;
1113 } 1018 }
1114 section.title h1 { 1019 section.title h1 {
1115 text-align: center; 1020 text-align: center;
1116 } 1021 }
1117 1022
1118 section.slide h1 { 1023 section.slide h1 {
1119 position: absolute; 1024 position: absolute;
1120 left: 50px; top: 35px; 1025 left: 50px; top: 35px;
1121 } 1026 }
1122 " class="slide" data-marpit-pagination="29" data-marpit-pagination-total="32" style="--paginate:true;--class:slide;--theme:default; 1027 " class="slide" data-marpit-pagination="26" data-marpit-pagination-total="28" style="--paginate:true;--class:slide;--theme:default;
1123 ;"> 1028 ;">
1124 <h1>ie-podmanの評価 3/3</h1> 1029 <h1>ie-podmanの評価 3/3</h1>
1125 <ul> 1030 <ul>
1126 <li>Rootlessは<code>syscall</code>が複数呼ばれている 1031 <li>Rootlessは<code>syscall</code>が複数呼ばれている
1127 <ul> 1032 <ul>
1130 </li> 1035 </li>
1131 <li>左がrootless、右がrootfull</li> 1036 <li>左がrootless、右がrootfull</li>
1132 </ul> 1037 </ul>
1133 <p><img src="images/syscall.png" alt="height:325" style="height:325px;" /></p> 1038 <p><img src="images/syscall.png" alt="height:325" style="height:325px;" /></p>
1134 </section> 1039 </section>
1135 </foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="30" data-paginate="true" data-class="slide" data-theme="default" data-style="section { 1040 </foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="27" data-paginate="true" data-class="title" data-theme="default" data-style="section {
1136 background-color: #FFFFFF; 1041 background-color: #FFFFFF;
1137 font-size: 28px; 1042 font-size: 28px;
1138 color: #4b4b4b; 1043 color: #4b4b4b;
1139 font-family: &quot;Arial&quot;, &quot;Hiragino Maru Gothic ProN&quot;; 1044 font-family: &quot;Arial&quot;, &quot;Hiragino Maru Gothic ProN&quot;;
1140 } 1045 }
1141 1046
1142 section.title { 1047 section.title {
1143 font-size: 40px; 1048 font-size: 40px;
1144 padding: 40px; 1049 padding: 40px;
1145 } 1050 }
1146 section.title h1 { 1051 section.title h1 {
1147 text-align: center; 1052 text-align: center;
1148 } 1053 }
1149 1054
1150 section.slide h1 { 1055 section.slide h1 {
1151 position: absolute; 1056 position: absolute;
1152 left: 50px; top: 35px; 1057 left: 50px; top: 35px;
1153 } 1058 }
1154 " class="slide" data-marpit-pagination="30" data-marpit-pagination-total="32" style="--paginate:true;--class:slide;--theme:default; 1059 " class="title" data-marpit-pagination="27" data-marpit-pagination-total="28" style="--paginate:true;--class:title;--theme:default;
1155 ;">
1156 <h1>学習環境の評価</h1>
1157 <ul>
1158 <li>VM
1159 <ul>
1160 <li>学生が自由にスペックを変更できる</li>
1161 <li>ディスク容量を抑えれる</li>
1162 </ul>
1163 </li>
1164 <li>コンテナ
1165 <ul>
1166 <li>気軽に利用できる</li>
1167 <li>高性能な実況環境を利用できる</li>
1168 </ul>
1169 </li>
1170 </ul>
1171 </section>
1172 </foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="31" data-paginate="true" data-class="title" data-theme="default" data-style="section {
1173 background-color: #FFFFFF;
1174 font-size: 28px;
1175 color: #4b4b4b;
1176 font-family: &quot;Arial&quot;, &quot;Hiragino Maru Gothic ProN&quot;;
1177 }
1178
1179 section.title {
1180 font-size: 40px;
1181 padding: 40px;
1182 }
1183 section.title h1 {
1184 text-align: center;
1185 }
1186
1187 section.slide h1 {
1188 position: absolute;
1189 left: 50px; top: 35px;
1190 }
1191 " class="title" data-marpit-pagination="31" data-marpit-pagination-total="32" style="--paginate:true;--class:title;--theme:default;
1192 ;"> 1060 ;">
1193 <h1>まとめ</h1> 1061 <h1>まとめ</h1>
1194 </section> 1062 </section>
1195 </foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="32" data-paginate="true" data-class="slide" data-theme="default" data-style="section { 1063 </foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="28" data-paginate="true" data-class="slide" data-theme="default" data-style="section {
1196 background-color: #FFFFFF; 1064 background-color: #FFFFFF;
1197 font-size: 28px; 1065 font-size: 28px;
1198 color: #4b4b4b; 1066 color: #4b4b4b;
1199 font-family: &quot;Arial&quot;, &quot;Hiragino Maru Gothic ProN&quot;; 1067 font-family: &quot;Arial&quot;, &quot;Hiragino Maru Gothic ProN&quot;;
1200 } 1068 }
1201 1069
1202 section.title { 1070 section.title {
1203 font-size: 40px; 1071 font-size: 40px;
1204 padding: 40px; 1072 padding: 40px;
1205 } 1073 }
1206 section.title h1 { 1074 section.title h1 {
1207 text-align: center; 1075 text-align: center;
1208 } 1076 }
1209 1077
1210 section.slide h1 { 1078 section.slide h1 {
1211 position: absolute; 1079 position: absolute;
1212 left: 50px; top: 35px; 1080 left: 50px; top: 35px;
1213 } 1081 }
1214 " class="slide" data-marpit-pagination="32" data-marpit-pagination-total="32" style="--paginate:true;--class:slide;--theme:default; 1082 " class="slide" data-marpit-pagination="28" data-marpit-pagination-total="28" style="--paginate:true;--class:slide;--theme:default;
1215 ;"> 1083 ;">
1216 <h1>今後の課題</h1> 1084 <h1>今後の課題</h1>
1217 <ul> 1085 <ul>
1218 <li>教育情報システムの周知 1086 <li>教育情報システムの周知
1219 <ul> 1087 <ul>
1226 <ul> 1094 <ul>
1227 <li>プレフィックス長が24のため、最大254個のIPアドレス</li> 1095 <li>プレフィックス長が24のため、最大254個のIPアドレス</li>
1228 <li>コンテナを停止で使用されない場合は削除する必要がある</li> 1096 <li>コンテナを停止で使用されない場合は削除する必要がある</li>
1229 </ul> 1097 </ul>
1230 </li> 1098 </li>
1231 <li>バックアップの運用 1099 <li>基幹サービスすべてのコンテナ移行
1232 <ul> 1100 <ul>
1233 <li>Cephと専用サーバ以外のバックアップ先を用意する必要がある</li> 1101 <li>まだVMで動いている基幹サービスがある</li>
1102 <li>コンテナ運用の経験を積んでいきたい</li>
1234 </ul> 1103 </ul>
1235 </li> 1104 </li>
1236 </ul> 1105 </ul>
1237 </section> 1106 </section>
1238 <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)}(); 1107 <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)}();
1239 </script></foreignObject></svg></div><div class="bespoke-marp-note" data-index="5" tabindex="0"><p>--- 1108 </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)}
1240 # オンプレミス環境
1241
1242 - 汎用サーバ x 4
1243 - ディスクサーバ x 2
1244
1245 | | |
1246 | :---: | :---: |
1247 | CPU | Intel Xeon Gold 6238 (2.10GHz/22Core) |
1248 | GPU | Nvidia Tesla V100S |
1249 | メモリ | 512GB |
1250 | SAS SSD | 5TB |
1251 | NVMe SSD | 1.5TB |</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)}
1252 /*! 1109 /*!
1253 * screenfull 1110 * screenfull
1254 * v5.0.2 - 2020-02-13 1111 * v5.0.2 - 2020-02-13
1255 * (c) Sindre Sorhus; MIT License 1112 * (c) Sindre Sorhus; MIT License
1256 */ 1113 */