Mercurial > hg > Papers > 2016 > masa-master
changeset 18:14545e517fb0
add result
author | Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 02 Feb 2016 18:00:54 +0900 |
parents | ea3e6f3219a5 |
children | cf946733deac |
files | c3.tex c4.tex c5.tex master_paper.pdf memo/result.txt |
diffstat | 5 files changed, 47 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/c3.tex Mon Jan 25 16:57:46 2016 +0900 +++ b/c3.tex Tue Feb 02 18:00:54 2016 +0900 @@ -1,4 +1,6 @@ \chapter{並列処理向け I/O} +\section{mmap} +\section{Blocked Read} ファイル読み込みなどの I/O を含むプログラムは、読み込み時間が Task の処理時間と比較してオーバーヘッドになることが多い。 計算処理の並列化を図ったとしても I/O がボトルネックになってしまい処理全体が高速にならない。 本項では Cerium に実装した並列処理用 I/O を行ない、I/O 部分の高速化を図った。
--- a/c4.tex Mon Jan 25 16:57:46 2016 +0900 +++ b/c4.tex Tue Feb 02 18:00:54 2016 +0900 @@ -1,22 +1,31 @@ \chapter{Cerium による文字列処理の例題} +本項ではファイルを読み込んで処理する流れとそれの例題を記述する。例題として、単語数を数える Word Count、文字列探索を行う Boyer Moore Search、正規表現を挙げる。 + \section{File 読み込みを含んだ並列処理} +文字列処理を並列で処理する場合を考える。 +まずファイルを読み込み、ファイルをある一定の大きさで分割する(divide a file)。 +そして、分割されたファイル(Input Data)に対して文字列処理(Task)をおこない、それぞれの分割単位で結果を出力する(Output Data)。 +それらの Output Data の結果が出力されたあとに、結果をまとめる処理を行う(Print Task)。 + + +(図\ref{fig:dividefile}) \begin{figure}[htpb] \begin{center} \includegraphics[scale=0.2]{images/example/dividefile.pdf} \end{center} \caption{File 読み込みから処理までの流れ} - \label{fig:CharClassMergePattern} + \label{fig:dividefile} \end{figure} - \section{Word Count} +Word Count は読み込んだファイルに対して単語数を数える処理である。 +Input Data には分割されたファイルが対応しており、Output Data には単語数と行数を \section{Boyer Moore Search} \section{正規表現} \subsection{正規表現木の生成} \subsection{正規表現木から NFA の生成} \subsection{Subset Construction による NFA から DFA の変換} -\subsection{NFA から DFA の生成} \begin{figure}[htpb] \begin{center}
--- a/c5.tex Mon Jan 25 16:57:46 2016 +0900 +++ b/c5.tex Tue Feb 02 18:00:54 2016 +0900 @@ -1,4 +1,4 @@ -\chapter{ベンチマーク} +\chapter{評価・考察} \section{I/O の測定} \section{Word Count} \section{Boyer Moore Search}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/memo/result.txt Tue Feb 02 18:00:54 2016 +0900 @@ -0,0 +1,32 @@ +|CPU | time | + +1 85.171171 +2 55.709298 +3 48.688031 +4 42.053209 +5 40.690125 +6 37.075352 +7 34.771558 +8 36.138412 +9 33.190304 +10 35.892051 +11 33.734864 +12 31.231748 +13 32.997263 +14 31.953924 +15 31.359396 +16 31.367073 + +[mmap] +8 40.574622 +16 41.616542 + +[bread] +8 43.237358 +16 42.504598 + +egrep -o +[キャッシュ無し] +egrep -o '[A-Z][a-zA-Z0-9_]*' ../../../Game/Cerium/example/bm_search/1GB.txt 110.78s user 24.05s system 99% cpu 2:15.22 total + +[キャッシュ有り]