changeset 0:b3fac6da3f37

add tex files
author taiki <taiki@cr.ie.u-ryukyu.ac.jp>
date Fri, 18 Apr 2014 00:52:17 +0900
parents
children 39db0e32f7e7
files paper/Makefile paper/dummy.tex paper/evaluation.tex paper/ievirsh.tex paper/introduction.tex paper/kvm.tex paper/sigos.tex paper/vagrant.tex
diffstat 8 files changed, 296 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/Makefile	Fri Apr 18 00:52:17 2014 +0900
@@ -0,0 +1,36 @@
+
+TARGET = sigos
+
+LATEX   = platex
+BIBTEX  = pbibtex
+#DVIPS   = dvips
+#DVIPDFM = dvipdfmx
+RM      = rm -f
+DVIPDF=dvipdfmx -p a4
+#  Option definitions
+#DVIPDFMOPT = 
+#DVIPSOPT   = -D 720 -mode esphi -O 0mm,0mm -N0 
+
+#  Suffixes definitions
+.SUFFIXES: .tex .dvi .pdf
+
+.tex.dvi:
+	$(LATEX) $<
+	$(BIBTEX) $(TARGET)
+	$(LATEX) $<
+	$(LATEX) $<
+
+.dvi.pdf:
+	$(DVIPDF) $(DVIPDF_OPT) $<
+
+
+all: $(TARGET).pdf
+	open $(TARGET).pdf
+
+dvi: $(TARGET).dvi
+
+pdf: $(TARGET).pdf
+
+
+clean:
+	rm -f *.dvi *.aux *.log *.pdf *.ps *.gz *.bbl *.blg *~ *.core
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/dummy.tex	Fri Apr 18 00:52:17 2014 +0900
@@ -0,0 +1,60 @@
+%%% jdummy.def
+%
+\DeclareRelationFont{JY1}{mc}{it}{}{OT1}{cmr}{it}{}
+\DeclareRelationFont{JT1}{mc}{it}{}{OT1}{cmr}{it}{}
+\DeclareFontShape{JY1}{mc}{m}{it}{<5> <6> <7> <8> <9> <10> sgen*min
+    <10.95><12><14.4><17.28><20.74><24.88> min10
+    <-> min10}{}
+\DeclareFontShape{JT1}{mc}{m}{it}{<5> <6> <7> <8> <9> <10> sgen*tmin
+    <10.95><12><14.4><17.28><20.74><24.88> tmin10
+    <-> tmin10}{}
+\DeclareRelationFont{JY1}{mc}{sl}{}{OT1}{cmr}{sl}{}
+\DeclareRelationFont{JT1}{mc}{sl}{}{OT1}{cmr}{sl}{}
+\DeclareFontShape{JY1}{mc}{m}{sl}{<5> <6> <7> <8> <9> <10> sgen*min
+    <10.95><12><14.4><17.28><20.74><24.88> min10
+    <-> min10}{}
+\DeclareFontShape{JT1}{mc}{m}{sl}{<5> <6> <7> <8> <9> <10> sgen*tmin
+    <10.95><12><14.4><17.28><20.74><24.88> tmin10
+    <-> tmin10}{}
+\DeclareRelationFont{JY1}{mc}{sc}{}{OT1}{cmr}{sc}{}
+\DeclareRelationFont{JT1}{mc}{sc}{}{OT1}{cmr}{sc}{}
+\DeclareFontShape{JY1}{mc}{m}{sc}{<5> <6> <7> <8> <9> <10> sgen*min
+    <10.95><12><14.4><17.28><20.74><24.88> min10
+    <-> min10}{}
+\DeclareFontShape{JT1}{mc}{m}{sc}{<5> <6> <7> <8> <9> <10> sgen*tmin
+    <10.95><12><14.4><17.28><20.74><24.88> tmin10
+    <-> tmin10}{}
+\DeclareRelationFont{JY1}{gt}{it}{}{OT1}{cmbx}{it}{}
+\DeclareRelationFont{JT1}{gt}{it}{}{OT1}{cmbx}{it}{}
+\DeclareFontShape{JY1}{mc}{bx}{it}{<5> <6> <7> <8> <9> <10> sgen*goth
+    <10.95><12><14.4><17.28><20.74><24.88> goth10
+    <-> goth10}{}
+\DeclareFontShape{JT1}{mc}{bx}{it}{<5> <6> <7> <8> <9> <10> sgen*tgoth
+    <10.95><12><14.4><17.28><20.74><24.88> tgoth10
+    <-> tgoth10}{}
+\DeclareRelationFont{JY1}{gt}{sl}{}{OT1}{cmbx}{sl}{}
+\DeclareRelationFont{JT1}{gt}{sl}{}{OT1}{cmbx}{sl}{}
+\DeclareFontShape{JY1}{mc}{bx}{sl}{<5> <6> <7> <8> <9> <10> sgen*goth
+    <10.95><12><14.4><17.28><20.74><24.88> goth10
+    <-> goth10}{}
+\DeclareFontShape{JT1}{mc}{bx}{sl}{<5> <6> <7> <8> <9> <10> sgen*tgoth
+    <10.95><12><14.4><17.28><20.74><24.88> tgoth10
+    <-> tgoth10}{}
+\DeclareRelationFont{JY1}{gt}{sc}{}{OT1}{cmbx}{sc}{}
+\DeclareRelationFont{JT1}{gt}{sc}{}{OT1}{cmbx}{sc}{}
+\DeclareFontShape{JY1}{mc}{bx}{sc}{<5> <6> <7> <8> <9> <10> sgen*goth
+    <10.95><12><14.4><17.28><20.74><24.88> goth10
+    <-> goth10}{}
+\DeclareFontShape{JT1}{mc}{bx}{sc}{<5> <6> <7> <8> <9> <10> sgen*tgoth
+    <10.95><12><14.4><17.28><20.74><24.88> tgoth10
+    <-> tgoth10}{}
+\DeclareRelationFont{JY1}{gt}{it}{}{OT1}{cmr}{it}{}
+\DeclareRelationFont{JT1}{gt}{it}{}{OT1}{cmr}{it}{}
+\DeclareFontShape{JY1}{gt}{m}{it}{<5> <6> <7> <8> <9> <10> sgen*goth
+    <10.95><12><14.4><17.28><20.74><24.88> goth10
+    <-> goth10}{}
+\DeclareFontShape{JT1}{gt}{m}{it}{<5> <6> <7> <8> <9> <10> sgen*tgoth
+    <10.95><12><14.4><17.28><20.74><24.88> tgoth10
+    <-> tgoth10}{}
+\endinput
+%%%% end of jdummy.def
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/evaluation.tex	Fri Apr 18 00:52:17 2014 +0900
@@ -0,0 +1,16 @@
+\section{評価}
+授業 Operating System で使用した、VM 環境の構成は以下のようになる。
+
+\begin{itemize}
+\item OS:debian
+\item Linux kernel version:
+\item CPU:
+\item Memory:
+\item NAS Filesystem: OCFS2
+\item KVM version:
+\end{itemize}
+
+\subsection{Oracle Cluster Filesystem(OCFS2)}
+\subsection{サーバの構成}
+\subsection{マルチユーザでの利用}
+\subsection{Vagrant Box の利点・欠点}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/ievirsh.tex	Fri Apr 18 00:52:17 2014 +0900
@@ -0,0 +1,52 @@
+\section{ie-virsh}\label{section:ievirsh}
+ie-virsh は、virsh をラップして作られた VM 管理用のプログラムである。生徒は ssh で学科アカウントを使用して VM に接続後、ie-virsh を使用して VM を操作することができる。
+表\ref{table:ievirshfunc}が ie-virsh の機能である。
+
+\begin{tiny}
+    \begin{table}[ht]
+        \begin{center}
+            \caption{ie-virsh のコマンド}
+            \label{table:ievirshfunc}
+            \small
+            \begin{tabular}[t]{c|l}
+                \hline
+                define & XML の template を元に domain を作成 \\
+                \hline
+                undefine & define で作成した domain を削除 \\
+                \hline
+                list & define で作成した domain を一覧表示 \\
+                \hline
+                start & 指定した domain 名の VM を起動 \\
+                \hline
+                destroy & 指定した domain 名の VM を停止 \\
+                \hline
+                dumpxml & domain の XML を参照 \\
+                \hline
+            \end{tabular}
+        \end{center}
+    \end{table}
+\end{tiny}
+
+ie-virsh には virsh にあるような、ネットワークの構成などの管理者側がするべき操作はなく、管理者でない生徒は操作できないようになっている。
+
+生徒が ie-virsh を使用して VM を起動する手順はこうである。まず生徒のノートパソコンで、VMWare や Virtual Box を使って Linux をインストールし、イメージを作成する。作成したイメージをブレードサーバにアップロードする。イメージを qcow2 に変換して指定のディレクトリに配置し、以下のコマンドを実行する。
+
+\begin{verbatim}
+% ie-virsh define [domain name]
+\end{verbatim}
+
+そうすると、template XML を元に domain が生成される。
+ie-virsh は XML の template を持ち、その template は生徒が VM のイメージをブレードサーバにアップロードして define した際に使用される。そこには virsh 上で VM を使用するために必要な設定が記述されている。
+生成された domain は以下のように起動することができる。
+
+\begin{verbatim}
+% ie-virsh start [domain name]
+\end{verbatim}
+
+自身が持っている VM の状態を、下記で見ることができる。
+
+\begin{verbatim}
+% ie-virsh list
+\end{verbatim}
+
+\subsection{XML template}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/introduction.tex	Fri Apr 18 00:52:17 2014 +0900
@@ -0,0 +1,4 @@
+\section{研究の目的}
+情報工学科では、Operating System という授業がある。その授業では OS についてのみではなく IT 技術に関する様々な課題を生徒に出し、提出させる。授業 Operating System での課題の中に仮想化に関する課題があり、その課題ではローカルまたはブレードサーバ上に置いた VM でのプログラムの実装と計測を行う。 \\
+情報工学科ではブレードサーバを保持しており、当研究室ではそのブレードサーバのうち4台を使用できる。授業 Operating System で出される課題に対応するため生徒がブレードサーバへ VM をアップロードし、VM を動作させ、自由に操作できる必要がある。\\
+授業 Operating System に対応するため、本研究では ie-virsh の実装を行った。ie-virsh は本研究室の保持するブレードサーバ上の VM を起動・停止することができ、更にマルチユーザで使用することができる。授業で使用する複数名の生徒一人一人が、複数の VM をブレードサーバで作成し、起動・停止することが可能となった。
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/kvm.tex	Fri Apr 18 00:52:17 2014 +0900
@@ -0,0 +1,14 @@
+\section{Kernel-based Virtual Machine (KVM)} \label{kvm}
+Linux 自体を VM の実行基盤として機能させるソフトウエアである。完全仮想化により、OS の仮想化環境を提供する。
+
+図\ref{fig:kvmarch}は、KVM のアーキテクチャである。KVM は Linux 用のカーネルモジュールとして実装されており、OS が持つメモリ管理プロセスやスケジューリング機能を利用している。そのため他の仮想マシンソフトウエアに比べ、KVM 自体のコードは簡潔なものになっている。
+
+Intel VT や AMD-V などの仮想化支援機能を持つプロセッサやBIOS を持っているパソコン上で動かすことができる。
+
+\begin{figure}[htb]
+    \begin{center}
+        \includegraphics[scale=0.6]{./images/kvmarch.pdf}
+    \end{center}
+    \caption{KVM architecture}
+    \label{fig:kvmarch}
+\end{figure}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/sigos.tex	Fri Apr 18 00:52:17 2014 +0900
@@ -0,0 +1,84 @@
+\documentclass[techrep]{ipsjpapers}
+\usepackage[dvipdfmx]{graphicx}
+\usepackage{url}
+
+\input{dummy.tex} %% Font 
+
+% ユーザが定義したマクロなど.
+\makeatletter
+
+\begin{document}
+
+% 和文表題
+\title{OS 授業向けマルチユーザ VM 環境の構築}
+% 英文表題
+\etitle{Suggest multi user VM environment for OS class}
+
+% 所属ラベルの定義
+\affilabel{1}{琉球大学理工学研究科情報工学専攻 \\Interdisciplinary Infomation Engineering, Graduate School of Engineering and Science, University of the Ryukyus.}
+\affilabel{2}{琉球大学工学部情報工学科\\Infomation Engineering, University of the Ryukyus.}
+
+% 和文著者名
+\author{
+  平良 太貴\affiref{1}\and
+  河野 真治\affiref{2}
+}
+
+% 英文著者名
+\eauthor{
+  Taiki TAIRA\affiref{1}\and
+  Shinji KONO\affiref{2}
+}
+
+% 連絡先(投稿時に必要.製版用では無視される.)
+\contact{平良 太貴\\
+        〒903-0213 沖縄県西原町千原1番地\\
+	琉球大学工学部情報工学科\\
+        TEL: (098)895-2221\qquad FAX: (098)895-8727\\
+        email: taiki@cr.ie.u-ryukyu.ac.jp} 
+
+% 和文概要
+\begin{abstract}
+ブレードサーバ上のVMを自由に起動・停止ができるVM管理ツール、ie-virshを開発した。本学科ではローカルな環境で動作したVMイメージを、豊富なリソースを持つブレードサーバ上で動作させることが可能である。ie-virshはマルチユーザに対応し、複数台のVMを管理できる。
+更にie-virshを使用すれば、学生が作成したVMのセキュリティやネットワークの設定が保証され、ブレードサーバへのアップロードや起動・停止を自由に行うことができる。それにより学生がVMを管理できる幅が広がり、学習効率が向上する。
+\end{abstract}
+% 英文概要
+\begin{eabstract}
+Cerium Task Manager is a parallel programming framework.
+To achieve good performance in GPGPU using Open CL, various tuning is needed.
+In particular, it is necessary to implement the dependency of task in Cerium by the function of Open CL.
+But, to match specialization for OpenCL spoiles of flexibility of framework. 
+Balance of flexibility and the performance is considered.
+We evaluate example  Sort, Word count, and FFT.
+
+\end{eabstract}
+
+% 表題などの出力
+\maketitle
+
+% 本文はここから始まる
+
+\input{introduction}  % 研究目的
+\input{ievirsh}       % ie-virsh
+\input{libvirt}       % libvirt
+\input{kvm}           % KVM 
+\input{vagrant}       % vagrant
+\input{evaluation}    % 評価
+\input{conclusion}    % まとめ
+%\input{manycore}     % many core system
+%\input{osmesa}       % OSMesa
+%\input{compare}      % 評価と考察
+
+
+\nocite{toma:2012a}
+\nocite{opencl}
+\nocite{opencl:ref}
+\nocite{opencl:applied}
+\nocite{yutaka:os}
+\bibliographystyle{ipsjunsrt}
+\bibliography{sigos}
+%\bibliography{cerium,book}
+%\input{bibliography}   % 参考文献
+
+
+\end{document}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/vagrant.tex	Fri Apr 18 00:52:17 2014 +0900
@@ -0,0 +1,30 @@
+\section{Vagrant}
+Vagrant は異なる環境に移行可能な開発環境を簡単に構築・管理・配布することが出来る開発環境作成ツールである。手軽にテスト環境を導入することができ、変更が加わっても開発環境・本番環境に自動的に適用される。また、環境を気軽に捨てることも可能である。ホスト環境として、VirtualBox や VMWare などで動かすことができる。表\ref{table:vagrantfunc}は Vagrant で使用することの主な機能である。
+
+\begin{tiny}
+    \begin{table}
+        \begin{center}
+            \caption{vagrant の主なコマンド}
+            \label{table:vagrantfunc}
+            \small
+            \begin{tabular}[t]{c|l}
+                \hline
+                up & Vagrant Box を起動 \\
+                \hline
+                destroy & 仮想マシンの削除 \\
+                \hline
+                halt & 起動している Vagrant Box の停止 \\
+                \hline
+                ssh & 起動している Vagrant Box へ ssh 接続 \\
+                \hline
+                status & ステータスの確認 \\
+                \hline
+                box add & 新しい Vagrant Box の追加 \\
+                \hline
+            \end{tabular}
+        \end{center}
+    \end{table}
+\end{tiny}
+
+\subsection{Vagrant Box}
+Vagrant で仮想マシンを利用する際に、仮想マシンのベースとなるイメージファイルである。Vagrant で Vagrant Box に開発環境を構築し、配布することができる。また配布されている Vagrant Box を取得し、Vagrant で起動し使用することが可能である。