Ceriumによる
正規表現マッチャの実装

Masataka Kohagura
20th July , 2013

研究目的

本研究室では、Cell用に作られたCeriumにて並列プログラミングを行なっている。様々な例題を実装することにより、どのような問題でも並列処理ができることを証明する。

現在は文字列サーチを実装している段階で、ボイヤームーア法を実装している。 セミグループという、分割したファイルに対して並列処理をさせるような手法によって、既存の文字列サーチと処理速度を比較し、どれだけ速く、どれだけ効率よくなるのかを測定する。

並列処理は逐次処理よりも処理時間を短縮できる可能性があるが、I/O命令がボトルネックになる。 このボトルネックを軽減させるにはどのような処理をさせればよいのか考察し、処理全体の効率化改善を図る。

今週のしたこと

・スクリプトを組み、文字列サーチの速度を測定した。

・I/O時間を含む測定をどのようにすればいいのか考え中。

・BM法の部分をC++のvectorに書き換え

時間測定

mac pro上での測定

CeriumのAPIでの時間計測。wikipediaのファイルに対して1000回実行した

cpu_nummaxminave
159.41036.26038.830
229.42517.77919.085
420.4419.52010.126
616.8486.6786.987
814.8225.1365.442
1017.6674.6335.011
1115.5933.9795.227
1214.7524.1775.462