Mercurial > hg > Papers > 2014 > taiki-sigos
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 で起動し使用することが可能である。