# HG changeset patch # User Masataka Kohagura # Date 1383742810 -32400 # Node ID e3a7cbc840afde6c95ea035477e61f9444ef5929 # Parent 999e1a6ef7c1de516df1fe1f7561b7c2a22b2903 finish diff -r 999e1a6ef7c1 -r e3a7cbc840af mid-thesis.tex --- a/mid-thesis.tex Wed Nov 06 21:51:54 2013 +0900 +++ b/mid-thesis.tex Wed Nov 06 22:00:10 2013 +0900 @@ -26,14 +26,14 @@ \section{はじめに} \subsection{研究背景} -近年、CPU1コア当たりのクロック数が頭打ちとなっているので、シングルコアでの処理能力はほとんど上がっていない。 -それを解決した結果、シングルコアからマルチコアへの移行によってCPU性能が向上している。 -しかし、マルチコアCPUを最大限に活かすためには、並列プログラミングによる並列度を向上させなければならない。 +近年、CPU 1コア当たりのクロック数が頭打ちとなっているので、シングルコアでの処理能力はほとんど上がっていない。 +それを解決した結果、シングルコアからマルチコアへの移行によって CPU 性能が向上している。 +しかし、マルチコア CPU を最大限に活かすためには、並列プログラミングによる並列度を向上させなければならない。 -現在のプログラミング手法だと並列プログラミングが難しいので、当研究室ではCerium Libraryを提供することによって並列プログラミングを容易にしている。 +現在のプログラミング手法だと並列プログラミングが難しいので、当研究室では Cerium Library を提供することによって並列プログラミングを容易にしている。 \subsection{研究目的} -先行研究によるTaskの並列化によって、プログラム全体の処理速度は飛躍的に向上しているが\cite{kinjyo} 、 +先行研究による Task の並列化によって、プログラム全体の処理速度は飛躍的に向上しているが\cite{kinjyo} 、 ファイル読み込み等のI/Oに対して並列で動作するようなAPIは実装されていない。 しかし、ファイル読み込みとTaskを並列化させることにより、さらなる処理速度の向上が見込まれる。 I/O部分が並列に動作し、高速かつ容易に記述できるようなAPIをCerium Libraryが提供することにより、様々な人が容易に並列プログラミングが記述できるようになるであろうと考えている。 @@ -51,7 +51,7 @@ 固定長の場合は Boyer-Moore String Search Algorithm \cite{BM}、正規表現の場合は先行研究の正規表現マッチング\cite{shinya} を実装する。 \subsection{Boyer-Moore\\String Search Algorithm} -文字列検索アルゴリズムの一種であり、J.S.MooreとR.S. Boyerが1977年に開発し、 +文字列検索アルゴリズムの一種であり、 Input Dataと検索文字列(pattern)の末尾から比較し、末尾が一致していれば一つ前を比較し、さらに一致すれば比較を繰り返すアルゴリズムである。 もし不一致が起こった場合は、patternの移動が発生するが、不一致が起こった場所のInput Dataを参照し、その文字によってpatternの移動量が決定される。 (図\ref{fig:bms}) @@ -107,7 +107,7 @@ \newpage \section{まとめと今後の課題} -これまでBoyer-Moore String Search Algorithmの実装と、Input Data分割時の処理は実装済みである。 +これまでにBoyer-Moore String Search Algorithmと、Input Data分割時の処理の実装を行った。 検索文字列の数が未分割、分割時に正しい結果が返ってきていることを確認した。 しかし検索文字列については、現在ハードコーディングのため実行時に指定することができないので、それを改良する必要がある。