diff paper/chapter/system_usage.tex @ 49:71e1425687f3

update tex
author Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
date Fri, 12 Feb 2021 23:49:40 +0900
parents 47a9b8bf069b
children a822207b796f
line wrap: on
line diff
--- a/paper/chapter/system_usage.tex	Fri Feb 12 16:21:54 2021 +0900
+++ b/paper/chapter/system_usage.tex	Fri Feb 12 23:49:40 2021 +0900
@@ -78,24 +78,23 @@
 run時に--gpuオプションを指定することでコンテナ内にGPUを割り当てる.
 また,--ipオプションを指定することで,使用されていないIPアドレスが割り振られる.
 コンテナ名は指定することもできるが,ユーザ名で補完されるため,他ユーザと重複することはない.
-ie-podmanを使用して,新しいコンテナの作成は下記のように行う.
-\begin{lstlisting}[caption=コンテナの作成]
+ie-podmanを使用して,新しいコンテナの作成はソースコード\ref{pg:ie-run}のように行う.
+\begin{lstlisting}[caption=コンテナの作成, label=pg:ie-run]
 $ ie-podman run --ip --gpu --name [CONTAINER_NAME] [IMAGE]
 \end{lstlisting}
 
 新システムにインストールされているPodmanはrootlessでコンテナイメージの作成は低速である.
 これは,開発段階ということが考えられる.
-%新システムのユーザのホームディレクトリはCephFSで提供されているためである.
 ie-podmanはrootのPodmanを利用しSSD上に作成されるため,Podmanと比較し高速である.
 イメージ名はコンテナ名と同じくユーザ名で補完されることで,他ユーザと重複することはない.
-ie-podmanを使用して,新しいイメージの作成は下記のように行う.
-\begin{lstlisting}[caption=イメージのビルド]
+ie-podmanを使用して,新しいイメージの作成はソースコード\ref{pg:ie-build}のように行う.
+\begin{lstlisting}[caption=イメージのビルド, label=pg:ie-build]
 $ ie-podman build --tag [IMAGE_NAME] [CONTEXT]
 \end{lstlisting}
 
-また,作成したコンテナイメージは下記の操作で一覧を表示することができる.
+また,作成したコンテナイメージはソースコード\ref{pg:ie-image}の操作で一覧を表示することができる.
 一覧で表示されるイメージはie-podmanで作成したイメージのみである.
-\begin{lstlisting}[caption=イメージ一覧の出力]
+\begin{lstlisting}[caption=イメージ一覧の出力, label=pg:ie-image]
 $ ie-podman images
 \end{lstlisting}
 
@@ -106,8 +105,8 @@
 だが,イメージのビルド中にエラーが発生すると,一からビルドを再開する必要がある.
 DockerやPodmanはイメージのビルド時にレイヤーごとにキャッシュされるため,Containerfileに追加や編集を行っても前回のキャッシュが使用されることで,高速にビルドが行われる.
 そこで,ie-podmanで作成したイメージをsifファイルへ変換する機能を作成した.
-ie-podmanでイメージを作成し,下記の操作を行うことでsifファイルへ変換が行える.
-\begin{lstlisting}[caption=イメージのsif変換]
+ie-podmanでイメージを作成し,ソースコード\ref{pg:ie-sif}の操作を行うことでsifファイルへ変換が行える.
+\begin{lstlisting}[caption=イメージのsif変換, label=pg:ie-sif]
 $ ie-podman sif [IMAGE_NAME]
 \end{lstlisting}
 
@@ -116,15 +115,15 @@
 ie-podmanからだけでなく,Podmanや手元のPCのDockerからも利用できる.
 レジストリへの登録には,登録するイメージにtagを付けpushする必要がある.
 ie-podmanでは本コースのレジストリを利用しやすくするため,簡単に操作できる機能を作成した.
