Mercurial > hg > Members > masakoha > masa
changeset 20:80ef6346d68f
add 29 memo
author | Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 29 Jan 2014 18:14:11 +0900 |
parents | 38dd7453b798 |
children | 327d769499a1 |
files | 2014/January/OUTLINE 2014/January/memo/23rd.txt 2014/January/memo/29th.txt 2014/January/slide/21st.html 2014/January/slide/21th.html |
diffstat | 5 files changed, 260 insertions(+), 177 deletions(-) [+] |
line wrap: on
line diff
--- a/2014/January/OUTLINE Thu Jan 23 02:05:49 2014 +0900 +++ b/2014/January/OUTLINE Wed Jan 29 18:14:11 2014 +0900 @@ -1,3 +1,11 @@ +2014/01/29 (Wed) + [memo] + ブレードサーバの在処 + +2014/01/23 (Thu) + [memo] + 1/22 の実験結果のまとめ + 2014/01/22 (Wed) [memo] 今後の実験方針
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/2014/January/memo/23rd.txt Wed Jan 29 18:14:11 2014 +0900 @@ -0,0 +1,68 @@ +2014/01/23 (THU) + + [実験内容] + fileread と regex_mas (BM_search) の2つで計測 + 一度実行すると kernel の cache の中に入り込んでしまうため、測るたんびに再起動という原始的なことを( + + (条件分岐: main.cc) + if (divide_read_flag != 0) { + printf("[divide read mode]\n"); + w->file_mmap = (char*)manager->allocate(w->read_filesize); + r_run = manager->create_task(RUN_READ_BLOCKS, (memaddr)&w->self, sizeof(memaddr),0,0); + }else { + printf("[mmap mode]\n"); + r_run = manager->create_task(MMAP , (memaddr)&w->self, sizeof(memaddr),0,0); + } + + (読み込み部分の実装: main.cc) + + + [問題点] + w->file_mmap = (char*)manager->allocate(w->read_filesize); + と allocate しようとしているので、メモリ量より大きいデータに対してプログラムを実行することができない。(要改善) + + [実験環境] + local の Mac Book Air にて計測 + Core i5, SSD 240GB, memory 4GB + 読み込んだ file size : 11524674 Byte (11.5MB) + + [結果] + [fileread] (D_Read : divide read) + CPU_TYPE SPE_ANY + mode , cpu_num, first, cache + MMAP , 1, 0.085, 0.104 + D_Read , 1, 50.116, 17.038 + D_Read , 2, 82.468, 10.731 + D_Read , 3, 63.819, 10.039 + D_Read , 4, 56.960, 10.176 + + CPU_TYPE IO_0 + mode , cpu_num, first, cache + MMAP , 1, 0.102, 0.099 + D_Read , 1, 49.611, 12.747 + D_Read , 2, 49.524, 13.409 + D_Read , 3, 49,823, 12.864 + D_Read , 4, 49.581, 13.505 + + [regex_mas(BM_search)] + CPU_TYPE SPE_ANY + mode , cpu_num, first, cache + MMAP , 1, 102.260, 38.466 + MMAP , 2, 75.201, 23.714 + MMAP , 3, 60.065, 18.756 + MMAP , 4, 58.234, 18.715 + D_Read , 1, 82.814, 45.250 + D_Read , 2, 127.040, 30.094 + D_Read , 3, 77.703, 26.045 + D_Read , 4, 72.097, 26.188 + + CPU_TYPE IO_0 + mode , cpu_num, first, cache + MMAP , 1, 102.824, 38.275 + MMAP , 2, 72.691, 23.418 + MMAP , 3, 60.065, 18.786 + MMAP , 4, 58.234, 18.715 + D_Read , 1, 84.679, 46.063 + D_Read , 2, 71.691, 23.418 + D_Read , 3, 68.778, 30.471 + D_Read , 4, 66.016, 30.357
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/2014/January/memo/29th.txt Wed Jan 29 18:14:11 2014 +0900 @@ -0,0 +1,7 @@ +2014/01/29 (Wed) + + ギックリ腰 4日目痛い・・・ + [実験環境] + blade sarver10 + one@bldsv10.cr.ie.u-ryukyu.ac.jp + memory 132GB !?
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/2014/January/slide/21st.html Wed Jan 29 18:14:11 2014 +0900 @@ -0,0 +1,177 @@ +<!DOCTYPE html> + +<!-- + Google HTML5 slide template + + Authors: Luke Mahé (code) + Marcin Wichary (code and design) + + Dominic Mazzoni (browser compatibility) + Charles Chen (ChromeVox support) + + URL: http://code.google.com/p/html5slides/ +--> + +<html> + <head> + <title>slide</title> + + <meta charset='utf-8'> + <script + src='http://html5slides.googlecode.com/svn/trunk/slides.js'></script> + </head> + + <style> + /* Your individual styles here, or just use inline styles if that’s + what you want. */ + .slides article { background-image: none !important; background-color: white; } + + </style> + + <body style='display: none'> + + <section class='slides layout-regular template-default'> + + <!-- Your slides (<article>s) go here. Delete or comment out the + slides below.--> + + <article> + <h1> + Cerium の並列処理向け I/O の設計と実装 + </h1> + <p> + Masataka Kohagura + <br> + 21st January , 2014 + </p> + </article> + + <article> + <h3> + 研究目的 + </h3> + <p> + 当研究室では、CellやマルチコアCPUで並列プログラミングを可能にするCerium Task Managerを開発している。 + </p> + <p> + マルチコア CPU を最大限に活かすためには、プログラムの並列度を向上させなければならない。 + 当研究室では Cerium Libraryを提供することによって並列プログラミングを容易にしているが、ファイル読み込み等のI/O部分に関してはまだAPIが実装されていない。 + </p> + <p> + 本研究では、I/O読み込みとTaskの並列化の設計・実装によって既存の正規表現の処理速度、処理効率を上げる。 + </p> + + + </article> + + <article> + <h3> + したこと + </h3> + <ul> + + <li> + regex_mas に divide read の実装(未測定) - ちゃんと中身まで書こう + </li> + <ul> + </article> + + <article class='smaller'> + <h3> + 卒論 目次 + </h3> + + <p> +第1章 序論<br> + 1.1 研究背景と目的<br> +<br> +第2章 Cerium<br> + 2.1 Cerium の概要<br> + 2.2 Cerium Task Manager<br> +<br> + +IOの話をここに +第3章 Cerium Task Manager を使った例題<br> + 3.1 Word Count<br> + 3.2 File Read<br> +<br> +mmapの解説をここでいれよう +map_reduce +第4章 並列(分割?) I/O の設計と実装<br> + 4.1 本研究以前の I/O の実装方法 (mmap)<br> + 4.2 I/O の設計<br> + ??4.2.1 single core sequential read<br> + ??4.2.2 multi core seguential read<br> + 4.3 single core sequential read の実装<br> + 4.4 Cerium の改良(CPU部分にIO_0などを追加したけど、どこにいれよう)<br> + 4.5 I/O のベンチマーク<br> =>別セクションへ +<br> +第5章 結論<br> + 5.1 まとめ<br> + 5.2 今後の課題<br> + </p> + + </article> + + <article> + <h3> + 今後のスケジュール + </h3> + + <ul> + <li> + 後期院試試験・2/12 + </li> + + <li> + 卒検発表・2/27,28 + </li> + </ul> + </article> + + <!-- + <article class='smaller'> + <h3>I/O並列化のシーケンス図(mmap)</h3> + <div align="center"> + <IMG SRC="mmap.png"> + </div> + <li> +codeがシンプル(readを書いて読み込まなくていいため) + </li> + <li> + memoryより大きなファイルは開けない + </li> + <li> + readの先読みがOS依存 + </li> + + </article> + --> + + <article> + + <h3> + make が通らない ( TaskManager を parallel で make したとき) + </h3> + <section><pre> +% 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 +</pre></section> + + </article> + +</body> +</html>
--- a/2014/January/slide/21th.html Thu Jan 23 02:05:49 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,177 +0,0 @@ -<!DOCTYPE html> - -<!-- - Google HTML5 slide template - - Authors: Luke Mahé (code) - Marcin Wichary (code and design) - - Dominic Mazzoni (browser compatibility) - Charles Chen (ChromeVox support) - - URL: http://code.google.com/p/html5slides/ ---> - -<html> - <head> - <title>slide</title> - - <meta charset='utf-8'> - <script - src='http://html5slides.googlecode.com/svn/trunk/slides.js'></script> - </head> - - <style> - /* Your individual styles here, or just use inline styles if that’s - what you want. */ - .slides article { background-image: none !important; background-color: white; } - - </style> - - <body style='display: none'> - - <section class='slides layout-regular template-default'> - - <!-- Your slides (<article>s) go here. Delete or comment out the - slides below.--> - - <article> - <h1> - Cerium の並列処理向け I/O の設計と実装 - </h1> - <p> - Masataka Kohagura - <br> - 21th January , 2014 - </p> - </article> - - <article> - <h3> - 研究目的 - </h3> - <p> - 当研究室では、CellやマルチコアCPUで並列プログラミングを可能にするCerium Task Managerを開発している。 - </p> - <p> - マルチコア CPU を最大限に活かすためには、プログラムの並列度を向上させなければならない。 - 当研究室では Cerium Libraryを提供することによって並列プログラミングを容易にしているが、ファイル読み込み等のI/O部分に関してはまだAPIが実装されていない。 - </p> - <p> - 本研究では、I/O読み込みとTaskの並列化の設計・実装によって既存の正規表現の処理速度、処理効率を上げる。 - </p> - - - </article> - - <article> - <h3> - したこと - </h3> - <ul> - - <li> - regex_mas に divide read の実装(未測定) - ちゃんと中身まで書こう - </li> - <ul> - </article> - - <article class='smaller'> - <h3> - 卒論 目次 - </h3> - - <p> -第1章 序論<br> - 1.1 研究背景と目的<br> -<br> -第2章 Cerium<br> - 2.1 Cerium の概要<br> - 2.2 Cerium Task Manager<br> -<br> - -IOの話をここに -第3章 Cerium Task Manager を使った例題<br> - 3.1 Word Count<br> - 3.2 File Read<br> -<br> -mmapの解説をここでいれよう -map_reduce -第4章 並列(分割?) I/O の設計と実装<br> - 4.1 本研究以前の I/O の実装方法 (mmap)<br> - 4.2 I/O の設計<br> - ??4.2.1 single core sequential read<br> - ??4.2.2 multi core seguential read<br> - 4.3 single core sequential read の実装<br> - 4.4 Cerium の改良(CPU部分にIO_0などを追加したけど、どこにいれよう)<br> - 4.5 I/O のベンチマーク<br> =>別セクションへ -<br> -第5章 結論<br> - 5.1 まとめ<br> - 5.2 今後の課題<br> - </p> - - </article> - - <article> - <h3> - 今後のスケジュール - </h3> - - <ul> - <li> - 後期院試試験・2/12 - </li> - - <li> - 卒検発表・2/27,28 - </li> - </ul> - </article> - - <!-- - <article class='smaller'> - <h3>I/O並列化のシーケンス図(mmap)</h3> - <div align="center"> - <IMG SRC="mmap.png"> - </div> - <li> -codeがシンプル(readを書いて読み込まなくていいため) - </li> - <li> - memoryより大きなファイルは開けない - </li> - <li> - readの先読みがOS依存 - </li> - - </article> - --> - - <article> - - <h3> - make が通らない ( TaskManager を parallel で make したとき) - </h3> - <section><pre> -% 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 -</pre></section> - - </article> - -</body> -</html>