### changeset 3:d54646faa2a9defaulttip

fix
author MasaKoha Tue, 16 Jun 2015 11:55:03 +0900 c0933fa26c81 preliminary/final-thesis.tex 1 files changed, 34 insertions(+), 35 deletions(-) [+]
line wrap: on
line diff
--- a/preliminary/final-thesis.tex	Mon Jun 15 05:14:53 2015 +0900
+++ b/preliminary/final-thesis.tex	Tue Jun 16 11:55:03 2015 +0900
@@ -51,24 +51,26 @@
\label{fig:includeio}
\end{figure}

-\section{並列処理向け I/O の設計と実装}
+\section{Design and implementation of parallel processing for I/O}

-\subsection{mmap での実装の問題点}
-先行研究では mmap によるファイルの読み込みを行っていた。
-mmap でファイルを読み込むタイミングは、mmap 関数が呼ばれたときではなく、mmap した領域に対して何らかのアクセスをしたときに初めてファイルが読み込まれる。
+\subsection{problems implementation of mmap}
+In previous research we has done the reading of files in mmap.
+Timing for reading files in mmap , not when the mmap function was called , for the first time the file is read when you access something with it mmap regions.
+So divided Task is not to perform a string search immediately, the first time the file is stored in memory when it tries to string search .
+Task is desirably performed simultaneously .
+Since the reading is in mmap in each Task would happening , waiting Task by the I/O bottleneck occurs.

+\subsection{Design and implementation of Asynchronous read}
+Asynchronous read separate to a process to read certain size and to perform a string search .
+In this way , I do a read-only Asynchronous read, it was generated separately the Task Blocks to perform a string search processing .

+Read Task is not to read the entire file at once , performs a split certain size , each character string search is performed as soon as they are read.
+Task When starting one by one, because it would compress memory in Task you start to perform the boot block summarizes multiple Task.
+
+A text file to be processed in this one block , and we read in the Asynchronous Read, to start the Task Blocks in the range that has been read when you are finished loading .
+If the Task, which is responsible for the range before it is read by the Asynchronous Read ends up starting, not return the correct results.
+To prevent it, Task Blocks are always Blocked Read and wears wait to start from taking place.

\begin{figure}[htbp]
\begin{center}
@@ -78,15 +80,15 @@
\end{figure}

-SPE\_ANY という Type を設定すると、Cerium Task Manager 側が自動的に CPU を割り振る。
-その問題を解決するために、IO\_0 という I/O 専用の thread を実装した。
-(図\ref{fig:io0})
+It is possible to change the settings for the CPU Type in Cerium Task Manager In Task Unit.
+If you set the Type of SPE\_ANY, Cerium Task Manager side automatically allocates CPU.
+However, if you would use this Type in this implementation, there is a problem that the Task to interrupt the Blocked Read Task would have been allocated.
+In order to solve the problem, an implementation of the thread of the dedicated I/O of IO\_0.
+This Thread was tuned to run at the highest priority to the I/O.
+(fig\ref{fig:io0})
%%
-%(図\ref{fig:speany})
+%(fig\ref{fig:speany})
%
%\begin{figure}[htbp]
%\begin{center}
@@ -113,13 +115,11 @@
\item Mac OS X Mavericks (10.9.1)
\item HDD 1TB、Memory 16GB、CPU 2*2.66 GHz 6-Core Intel Xeon
\item CPU NUM 12
- \item 10GB のファイルに対して Booye-Moore String Search をかけ、検索文字列がいくつ含まれているのかカウント
- \item 測定はファイルの読み込みから結果が返ってくるまでの時間
+ \item Is multiplied by the Booye-Moore String Search for the 10GB file , count what is included a number of search string
+ \item Time until the measurements returned results from reading the file
\end{itemize}

%以下の表\ref{table:result}に実行結果を示す。
-以下の表１に実行結果を示す。
-
\begin{tiny}
\begin{table}[ht]
\begin{center}
@@ -144,16 +144,15 @@
\end{tiny}

%\ref{table:result}より、mmap より Blocked Read \& IO\_0 の実行速度が 36 \% 改善された。
-表１より、mmap より Blocked Read \& SPE\_ANY の実行速度が  31\% 改善された。
-また、Blocked Read の CPU Type も SPE\_ANY から IO\_0 に変更することによって更に 4 \% の改善が見られた。
-これより、I/O を含む並列処理を行う場合は、mmap で実装することによって自動的に読み込ませるのではなく、自分自身で読み込みを制御したほうが速くなることがわかる。
+From Table 1, the execution speed of Asynchronous Read \&SPE\_ANY has been improved 31\% from mmap.
+In addition, CPU Type of Asynchronous Read was also seen further 4\% improvement by changing from SPE\_ANY to IO\_0.
+From this , when performing parallel processing including I/O, instead of automatically to read by implementing in mmap, it is understood that better to control the reading in itself increases.

\section{conclusion}
\begin{thebibliography}{9}