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>