Cerium の並列処理向け I/O の設計と実装
Masataka Kohagura
21th January , 2014
Masataka Kohagura
21th January , 2014
当研究室では、CellやマルチコアCPUで並列プログラミングを可能にするCerium Task Managerを開発している。
マルチコア CPU を最大限に活かすためには、プログラムの並列度を向上させなければならない。 当研究室では Cerium Libraryを提供することによって並列プログラミングを容易にしているが、ファイル読み込み等のI/O部分に関してはまだAPIが実装されていない。
本研究では、I/O読み込みとTaskの並列化の設計・実装によって既存の正規表現の処理速度、処理効率を上げる。
第1章 序論
1.1 研究背景と目的
第2章 Cerium
2.1 Cerium の概要
2.2 Cerium Task Manager
IOの話をここに
第3章 Cerium Task Manager を使った例題
3.1 Word Count
3.2 File Read
mmapの解説をここでいれよう
map_reduce
第4章 並列(分割?) I/O の設計と実装
4.1 本研究以前の I/O の実装方法 (mmap)
4.2 I/O の設計
??4.2.1 single core sequential read
??4.2.2 multi core seguential read
4.3 single core sequential read の実装
4.4 Cerium の改良(CPU部分にIO_0などを追加したけど、どこにいれよう)
4.5 I/O のベンチマーク
=>別セクションへ
第5章 結論
5.1 まとめ
5.2 今後の課題
% make clean;make rm -f word_count main.o task_init.o ppe/Exec.o ppe/Exec_Data_Parallel.o ppe/Print.o rm -f *~ \#* ・・・ Make for Mac OS X clang++ -m64 -o word_count main.o task_init.o ppe/Exec.o ppe/Exec_Data_Parallel.o ppe/Print.o -L../../../Cerium/TaskManager -lFifoManager `sdl-config --libs` Undefined symbols for architecture x86_64: "create_impl(int, int, int)", referenced from: TaskManager::init(int, int, int) in libFifoManager.a(TaskManager.o) ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[1]: *** [word_count] Error 1 make: *** [macosx] Error 2