-ie-podmanでは下記の操作で本コースで利用するレジストリへ登録できる.
-\begin{lstlisting}[caption=レジストリへの登録]
+ie-podmanではソースコード\ref{pg:ie-push}の操作で本コースで利用するレジストリへ登録できる.
+\begin{lstlisting}[caption=レジストリへの登録, label=pg:ie-push]
 $ ie-podman registry push [IMAGE_NAME]
 \end{lstlisting}
 
 また,レジストリに登録されているイメージ一覧を表示することも可能である.
-下記の操作でイメージ一覧を表示を行う.
+ソースコード\ref{pg:ie-search}の操作でイメージ一覧を表示を行う.
 イメージ名を指定することで,イメージのtag一覧の表示も可能である.
-\begin{lstlisting}[caption=レジストリの検索]
+\begin{lstlisting}[caption=レジストリの検索, label=pg:ie-search]
 $ ie-podman registry search
 $ ie-podman registry search [IMAGE_NAME]
 \end{lstlisting}
@@ -135,31 +134,31 @@
 だが,プログラムの実行にはSlurmにJobとして投下する必要がある.
 そのため,イメージを単一ファイルベースとして扱え,ユーザのホームディレクトリがコンテナにマウントされるSingularityを主に利用する.
 %プログラムを実行する環境のみをsifファイルとして構築し,実行するプログラム,データをホームディレクトリで管理することが可能である.
-Singularityのコンテナの実行は,下記の操作で行える.
+Singularityのコンテナの実行は,ソースコード\ref{pg:sing-run}の操作で行える.
 また,実行時に--nvオプションを指定することで,コンテナからGPUを利用することが可能になる.
-\begin{lstlisting}[caption=Singularityの実行]
+\begin{lstlisting}[caption=Singularityの実行, label=pg:sing-run]
 $ singularity run --nv [SIF_NAME]
 \end{lstlisting}
 
 実行にはrun,exec,shellのサブコマンドがあり,runではsifファイルを作成する際に指定が可能なrunscriptが実行される.
 指定されない場合はshellが起動する.また,execではイメージ内にインストールされている任意のコマンドを実行することが可能である.
 これらのサブコマンドを利用し,SlurmにJobを投下する際のbatchファイルを作成する.
-batchファイルはソース\ref{pg:batch}の2$\sim$8行目ように,Jobに必要なリソースを定義する.
+batchファイルはソースコード\ref{pg:batch}の2$\sim$8行目ように,Jobに必要なリソースを定義する.
 リソースの定義後に,実行したい処理を記述する.
 \lstinputlisting[language=Bash, numbers=left, breaklines=true, basicstyle=\ttfamily\footnotesize, frame=single, caption=batchファイル, label=pg:batch]{file/batch.bash}
 
-batchファイルを作成後,下記の操作でJobを投下することが可能である.
-\begin{lstlisting}[caption=Jobの投下]
+batchファイルを作成後,ソースコード\ref{pg:sbatch}の操作でJobを投下することが可能である.
+\begin{lstlisting}[caption=Jobの投下, label=pg:sbatch]
 $ sbatch [BATCH_FILENAME]
 \end{lstlisting}
 
-また,Jobの各種情報は,下記の操作で表示することが可能である.
-\begin{lstlisting}[caption=Job情報の出力]
+また,Jobの各種情報は,ソースコード\ref{pg:squeue}の操作で表示することが可能である.
+\begin{lstlisting}[caption=Job情報の出力, label=pg:squeue]
 $ squeue
 \end{lstlisting}
 
-投下したJobを停止するには,下記の操作で行うことができる.
+投下したJobを停止するには,ソースコード\ref{pg:scansel}の操作で行うことができる.
 SlurmはユーザごとにJobが管理されるため,他ユーザのJobを停止するこはできない.
-\begin{lstlisting}[caption=Jobの停止]
+\begin{lstlisting}[caption=Jobの停止, label=pg:scansel]
 $ scansel [JOB_ID]
 \end{lstlisting}
\ No newline at end of file