Mercurial > hg > Papers > 2014 > masakoha-sigos
diff paper/io.tex @ 3:05a0e70f5823
add some image files
author | Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 17 Apr 2014 01:37:37 +0900 |
parents | b15b449619b1 |
children | c030ccbf279a |
line wrap: on
line diff
--- a/paper/io.tex Tue Apr 15 18:01:08 2014 +0900 +++ b/paper/io.tex Thu Apr 17 01:37:37 2014 +0900 @@ -44,12 +44,13 @@ それらを解決するためには、ファイル読み込みと Task を分離し、ファイルの読み込みも制御しやすくでき、なおかつ高速で動くのではないかと考えた。 -% \begin{figure}[htbp] -% \begin{center} -% \includegraphics[width=0.7\textwidth]{fig/mmap.pdf} -% \end{center} -% \caption{mmap image} -% \label{fig:mmap} \end{figure} +\begin{figure}[htbp] +\begin{center} +\includegraphics[scale=0.5]{images/mmap.pdf} +\end{center} +\caption{mmap image} +\label{fig:mmap} +\end{figure} \subsection{Blocked Read の設計と実装} @@ -90,13 +91,13 @@ (図\ref{fig:block}) Read Task が生成されて、その後 Task の生成となるので、Read Task は常に走っている必要がある。 -%\begin{figure}[htbp] -%\begin{center} -%\includegraphics[width=0.8\textwidth]{fig/blockedreadimage.pdf} -%\end{center} -%\caption{Blocked Read image} -%\label{fig:block} -%\end{figure} +\begin{figure}[htbp] +\begin{center} +\includegraphics[scale=0.5]{images/blockedreadimage.pdf} +\end{center} +\caption{Blocked Read image} +\label{fig:block} +\end{figure} 図\ref{fig:block} では、Read Task 1つに対して Task 1つ起動しているが、このように1つ1つ生成、起動をすると Task 生成でメモリを圧迫してしまい、全体的な動作に影響を与えてしまう。 実際には Task をある一定数まとめた単位で生成し、起動を行っている。この単位を Task Block と定義する。 @@ -108,14 +109,14 @@ まだ読み込まれていない領域に対して何らかの処理を行ってしまうので、正しい結果が返ってこなくなってしまう。 それを防止するために、Blocked Read が読み込み終わってから Task Block が起動されるように wait をかけている。 -%(図\ref{fig:block}) -%\begin{figure}[htbp] -%\begin{center} -%\includegraphics[width=1.0\textwidth]{fig/blockreadtask.pdf} -%\end{center} -%\caption{Blocked Read image} -%\label{fig:block} -%\end{figure} +(図\ref{fig:block}) +\begin{figure}[htbp] +\begin{center} +\includegraphics[scale=0.5]{images/blockreadtask.pdf} +\end{center} +\caption{Blocked Read image} +\label{fig:block} +\end{figure} \subsection{I/O 専用 thread の実装} @@ -125,13 +126,13 @@ Blocked Read 、Task それぞれに SPE\_ANY にてデバイスの設定を行うと、Task Manager 側で自動的に CPU を割り当てられ、本来 Blocked Read は連続で読み込むはずが、他の Task を割り当てられてしまう。 (図\ref{fig:speany}) -%\begin{figure}[htbp] -%\begin{center} -%\includegraphics[width=1.0\textwidth]{fig/speany.pdf} -%\end{center} -%\caption{SPE\_ANY での実装時} -%\label{fig:speany} -%\end{figure} +\begin{figure}[htbp] +\begin{center} +\includegraphics[scale=0.5]{images/speany.pdf} +\end{center} +\caption{SPE\_ANY での実装時} +\label{fig:speany} +\end{figure} この問題を解決するために、Task Manager に新しく I/O 専用の thread 、 IO\_0 の追加を行った。 @@ -141,7 +142,7 @@ % %\begin{figure}[htbp] %\begin{center} -%\includegraphics[width=0.7\textwidth]{fig/addio_0.pdf} +%\includegraphics[scale=0.5]{images/addio_0.pdf} %\end{center} %\caption{IO\_0 の追加} %\label{fig:addio0} @@ -150,10 +151,10 @@ SPE\_ANY で使用する CPU の設定よりも高く設定しているので、IO\_0 で設定を行う Read Task に SPE\_ANY で設定した 文字列検索 Task に割り込まれることがなくなる。 (図\ref{fig:io0}) -%\begin{figure}[htbp] -%\begin{center} -%\includegraphics[width=1.0\textwidth]{fig/io0.pdf} -%\end{center} -%\caption{Blocked Read Task を IO\_0 での実装時} -%\label{fig:io0} -%\end{figure} +\begin{figure}[htbp] +\begin{center} +\includegraphics[scale=0.5]{images/io0.pdf} +\end{center} +\caption{Blocked Read Task を IO\_0 での実装時} +\label{fig:io0} +\end{figure}