# HG changeset patch
# User okud
# Date 1613131464 -32400
# Node ID f25dbd69348545bbfbab0992c8b8cd64257ac5c5
# Parent 1236fa28ffdd1de8742052eb7a5642cf99299fe5
add slide
diff -r 1236fa28ffdd -r f25dbd693485 slide/images/backfill.png
Binary file slide/images/backfill.png has changed
diff -r 1236fa28ffdd -r f25dbd693485 slide/images/container.png
Binary file slide/images/container.png has changed
diff -r 1236fa28ffdd -r f25dbd693485 slide/images/fswrite.png
Binary file slide/images/fswrite.png has changed
diff -r 1236fa28ffdd -r f25dbd693485 slide/images/jobscheduler.png
Binary file slide/images/jobscheduler.png has changed
diff -r 1236fa28ffdd -r f25dbd693485 slide/images/system.png
Binary file slide/images/system.png has changed
diff -r 1236fa28ffdd -r f25dbd693485 slide/slide.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/slide/slide.html Fri Feb 12 21:04:24 2021 +0900
@@ -0,0 +1,1290 @@
+
コンテナ技術を用いた教育情報システムの構築
+研究目的
+
+- 情報通信技術の普及に伴い学ぶことが増えている
+- その学習環境として、Virtual MachineやContainerがある
+
+
+
+
+
+これまでの学生向け学習環境
+
+-
+
VM貸出サービス
+
+- Akatsuki
+
+- 申請を行い、Webコントロールパネルから作成
+
+
+- ie-virsh
+
+
+
+
+-
+
VM貸出サービスのデフォルトスペック
+
+- CPU 1コア
+- メモリ 1GB
+- ディスク容量 10GB
+
+
+
+
+
+これまでの学習環境の問題点
+
+- VM貸出サービスの一部学生は申請の方法が分からなかったり、貸出サービスがあることが周知されていなかったため、旧システムのリソースが余っていた
+
+
+
+- VMのスペックの変更にはシステム管理チームへの申請が必要であり、利用者と管理者とのやり取りなどの手間があった
+
+
+
+- 旧システムにはGPUが搭載されていないため、貸出サービスではなく研究室ごとの機器、クラウドサービスが多く利用された
+
+
+
+
+オンプレミス環境
+
+- 汎用サーバ x 4
+- ディスクサーバ x 2
+
+
+
+
+ |
+ |
+
+
+
+
+CPU |
+Intel Xeon Gold 6238 (2.10GHz/22Core) |
+
+
+GPU |
+Nvidia Tesla V100S |
+
+
+メモリ |
+512GB |
+
+
+SAS SSD |
+5TB |
+
+
+NVMe SSD |
+1.5TB |
+
+
+
+
+
+VM貸出サービスの移行
+
+- VM貸出サービスを継続するため、KVMを導入する
+- VMからGPUの利用にはPCIパススルーの設定が必要となる
+- しかし、VM1つに対し、1つのGPUが必要になる
+
+
+
+
+
+
+
+コンテナ環境の導入
+
+- 要件としてマルチユーザであり、GPUが利用できるなどがある
+- そこで、Podman、Singularityを導入する
+- Podman
+
+- rootlessで利用できる
+- nvidia-dockerの設定を行えばGPUを利用できる
+
+
+- Singularity
+
+- rootlessで利用できる
+- GPUの利用が容易
+
+
+
+
+
+
+
+
+ie-podmanの作成
+
+- ユーザのUID、GIDを取得し管理を行う
+
+
+- SSD上にイメージ等を保存し、高速を図る
+
+
+
+ie-podmanの機能 1/2
+
+- Podmanのすべての機能をwrappするのではなく、一部機能のみを提供する
+
+
+
+
+コマンド |
+機能 |
+
+
+
+
+build |
+Containerfileの指示に従いイメージを作成する |
+
+
+cp |
+コンテナにファイルを送信する |
+
+
+exec |
+起動中のコンテナでプロセスを実行する |
+
+
+images |
+コンテナイメージの一覧を表示する |
+
+
+info |
+コンテナの情報を表示する |
+
+
+logs |
+コンテナのlogを表示する |
+
+
+ps |
+起動中のコンテナの一覧を表示する |
+
+
+
+
+
+ie-podmanの機能 2/2
+
+- registryやsifなど独自機能を提供する
+
+
+
+
+コマンド |
+機能 |
+
+
+
+
+registry |
+学科のレジストリの操作を行う |
+
+
+rm |
+コンテナを削除する |
+
+
+run |
+コンテナを作成する |
+
+
+sif |
+イメージをsifファイルに変換する |
+
+
+start |
+コンテナを起動する |
+
+
+stop |
+コンテナを停止する |
+
+
+
+
+
+ジョブスケジューラの導入
+
+- 多くのリソースを必要とするプログラムは管理が必要である
+- 4台のサーバのリソースを利用できるようにする必要がある
+- そこで、ジョブスケジューラのSlurmを採用する
+
+
+
+
+
+ジョブスケジューラの構築
+利用方針 「計算リソースの利用効率を上げる」
+
+- Jobの優先順位
+
+- 要求するリソースの少ないJobの優先度を高くする
+- 実行時間が短いJobの優先度を高くする
+- これまでのJobの実行履歴で優先度は変化しない
+
+
+
+これでは多くのリソースを要求するJobが実行されない可能性がある。
+
+- Jobの実行時間
+
+- Jobの実行時間の記載がない場合は1日で強制終了させる
+- 管理者からJobの優先度を上げる
+
+
+
+また、Jobのスケジュールにはバックフィルを採用する。
+
+
+
+
+
+ファイルシステムの導入
+
+- Cephを採用
+
+- 自己修復、自己管理機能を搭載するため信頼性が高い
+- 柔軟なアクセス方法の提供
+
+- Object Gateway
+- ブロックデバイス
+- POSIX互換のファイルシステム
+
+
+
+
+
+
+
+教育情報システムの構成
+
+- 汎用サーバ全てにKVM、Podman、Singularityをインストール
+- Slurm
+
+- 汎用サーバ1台をコントローラ/計算ノード
+- 残りを計算ノード
+
+
+- Ceph
+
+- ディスクサーバをOSD
+- 汎用サーバ3台をMON, MDS, MGR
+
+
+
+
+
+
+
+VM貸出サービスの利用
+
+- VMの作成、スペックの変更で申請が必要なくなった
+- VMの作成
+
+ie-virsh define --template Ubuntu-20 VM_NAME
+
+
+- スペックの変更
+
+
+
+
+
+ie-podmanの使用方法
+
+- PodmanはDockerと同じCLIを提供している
+- IPアドレス、GPUをコンテナへ割り当てられる
+
+ie-podman run --ip --gpu [IMAGE_NAME]
+
+
+- 作成したイメージをsifファイルへの変換に対応
+
+ie-podman sif [IMAGE_NAME]
+
+
+
+
+
+GPUの利用方法
+
+- Singularityでは容易にGPUを利用できる
+
+singularity run --nv [SIF_NAME]
+
+
+- ホームディレクトリ、/tmpなどがコンテナにマウントされる
+
+
+- SlurmによるJob管理
+
+- 必要なリソースを記述し投下する
+- CPU数、GPU数
+
+
+
+
+
+batchファイルの例
+
+- Jobに必要とするリソース
+
+
+- Jobの実行時間
+
+
+
+#!/bin/bash
+
+
+
+
+
+
+
+
+singularity exec --nv [SIF_NAME] [COMMANDS]
+
+
+
+
+ファイルシステムの評価 1/2
+
+-
+
実験概要
+
+
+-
+
書き込み速度の比較
+
+- GFS2
+- NFS
+- CephFS
+- CephRBD
+
+
+
+
+
+
+ie-podmanの評価 1/3
+
+-
+
実験環境
+
+
+-
+
実験概要
+
+
+-
+
Build速度の比較
+
+- Docker
+- Podman (rootless)
+- ie-podman
+
+
+
+
+
+ie-podmanの評価 2/3
+FROM ubuntu:18.04
+RUN apt-get update && \
+ apt-get upgrade -y && \
+ DEBIAN_FRONTEND=noninteractive \
+ apt-get install -y \
+ qemu-utils qemu-efi-aarch64 \
+ qemu-system-arm qemu-system-x86 \
+ build-essential uuid-dev \
+ git python iasl wget vim nasm && \
+ DEBIAN_FRONTEND=noninteractive \
+ apt-get install -y \
+ crossbuild-essential-armhf
+
+WORKDIR /workdir
+RUN git clone --recursive https://github.com/tianocore/edk2 && \
+ wget https://sourceforge.net/projects/gnu-efi/files/gnu-efi-3.0.12.tar.bz2/download && \
+ tar xf download
+
+
+
+
+学習環境の評価
+
+- VM
+
+- 学生が自由にスペックを変更できる
+- ディスク容量を抑えれる
+
+
+- コンテナ
+
+- 気軽に利用できる
+- 高性能な実況環境を利用できる
+
+
+
+
+
+
+今後の課題
+
+- 教育情報システムの周知
+
+- Jobの投下やリソースの要求方法
+- ie-virsh、ie-podmanの使用方法
+- 定期的な周知が必要
+
+
+- ie-podmanのネットワーク構成の見直し
+
+- プレフィックス長が24のため、最大254個のIPアドレス
+- コンテナを停止で使用されない場合は削除する必要がある
+
+
+- バックアップの運用
+
+- Cephと専用サーバ以外のバックアップ先を用意する必要がある
+
+
+
+
+
\ No newline at end of file
diff -r 1236fa28ffdd -r f25dbd693485 slide/slide.md
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/slide/slide.md Fri Feb 12 21:04:24 2021 +0900
@@ -0,0 +1,45 @@
+---
+marp: false
+title: Gears OS UEFI対応
+paginate: true
+
+theme: default
+size: 16:9
+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;
+ }
+
+---
+
+# Gears OS UEFI対応
+
+- 奥田光希
+ - 琉球大学工学部工学科知能情報コース
+- 河野 真治
+ - 琉球大学工学部
+
+---
+
+#
+
+
+
+---
+