annotate paper/chapter/system_review.tex @ 56:467f33670092

update prepaper
author Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
date Sun, 14 Feb 2021 23:38:36 +0900
parents a822207b796f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
39
a967cf51ba92 fix typo
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 36
diff changeset
1 \chapter{教育情報システムの評価}
5
e32786ab9366 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents:
diff changeset
2
41
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 39
diff changeset
3 本章では,教育情報システムの評価を行う.
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 39
diff changeset
4 新たに採用したCephとの比較,VM貸出サービス,コンテナ環境の評価を述べる.
35
d8f79c7bf155 update review
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
5
d8f79c7bf155 update review
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
6 \section{ファイルシステムの評価}
d8f79c7bf155 update review
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
7
41
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 39
diff changeset
8 旧システムのVM保存場所として利用していたGFS2,ユーザのホームディレクトリとして利用していたNFSとの速度比較を行う.
35
d8f79c7bf155 update review
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
9
d8f79c7bf155 update review
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
10 \subsection{実験概要}
d8f79c7bf155 update review
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
11
41
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 39
diff changeset
12 実験に使用する汎用サーバ環境は,表\ref{tb:newserver}を使用する.
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 39
diff changeset
13 また,Cephの構成は図\ref{fig:system}となっている.
35
d8f79c7bf155 update review
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
14 \par
41
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 39
diff changeset
15 ベンチマークにはddというファイル変換やコピーを目的としたGNU/Linuxのコアユーティリティを用いる.
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 39
diff changeset
16 ddは,低レベルのI/Oフロー制御機能を備えており,シーケンシャル書き込み,または読み取りの速度を測定できる.
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 39
diff changeset
17 データの変換方法にfdatasyncを指定することで,書き込み終了の直前にsyncを1回要求するため,実際の動作に近い動作で測定が可能である.
35
d8f79c7bf155 update review
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
18 \par
49
71e1425687f3 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 48
diff changeset
19 書き込みにはソースコード\ref{pg:dd}のコマンドを用いる.
71e1425687f3 update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 48
diff changeset
20 \begin{lstlisting}[caption=ベンチマークコマンド, label=pg:dd]
35
d8f79c7bf155 update review
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
21 $ dd if=/dev/zero of=benchmark bs=64K count=2K conv=fdatasync
48
47a9b8bf069b fix thesis
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 41
diff changeset
22 \end{lstlisting}
41
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 39
diff changeset
23 また,ファイルサイズは128MB,256MB,512MB,1GB,2GB,4GBの書き込みを行う.
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 39
diff changeset
24 5回測定を行い平均を比較する.
35
d8f79c7bf155 update review
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
25
d8f79c7bf155 update review
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
26 \subsection{ファイルシステムの速度比較}
41
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 39
diff changeset
27 図\ref{fig:write}はCephFS,Ceph RBD,GFS2,NFSにおけるファイルサイズに対する書き込み速度である.
35
d8f79c7bf155 update review
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
28
d8f79c7bf155 update review
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
29 \begin{figure}[H]
d8f79c7bf155 update review
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
30 \begin{center}
d8f79c7bf155 update review
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
31 \includegraphics[width=150mm]{file/benchmark/pdf/Write.pdf}
d8f79c7bf155 update review
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
32 \end{center}
d8f79c7bf155 update review
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
33 \caption{書込み速度の比較}
d8f79c7bf155 update review
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
34 \label{fig:write}
d8f79c7bf155 update review
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
35 \end{figure}
d8f79c7bf155 update review
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
36
d8f79c7bf155 update review
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
37 \subsection{考察}
41
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 39
diff changeset
38 旧システムのホームディレクトリは,iSCSI経由でマウントされたデバイスをNFSから提供していた.
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 39
diff changeset
39 iSCSIの通信には10Gbpsの回線で接続されているが,NFSの提供はVMで行われており,1Gbpsで提供されていた.
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 39
diff changeset
40 そのため,10Gbpsの回線で接続し,マウントしているCephでは書き込み速度の改善が見られる.
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 39
diff changeset
41 しかし,GFS2は10Gbpsで接続されたクラスタで構成されているが,Cephより低速である.
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 39
diff changeset
42 旧システムでは,パッケージ等のアップデートがされておらず,Kernelの更新もされていなかった.
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 39
diff changeset
43 KernelはI/Oに関する多くの機能を提供するため,GFS2の書き込みより,Cephが高速になったのではないかと考えられる.
35
d8f79c7bf155 update review
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
44 \par
41
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 39
diff changeset
45 今回の計測では,読み込み速度の測定を行えなかった.
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 39
diff changeset
46 これは,旧システムで読み込み時にバッファキャッシュを削除せずに測定を行ったためである.
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 39
diff changeset
47 そのため,純粋な読み込み速度を測定することができなかったことは反省点である.
35
d8f79c7bf155 update review
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
48
33
44a8408a59a6 update conclusion
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 7
diff changeset
49 \section{VM貸出サービスの評価}
41
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 39
diff changeset
50 本コースのVM貸出サービスでは,VMの作成やスペックの変更にはシステム管理チームへの申請が必要であった.
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 39
diff changeset
51 これは,VMがリソースを過剰に使用できないようシステム管理チームで管理するためである.
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 39
diff changeset
52 VMの作成やスペックの変更申請が届くと,システム管理チームと利用者の間でやりとりを行い対応していた.
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 39
diff changeset
53 しかし,システム管理チームの状況によっては迅速に対応できず利用者を待たせることもあった.
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 39
diff changeset
54 新システムでは,VMの作成やスペックの変更はie-virshから対応できるようになり,システム管理チームや利用者の手間を減らすことが可能になった.
36
899991f158c2 update review
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
55 \par
41
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 39
diff changeset
56 また,これまでのVM貸出サービスはテンプレートのVMイメージをCloneしていたため,新しくVMを作成すると10GBの容量を使用していた.
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 39
diff changeset
57 そこで,ie-virshでは差分でVMを作成機能が追加され,新しく作成されるVMは数十MBになることで,使用するディスク容量を抑えることが可能になった.
7
dc7f958517e9 update mm
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
58
36
899991f158c2 update review
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
59 \section{コンテナ環境の評価}
41
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 39
diff changeset
60 新しく導入したPodmanは,Dockerと同じCLIを提供するため,Dockerを利用したことがある学生は抵抗なく利用できる.
51
5334697f98bf update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 49
diff changeset
61 また,Singularityの導入により,GPUを手軽に利用できるため,演習や研究等での利用も広がると考えられる.
5334697f98bf update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 49
diff changeset
62 \par
5334697f98bf update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 49
diff changeset
63 RootlessのPodman,Singularityの不便な点を補うため,Podmanのwrapperであるie-podmanを作成した.
56
467f33670092 update prepaper
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 55
diff changeset
64 ie-podmanにより特権が必要な機能も,利用者に特別な権限を与えることなく利用できるようになる.
55
a822207b796f update paper
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 51
diff changeset
65 また,ie-podmanはrootfullのPodmanをwrapperすることにより,コンテナやイメージがSSD上に保存される.
51
5334697f98bf update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 49
diff changeset
66 そのため,rootlessのPodmanより高速化を図ることが可能になる.
36
899991f158c2 update review
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
67 \par
51
5334697f98bf update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 49
diff changeset
68 そこで,ie-podmanでのイメージのBuild速度の比較を行う.
5334697f98bf update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 49
diff changeset
69
5334697f98bf update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 49
diff changeset
70 \subsection{実験概要}
5334697f98bf update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 49
diff changeset
71 実験に使用する環境は,表\ref{tb:newserver}のサーバ1台を使用する.
5334697f98bf update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 49
diff changeset
72 一般的なコンテナエンジンであるDockerを含め,比較するコンテナエンジンは以下である.
5334697f98bf update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 49
diff changeset
73 \begin{itemize}
5334697f98bf update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 49
diff changeset
74 \item Docker
5334697f98bf update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 49
diff changeset
75 \item Podman (rootless)
5334697f98bf update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 49
diff changeset
76 \item ie-podman (Podman rootfull wrapper)
5334697f98bf update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 49
diff changeset
77 \end{itemize}
5334697f98bf update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 49
diff changeset
78
5334697f98bf update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 49
diff changeset
79 使用するDockerfileはソースコード\ref{pg:dockerfile}である.
5334697f98bf update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 49
diff changeset
80 また,時間の計測にはtimeコマンドを使用する.
5334697f98bf update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 49
diff changeset
81
5334697f98bf update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 49
diff changeset
82 \begin{lstlisting}[caption=Dockerfile, label=pg:dockerfile]
5334697f98bf update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 49
diff changeset
83 FROM ubuntu:20.04
5334697f98bf update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 49
diff changeset
84 RUN apt-get update && \
5334697f98bf update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 49
diff changeset
85 apt-get upgrade -y
5334697f98bf update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 49
diff changeset
86 \end{lstlisting}
5334697f98bf update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 49
diff changeset
87
5334697f98bf update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 49
diff changeset
88 \subsection{イメージのBuild速度比較}
5334697f98bf update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 49
diff changeset
89 図\ref{fig:ie-podman-review}はDocker, Podman, ie-podmanにおけるイメージのBuild速度である.
5334697f98bf update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 49
diff changeset
90 \begin{figure}[H]
5334697f98bf update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 49
diff changeset
91 \begin{center}
5334697f98bf update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 49
diff changeset
92 \includegraphics[width=150mm]{file/benchmark/pdf/container2.pdf}
5334697f98bf update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 49
diff changeset
93 \end{center}
5334697f98bf update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 49
diff changeset
94 \caption{書込み速度の比較}
5334697f98bf update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 49
diff changeset
95 \label{fig:ie-podman-review}
5334697f98bf update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 49
diff changeset
96 \end{figure}
5334697f98bf update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 49
diff changeset
97
5334697f98bf update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 49
diff changeset
98 \subsection{考察}
5334697f98bf update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 49
diff changeset
99 Dockerやie-podmanのBuildに掛かる時間は1分未満だが,rootlessのPodmanでは3分程掛かっている.
5334697f98bf update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 49
diff changeset
100 RootlessのPodmanはコンテナイメージをユーザのホームディレクトリに保存する.
5334697f98bf update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 49
diff changeset
101 また,rootlessでは重複排除をサポートしていないVFSストレージに制限される.
5334697f98bf update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 49
diff changeset
102 RootlessのPodmanは独自の名前空間内で特権機能を利用できるようにするため,rootfullと比べ経由する関数が多くなる.
5334697f98bf update tex
Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
parents: 49
diff changeset
103 そのため,rootlessではrootfullと比べsyscallが多く呼ばれることにより,他と比べイメージのBuild速度が遅くなっているのではないかと考える.