view paper/c1.tex @ 68:4caaa1c0779c

fix
author Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
date Tue, 16 Feb 2016 18:16:21 +0900
parents 4efa1c7604f5
children 99ddf7f900dc
line wrap: on
line source

\chapter{文字列処理の並列処理}
世界中のサーバには様々な情報や Log が保管されており、それらのテキストファイル全体のデータサイズを合計すると TB 単位ととても大きなサイズになると予想される。
それらの中から特定の文字列や正規表現によるパターンマッチングを探すなどの文字列処理には膨大な時間がかかる。
検索時間を短縮するためには、ファイルの読み込み時間を軽減し、プログラムの並列度をあげる必要がある。

Cerium は並列プログラミングフレームワークであり当研究室で開発している。
文字列処理を Cerium に実装するにあたり、ファイルの読み込み方法について改良を行なった。
ファイルの読み込みを行なったあとに文字列処理が走っていたが、ファイルの読み込みと文字列処理が同時に走るように改良した。

文字列の並列処理の例題として、Word Count、正規表現の実装を行なった。
文字列処理を並列実行する際、ファイルを一定の大きさに分割して、それぞれに対して文字列処理を行う。
それぞれの分割されたファイルに対して処理を行なったあと結果が出力される。

それぞれの結果を合計する際に、分割された部分に対して各例題工夫をすることによって整合性を取る必要がある。

本論文では文字列処理だけでなくファイルの読み込みまでを含む文字列処理を考慮した並列処理を実装し、処理全体の速度を上げるような実装を行なった。