Cerium Task Manager
による正規表現の実装

Masataka Kohagura
12th November , 2013

研究目的

マルチコア CPU を最大限に活かすためには、並列プログラミングによる並列度を向上させなければならないが、実装が難しい。 当研究室では Cerium Libraryを提供することによって並列プログラミングを容易にしているが、ファイル読み込み等のI/O部分に関してはまだ実装されていない。

本研究ではその例題として正規表現を実装して、I/Oの並列化の設計・実装によって既存の正規表現の処理速度、処理効率を上げる。

今週のしたこと

・I/0並列化のシーケンス図まとめ

文字列指定をできるようにプログラム中

I/O並列化のシーケンス図(mmap)

  • codeがシンプル(readを書いて読み込まなくていいため)
  • memoryより大きなファイルは開けない
  • readの先読みがOS依存
  • I/O並列化のシーケンス図(single read)

  • 明示的なread
  • 先読みを自分で書ける(制御できる)
  • codeが煩雑
  • memoryより大きなファイルを扱える(TB単位)
  • mmapと比較して速くなるかどうかは不明
  • I/O並列化のシーケンス図(multi read)

  • busが充分に速ければ、速くなる余地がある。
  • HDDはコントローラーが基本的に1つのため、readを2つ用意しても並列にreadしてくれない
  • SSDだと読み込みがHDDと比較して爆速なため、もしかしたらSSD1つでも並列にreadできるのでは??
  • test