Mercurial > hg > Papers > 2014 > masakoha-sigos
view paper/benchmark.tex @ 6:515f8d6a972f
add benchmark
author | Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 19 Apr 2014 23:40:28 +0900 |
parents | b15b449619b1 |
children | 24384cb335cf |
line wrap: on
line source
\section{benchmark} \label{section:benchmark} 例題で紹介した Word Count に Blocked Read を組み込み、1 GB のファイルを読み込み計測を行った。 実験環境 \begin{itemize} \item Mac OS X 10.9.1 \item 2*2.66 GHz 6-Core Intel Xeon \item Memory 16GB 1333MHz DDR3 \item HHD 1TB \item CPU num 12 \end{itemize} \subsection{結果} 以下の表に読み込み時間を含めた場合の実行結果を示す。 \begin{tiny} \begin{table}[ht] \begin{center} \label{table:result} \small \begin{tabular}[t]{c|r} \hline 読み込み方法 & 実行速度(s)\\ \hline mmap & 15.875 \\ \hline mmap (CPU num = 1)& 15.294 \\ \hline 一括 Read & 12.520 \\ \hline 一括 Read (CPU num = 1)& 18.758 \\ \hline Blocked Read \& SPE\_ANY & 14.028 \\ \hline Blocked Read \& IO\_0 & 10.295 \\ \hline \end{tabular} \caption{読み込みを含めた実行結果} \end{center} \end{table} \end{tiny} また、キャッシュに入った場合での実行結果を以下に示す。 \begin{tiny} \begin{table}[ht] \begin{center} \label{table:result} \small \begin{tabular}[t]{c|r} \hline 読み込み方法 & 実行速度(s)\\ \hline mmap & 0.878 \\ \hline 一括 Read & 1.469 \\ \hline Blocked Read \& IO\_0 & 0.866 \\ \hline \end{tabular} \caption{キャッシュに入った時の実行結果} \end{center} \end{table} \end{tiny} 読み込みを含めた場合の実験結果より、Blocked Read \& IO\_0 の実行速度が mmap と比較して 1.55 倍向上した。 また、Blocked Read の CPU Type も SPE\_ANY から IO\_0 に変更することによって 1.36 倍向上した。 キャッシュに入った時は、mmap のほうが一括 Read と比較して 1.67 倍速くなる。そして、mmap と Blocked Read と mmap は、ほとんど同じ実行速度となった。 \subsection{考察} % mmap より Blocked Read で実装したほうが速くなったが、これは mmap の読み込み方法が問題であると考える。 % % I/O を含む例題の場合、シングルコアでの逐次実行であれば、mmap や pread で実装しても、Task は 読み込みを行って文字列検索を行うというシンプルな動作になる。 % しかし、マルチコアの並列実行であれば、mmap で実装してしまうと、Task それぞれで読み込みを行ってしまうので競合が発生してしまう。 % % 読み込みの競合が起こらないように Blocked Read にて読み込み部分と文字列検索部分を分けた結果、こちらのほうが速度が向上した。