# HG changeset patch # User Masataka Kohagura # Date 1394944564 -32400 # Node ID d8f499590d82f3882c82021325dcb6d50655e787 # Parent 43c6da29d688f9e6b31064c51e6767e898dca70a rename 201* to 1* diff -r 43c6da29d688 -r d8f499590d82 13/April-2013/16th.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/13/April-2013/16th.html Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,154 @@ + + + + + + + Presentation + + + + + + + + + +
+ + + +
+

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

+

+ Masataka Kohagura +
+ 16th April , 2013 +

+
+ +
+

+ 研究目的 +

+

+ 本研究室では、Cell用に作られたCeriumにて並列プログラミングを行なっている。 +近年、マルチコアCPUが主流となっているが、それをフルに使用させるためにはプログラムの並列度を上げる必要がある。(続く) +

+

+ 現在は正規表現を並列実装している段階である。 +

+
+ +
+

+ 今週までにしたこと +

+

+ a*bが含まれている行を出力するようにした。 +

+ +

+ (*は任意の文字のゼロ個以上の繰り返し) +

+
+ +
+

+ Exec.cc +

+
+
+
+    for (; i < length; i++) {
+        if (i_data[i] == 0x0A) {
+    
+            if (match_flag == true) {
+                line_print(line_num,line_length,line_data);
+            }   
+            match_flag = false;
+            line_length = 0;
+            line_num++;
+        } else {
+            line_data[line_length] = i_data[i];
+            line_length++;
+              if (i_data[i] == 0x61) {
+                  a_flag = true;
+              }else if ((i_data[i] == 0x62) && (a_flag == true)) {
+                  match_flag = true;
+              }else if (i_data[i] == 0x20) {
+                  a_flag = false;
+              }   
+        }   
+    } 
+
+
+
+

+ line_print(line_num,line_length,line_data); +

+
+
+void line_print(int _line_num,int _line_length,char *input_data){
+
+    printf("%d : ",_line_num);
+    for (int k = 0; k < _line_length; k++) {
+        printf("%c",input_data[k]);
+    }   
+    printf("\n");
+}
+
+
+
+ +
+

+ 実行結果(分割されないような小さなファイル) +

+
+
+[Masa]~%  ./regex -file b.txt                   [~/hg/Cerium/example/regex_mas]
+1 : ab aaa dddd ssss abab
+2 : ab bbbbbbbbbb aaaaaaa
+4 : ab aaaab 
+        
+

+ 実行結果(分割されるようなファイル) +

+
+[Masa]~%  ./regex -file c.txt                   [~/hg/Cerium/example/regex_mas]
+1 : Pakistan who've volunteered to join private militias, called lashkars. These groups have vowed to help Pakistan's military in fighting the Taliban.
+5 : Pakistani military officials credit the lashkars with helping chase the Taliban out of Swat Valley and neighboring districts once infested with the militants.
+6 : Pakistan who've volunteered to join private militias, called lashkars. These groups have vowed to help Pakistan's military in fighting the Taliban.
+[中略]
+196 : Pakistan who've volunteered to join private militias, called lashkars. These groups have vowed to help Pakistan's military in fighting the Taliban.
+200 : Pakistani military officials credit the lashkars with helping chase the Taliban out of Swat Valley and neighboring districts once infested with the militants.
+1 : red to join private militias, called lashkars. These groups have vowed to help Pakistan's military in fighting the Taliban.
+5 : Pakistani military officials credit the lashkars with helping chase the Taliban out of Swat Valley and neighboring districts once infested with the militants.
+        
+
+
+ + + diff -r 43c6da29d688 -r d8f499590d82 13/April-2013/2nd.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/13/April-2013/2nd.html Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,133 @@ + + + + + + + Presentation + + + + + + + + + +
+ + + +
+

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

+

+ Masataka Kohagura +
+ 2nd April , 2013 +

+
+ +
+

+ 研究目的 +

+

+ 本研究室では、Cell用に作られたCeriumにて並列プログラミングを行なっている。 +近年、マルチコアCPUが主流となっているが、それをフルに使用させるためには並列プログラミングの並列度を上げる必要がある。(続く) +

+

+ 現在は正規表現を並列実装している段階である。 +

+
+ +
+

+ 今週までにしたこと +

+

+ a*bが含まれている単語数と行数をカウントするようにした。 +

+

+ Print.ccで、データの受け渡しの様子の確認。 +

+
+ +
+

+ Exec.cc +

+
+
+   for (; i < length; i++) {
+        if (i_data[i] == 0x61) {
+            word_head_a_flag = true;
+        } else if ((i_data[i] == 0x62) && (word_head_a_flag == true)){
+            word_flag = true;
+            line_flag = true;
+            word_head_a_flag = true;
+        } else if (i_data[i] == 0x20) { //空白 
+            word_num += word_flag;
+            word_flag = false;
+            word_head_a_flag = false;
+        } else if (i_data[i] == 0x0A) { // 改行
+            line_num += line_flag;
+            word_num += word_flag;
+            line_flag = false;
+            word_flag = false;
+            word_head_a_flag = false;
+        }   
+    }   
+
+
+
+ +
+

+ 実行結果(分割されないような小さなファイル) +

+
+
+[Masa]~%  ./regex -file b.txt                   [~/hg/Cerium/example/regex_mas]
+file size 75
+fix 4096byte file size 4096
+w 7ffc43a07440
+dvision_size 4096
+task_num 1
+out_task_num 1
+out size 32
+SPE include 'a*b' 3 lines. 5 words. 
+start sum
+3 5 
+Time: 0.000424
+        
+
+SPE include 'a*b' 3 lines. 5 words. 
+        
+
+
+ +
+ + + diff -r 43c6da29d688 -r d8f499590d82 13/April-2013/30th.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/13/April-2013/30th.html Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,155 @@ + + + + + + + 2013-04-30 + + + + + + + + + +
+ + + +
+

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

+

+ Masataka Kohagura +
+ 16th April , 2013 +

+
+ +
+

+ 研究目的 +

+

+ 本研究室では、Cell用に作られたCeriumにて並列プログラミングを行なっている。 +近年、マルチコアCPUが主流となっているが、それをフルに使用させるためにはプログラムの並列度を上げる必要がある。(続く) +

+

+ 現在は正規表現を並列実装している段階である。 +

+
+ +
+

+ 今週までにしたこと +

+

+ a*bが含まれている行を出力するようにした。 +

+ +

+ (*は任意の文字のゼロ個以上の繰り返し) +

+
+ +
+

+ Exec.cc +

+
+
+
+    for (; i < length; i++) {
+        if (i_data[i] == 0x0A) {
+    
+            if (match_flag == true) {
+                line_print(line_num,line_length,line_data);
+            }   
+            match_flag = false;
+            line_length = 0;
+            line_num++;
+        } else {
+            line_data[line_length] = i_data[i];
+            line_length++;
+              if (i_data[i] == 0x61) {
+                  a_flag = true;
+              }else if ((i_data[i] == 0x62) && (a_flag == true)) {
+                  match_flag = true;
+              }else if (i_data[i] == 0x20) {
+                  a_flag = false;
+              }   
+        }   
+    } 
+
+
+
+

+ line_print(line_num,line_length,line_data); +

+
+
+void line_print(int _line_num,int _line_length,char *input_data){
+
+    printf("%d : ",_line_num);
+    for (int k = 0; k < _line_length; k++) {
+        printf("%c",input_data[k]);
+    }   
+    printf("\n");
+}
+
+
+
+ +
+

+ 実行結果(分割されないような小さなファイル) +

+
+
+[Masa]~%  ./regex -file b.txt                   [~/hg/Cerium/example/regex_mas]
+1 : ab aaa dddd ssss abab
+2 : ab bbbbbbbbbb aaaaaaa
+4 : ab aaaab 
+        
+

+ 実行結果(分割されるようなファイル) +

+
+[Masa]~%  ./regex -file c.txt                   [~/hg/Cerium/example/regex_mas]
+1 : Pakistan who've volunteered to join private militias, called lashkars. These groups have vowed to help Pakistan's military in fighting the Taliban.
+5 : Pakistani military officials credit the lashkars with helping chase the Taliban out of Swat Valley and neighboring districts once infested with the militants.
+6 : Pakistan who've volunteered to join private militias, called lashkars. These groups have vowed to help Pakistan's military in fighting the Taliban.
+[中略]
+196 : Pakistan who've volunteered to join private militias, called lashkars. These groups have vowed to help Pakistan's military in fighting the Taliban.
+200 : Pakistani military officials credit the lashkars with helping chase the Taliban out of Swat Valley and neighboring districts once infested with the militants.
+1 : red to join private militias, called lashkars. These groups have vowed to help Pakistan's military in fighting the Taliban.
+5 : Pakistani military officials credit the lashkars with helping chase the Taliban out of Swat Valley and neighboring districts once infested with the militants.
+        
+
+
+ + + diff -r 43c6da29d688 -r d8f499590d82 13/April-2013/9th.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/13/April-2013/9th.html Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,128 @@ + + + + + + + Presentation + + + + + + + + + +
+ + + +
+

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

+

+ Masataka Kohagura +
+ 9th April , 2013 +

+
+ +
+

+ 研究目的 +

+

+ 本研究室では、Cell用に作られたCeriumにて並列プログラミングを行なっている。 +近年、マルチコアCPUが主流となっているが、それをフルに使用させるためには並列プログラミングの並列度を上げる必要がある。(続く) +

+

+ 現在は正規表現を並列実装している段階である。 +

+
+ +
+

+ 今週までにしたこと +

+

+ a*bが含まれている行を出力するようにした。 +

+
+ +
+

+ Exec.cc +

+
+
+
+    for (; i < length; i++) {
+        if (i_data[i] == 0x0A) {
+               
+            if (match_flag == true) {
+                printf("%d : ",line_num);
+                for (int k = 0; k < line_i; k++) {
+                    printf("%c",line_data[k]);
+                }   
+                printf("\n");
+            }   
+            match_flag = false;
+            line_i = 0;
+            line_num++;
+
+        } else {
+          line_data[line_i] = i_data[i];
+          line_i++;
+              if (i_data[i] == 0x61) {
+                  a_flag = true;
+              }else if ((i_data[i] == 0x62) && (a_flag == true)) {
+                  match_flag = true;
+              }else if (i_data[i] == 0x20) {
+                  a_flag = false;
+              }   
+        }   
+    } 
+
+
+
+
+ +
+

+ 実行結果(分割されないような小さなファイル) +

+
+
+[Masa]~%  ./regex -file b.txt                   [~/hg/Cerium/example/regex_mas]
+1 : ab aaa dddd ssss abab
+2 : ab bbbbbbbbbb aaaaaaa
+4 : ab aaaab 
+        
+
+
+ +
+ + + diff -r 43c6da29d688 -r d8f499590d82 13/April-2013/LT-DTM.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/13/April-2013/LT-DTM.html Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,154 @@ + + + + + + + LT大会-DTM + + + + + + + + + +
+ + + +
+

+ Let's enjoy DTM! +

+

+ 古波倉 正隆@B4 +

+
+ +
+

+ 自己紹介 +

+

+ 2008年入学 現在に至る +

+

+ twitter
+ @masamasa_massa +

+
+ +
+

+ 曲作り(DTM)のキッカケ +

+

+ ・音ゲ大好き(KONAMI系音ゲ) +

+

+ ・本当はバンドをやりたかった +

+

+ ・DTMだと一人で曲をつくれるじゃん! +

+

+ ・beatmaniaIIDXのような曲をつくりたい! +

+
+ +
+

+ What's DTM?? +

+

+ DTM(DeskTop Music)
+ ※和製英語なので外国人には通じません +

+

+ PCやタブレット、スマートフォンなどで曲を作ること +

+
+ +
+

+ 最低限必要なもの +

+

+ ・DAW(Digital Audio Workstation) +

+
+ +
+

+ 主なDAW ※価格は価格.com調べ +

+

+ windows +

+
+
+        ・Cubase(¥49,800~¥78,070)
+        ・Sonar(¥58,315~¥65,480)
+        ・FLstudio(¥25,365~¥36,750)
+        
+

+ Mac +

+
+        ・Cubase
+        ・Logic(¥17000)
+        ・GarageBand(Mac付属)
+        
+
+
+ +
+

+ GarageBandならタダ! +

+
+
+

+ (仮)DTMerの集い +

+

+ 毎月1回の活動 +

+

+ DTMの技術交換を行なっていく(進行形) +

+

+ 場所も毎回変わります +

+
+ +
+

+ end +

+
+ + + + + diff -r 43c6da29d688 -r d8f499590d82 13/April-2013/LT-fear.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/13/April-2013/LT-fear.html Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,154 @@ + + + + + + + LT大会-DTM + + + + + + + + + +
+ + + +
+

+ 本当にあった大学の怖い話 +

+

+ 古波倉 正隆@B4 +

+
+ +
+

+ 自己紹介 +

+

+ 2008年入学 現在に至る +

+

+ twitter
+ @masamasa_massa +

+
+ +
+

+ 聞いたことありませんか? +

+

+ 「壺を買いませんか?」「この絵素晴らしいでしょ?この絵にはね、すばらしい効果があって・・・」 +

+

+ ・本当はバンドをやりたかった +

+

+ ・DTMだと一人で曲をつくれるじゃん! +

+

+ ・beatmaniaIIDXのような曲をつくりたい! +

+
+ +
+

+ What's DTM?? +

+

+ DTM(DeskTop Music)
+ ※和製英語なので外国人には通じません +

+

+ PCやタブレット、スマートフォンなどで曲を作ること +

+
+ +
+

+ 最低限必要なもの +

+

+ ・DAW(Digital Audio Workstation) +

+
+ +
+

+ 主なDAW ※価格は価格.com調べ +

+

+ windows +

+
+
+        ・Cubase(¥49,800~¥78,070)
+        ・Sonar(¥58,315~¥65,480)
+        ・FLstudio(¥25,365~¥36,750)
+        
+

+ Mac +

+
+        ・Cubase
+        ・Logic(¥17000)
+        ・GarageBand(Mac付属)
+        
+
+
+ +
+

+ GarageBandならタダ! +

+
+
+

+ (仮)DTMerの集い +

+

+ 毎月1回の活動 +

+

+ DTMの技術交換を行なっていく(進行形) +

+

+ 場所も毎回変わります +

+
+ +
+

+ end +

+
+ + + + + diff -r 43c6da29d688 -r d8f499590d82 13/Aug-2013/20th.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/13/Aug-2013/20th.html Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,134 @@ + + + + + + + 2013-08-20 + + + + + + + + + +
+ + + +
+

+ 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
+
+
+ + diff -r 43c6da29d688 -r d8f499590d82 13/Aug-2013/6th.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/13/Aug-2013/6th.html Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,142 @@ + + + + + + + 2013-08-06 + + + + + + + + + +
+ + + +
+

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

+

+ Masataka Kohagura +
+ 6th July , 2013 +

+
+ +
+

+ 研究目的 +

+

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

+

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

+

+ 様々な並列処理のプログラムを実装することでプログラムに慣れ、 +

+
+ +
+

+ 今週のしたこと +

+

+ ・regex_masのバグ取り + ("doing"という単語が本来は27856個存在するはずだが、このプログラムだと27854個と2個不足した状態で出力された。) +

+

+ ・時間測定 +

+
+ +
+

main.ccの修正

+

修正前

+
+t_exec[k]->set_param(0,(memaddr)offset);
+t_exec[k]->set_param(1,(memaddr)set_one_task_length);
+if(size != w->size){
+    t_exec[k]->set_inData(0,w->file_mmap + a*w->division_size, size+EXTRA_LENGTH);
+}else{
+    t_exec[k]->set_inData(0,w->file_mmap + a*w->division_size, size);
+}   
+t_exec[k]->set_outData(0,w->o_data + a*w->out_size, w->division_out_size);
+      
+

修正後

+
+t_exec[k]->set_param(0,(memaddr)offset);
+if(size != w->size){
+    t_exec[k]->set_param(1,(memaddr)set_one_task_length+EXTRA_LENGTH);
+    t_exec[k]->set_inData(0,w->file_mmap + a*w->division_size, size+EXTRA_LENGTH);
+}else{
+    t_exec[k]->set_param(1,(memaddr)set_one_task_length);
+    t_exec[k]->set_inData(0,w->file_mmap + a*w->division_size, size);
+}   
+t_exec[k]->set_outData(0,w->o_data + a*w->out_size, w->division_out_size);
+      
+
+ +
+

時間測定(参考程度に)

+ + +

mac pro上での測定

+

Cerium APIでの計測

+ + + +
+ + + + + + + + + +
cpu_numtime(ms)
138.752
219.347
410.028
85.393
104.502
114.198-5.977
125.585
+
+ +

+ ・10回ほど手動で実行して、それの中央値をとっているだけ。 +

+

+ ・現在集計スクリプトを作成中。 +

+

+ ・cpu_num = 11のとき実行するたんびにバラバラになる。 +

+ +
+ + diff -r 43c6da29d688 -r d8f499590d82 13/Aug-2013/graph_regexCeriumPower.eps --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/13/Aug-2013/graph_regexCeriumPower.eps Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,703 @@ +%!PS-Adobe-2.0 +%%Title: 0000.eps +%%Creator: gnuplot 4.2 patchlevel 6 +%%CreationDate: Sun Aug 18 16:32:10 2013 +%%DocumentFonts: (atend) +%%BoundingBox: 50 50 554 770 +%%Orientation: Landscape +%%Pages: (atend) +%%EndComments +%%BeginProlog +/gnudict 256 dict def +gnudict begin +% +% The following 6 true/false flags may be edited by hand if required +% The unit line width may also be changed +% +/Color true def +/Blacktext false def +/Solid false def +/Dashlength 1 def +/Landscape true def +/Level1 false def +/Rounded false def +/TransparentPatterns false def +/gnulinewidth 5.000 def +/userlinewidth gnulinewidth def +% +/vshift -46 def +/dl1 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if +} def +/dl2 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul add } if +} def +/hpt_ 31.5 def +/vpt_ 31.5 def +/hpt hpt_ def +/vpt vpt_ def +Level1 {} { +/SDict 10 dict def +systemdict /pdfmark known not { + userdict /pdfmark systemdict /cleartomark get put +} if +SDict begin [ + /Title (0000.eps) + /Subject (gnuplot plot) + /Creator (gnuplot 4.2 patchlevel 6 ) + /Author (MasaKoha) +% /Producer (gnuplot) +% /Keywords () + /CreationDate (Sun Aug 18 16:32:10 2013) + /DOCINFO pdfmark +end +} ifelse +% +% Gnuplot Prolog Version 4.2 (August 2006) +% +/M {moveto} bind def +/L {lineto} bind def +/R {rmoveto} bind def +/V {rlineto} bind def +/N {newpath moveto} bind def +/Z {closepath} bind def +/C {setrgbcolor} bind def +/f {rlineto fill} bind def +/vpt2 vpt 2 mul def +/hpt2 hpt 2 mul def +/Lshow {currentpoint stroke M 0 vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def +/BL {stroke userlinewidth 2 mul setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +/AL {stroke userlinewidth 2 div setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +/UL {dup gnulinewidth mul /userlinewidth exch def + dup 1 lt {pop 1} if 10 mul /udl exch def} def +/PL {stroke userlinewidth setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +% Default Line colors +/LCw {1 1 1} def +/LCb {0 0 0} def +/LCa {0 0 0} def +/LC0 {1 0 0} def +/LC1 {0 1 0} def +/LC2 {0 0 1} def +/LC3 {1 0 1} def +/LC4 {0 1 1} def +/LC5 {1 1 0} def +/LC6 {0 0 0} def +/LC7 {1 0.3 0} def +/LC8 {0.5 0.5 0.5} def +% Default Line Types +/LTw {PL [] 1 setgray} def +/LTb {BL [] LCb DL} def +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def +/LT0 {PL [] LC0 DL} def +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def +/Dia {stroke [] 0 setdash 2 copy vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke + Pnt} def +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V + currentpoint stroke M + hpt neg vpt neg R hpt2 0 V stroke + } def +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke + Pnt} def +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M + hpt2 vpt2 neg V currentpoint stroke M + hpt2 neg 0 R hpt2 vpt2 V stroke} def +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke + Pnt} def +/Star {2 copy Pls Crs} def +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath fill} def +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath fill} def +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke + Pnt} def +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath fill} def +/DiaF {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath fill} def +/Pent {stroke [] 0 setdash 2 copy gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore Pnt} def +/PentF {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath fill grestore} def +/Circle {stroke [] 0 setdash 2 copy + hpt 0 360 arc stroke Pnt} def +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def +/C1 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + vpt 0 360 arc closepath} bind def +/C2 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C3 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C4 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C5 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc + 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc} bind def +/C6 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C7 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C8 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C9 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 450 arc closepath fill + vpt 0 360 arc closepath} bind def +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill + 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C11 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C12 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C13 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C14 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 360 arc closepath fill + vpt 0 360 arc} bind def +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath} bind def +/Square {dup Rec} bind def +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill + 2 copy vpt Square fill Bsquare} bind def +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill + Bsquare} bind def +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill + Bsquare} bind def +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy vpt Square fill Bsquare} bind def +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def +/DiaE {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke} def +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke} def +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke} def +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke} def +/PentE {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore} def +/CircE {stroke [] 0 setdash + hpt 0 360 arc stroke} def +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def +/DiaW {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V Opaque stroke} def +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V Opaque stroke} def +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V Opaque stroke} def +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V Opaque stroke} def +/PentW {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + Opaque stroke grestore} def +/CircW {stroke [] 0 setdash + hpt 0 360 arc Opaque stroke} def +/BoxFill {gsave Rec 1 setgray fill grestore} def +/Density { + /Fillden exch def + currentrgbcolor + /ColB exch def /ColG exch def /ColR exch def + /ColR ColR Fillden mul Fillden sub 1 add def + /ColG ColG Fillden mul Fillden sub 1 add def + /ColB ColB Fillden mul Fillden sub 1 add def + ColR ColG ColB setrgbcolor} def +/BoxColFill {gsave Rec PolyFill} def +/PolyFill {gsave Density fill grestore grestore} def +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def +% +% PostScript Level 1 Pattern Fill routine for rectangles +% Usage: x y w h s a XX PatternFill +% x,y = lower left corner of box to be filled +% w,h = width and height of box +% a = angle in degrees between lines and x-axis +% XX = 0/1 for no/yes cross-hatch +% +/PatternFill {gsave /PFa [ 9 2 roll ] def + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec + gsave 1 setgray fill grestore clip + currentlinewidth 0.5 mul setlinewidth + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def + 0 0 M PFa 5 get rotate PFs -2 div dup translate + 0 1 PFs PFa 4 get div 1 add floor cvi + {PFa 4 get mul 0 M 0 PFs V} for + 0 PFa 6 get ne { + 0 1 PFs PFa 4 get div 1 add floor cvi + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for + } if + stroke grestore} def +% +/languagelevel where + {pop languagelevel} {1} ifelse + 2 lt + {/InterpretLevel1 true def} + {/InterpretLevel1 Level1 def} + ifelse +% +% PostScript level 2 pattern fill definitions +% +/Level2PatternFill { +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} + bind def +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} +>> matrix makepattern +/Pat1 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} +>> matrix makepattern +/Pat2 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L + 8 8 L 8 0 L 0 0 L fill} +>> matrix makepattern +/Pat3 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L + 0 12 M 12 0 L stroke} +>> matrix makepattern +/Pat4 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L + 0 -4 M 12 8 L stroke} +>> matrix makepattern +/Pat5 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} +>> matrix makepattern +/Pat6 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} +>> matrix makepattern +/Pat7 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L + 12 0 M -4 8 L 12 4 M 0 10 L stroke} +>> matrix makepattern +/Pat8 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L + -4 0 M 12 8 L -4 4 M 8 10 L stroke} +>> matrix makepattern +/Pat9 exch def +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def +} def +% +% +%End of PostScript Level 2 code +% +/PatternBgnd { + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse +} def +% +% Substitute for Level 2 pattern fill codes with +% grayscale if Level 2 support is not selected. +% +/Level1PatternFill { +/Pattern1 {0.250 Density} bind def +/Pattern2 {0.500 Density} bind def +/Pattern3 {0.750 Density} bind def +/Pattern4 {0.125 Density} bind def +/Pattern5 {0.375 Density} bind def +/Pattern6 {0.625 Density} bind def +/Pattern7 {0.875 Density} bind def +} def +% +% Now test for support of Level 2 code +% +Level1 {Level1PatternFill} {Level2PatternFill} ifelse +% +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall +currentdict end definefont pop +/MFshow { + { dup 5 get 3 ge + { 5 get 3 eq {gsave} {grestore} ifelse } + {dup dup 0 get findfont exch 1 get scalefont setfont + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 + get exch 4 get {show} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop + pop aload pop M} ifelse }ifelse }ifelse } + ifelse } + forall} bind def +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont + 6 get stringwidth pop add} {pop} ifelse} ifelse} forall} bind def +/MLshow { currentpoint stroke M + 0 exch R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/MRshow { currentpoint stroke M + exch dup MFwidth neg 3 -1 roll R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/MCshow { currentpoint stroke M + exch dup MFwidth -2 div 3 -1 roll R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/XYsave { [( ) 1 2 true false 3 ()] } bind def +/XYrestore { [( ) 1 2 true false 4 ()] } bind def +end +%%EndProlog +%%Page: 1 1 +gnudict begin +gsave +50 50 translate +0.100 0.100 scale +90 rotate +0 -5040 translate +0 setgray +newpath +(Helvetica) findfont 140 scalefont setfont +1.000 UL +LTb +770 448 M +63 0 V +6087 0 R +-63 0 V +stroke +686 448 M +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] +] -46.7 MRshow +1.000 UL +LTb +770 1185 M +63 0 V +6087 0 R +-63 0 V +stroke +686 1185 M +[ [(Helvetica) 140.0 0.0 true true 0 ( 10)] +] -46.7 MRshow +1.000 UL +LTb +770 1923 M +63 0 V +6087 0 R +-63 0 V +stroke +686 1923 M +[ [(Helvetica) 140.0 0.0 true true 0 ( 20)] +] -46.7 MRshow +1.000 UL +LTb +770 2660 M +63 0 V +6087 0 R +-63 0 V +stroke +686 2660 M +[ [(Helvetica) 140.0 0.0 true true 0 ( 30)] +] -46.7 MRshow +1.000 UL +LTb +770 3397 M +63 0 V +6087 0 R +-63 0 V +stroke +686 3397 M +[ [(Helvetica) 140.0 0.0 true true 0 ( 40)] +] -46.7 MRshow +1.000 UL +LTb +770 4135 M +63 0 V +6087 0 R +-63 0 V +stroke +686 4135 M +[ [(Helvetica) 140.0 0.0 true true 0 ( 50)] +] -46.7 MRshow +1.000 UL +LTb +770 4872 M +63 0 V +6087 0 R +-63 0 V +stroke +686 4872 M +[ [(Helvetica) 140.0 0.0 true true 0 ( 60)] +] -46.7 MRshow +1.000 UL +LTb +1329 448 M +0 63 V +0 4361 R +0 -63 V +stroke +1329 308 M +[ [(Helvetica) 140.0 0.0 true true 0 ( 2)] +] -46.7 MCshow +1.000 UL +LTb +2447 448 M +0 63 V +0 4361 R +0 -63 V +stroke +2447 308 M +[ [(Helvetica) 140.0 0.0 true true 0 ( 4)] +] -46.7 MCshow +1.000 UL +LTb +3565 448 M +0 63 V +0 4361 R +0 -63 V +stroke +3565 308 M +[ [(Helvetica) 140.0 0.0 true true 0 ( 6)] +] -46.7 MCshow +1.000 UL +LTb +4684 448 M +0 63 V +0 4361 R +0 -63 V +stroke +4684 308 M +[ [(Helvetica) 140.0 0.0 true true 0 ( 8)] +] -46.7 MCshow +1.000 UL +LTb +5802 448 M +0 63 V +0 4361 R +0 -63 V +stroke +5802 308 M +[ [(Helvetica) 140.0 0.0 true true 0 ( 10)] +] -46.7 MCshow +1.000 UL +LTb +6920 448 M +0 63 V +0 4361 R +0 -63 V +stroke +6920 308 M +[ [(Helvetica) 140.0 0.0 true true 0 ( 12)] +] -46.7 MCshow +1.000 UL +LTb +1.000 UL +LTb +770 4872 N +770 448 L +6150 0 V +0 4424 V +-6150 0 V +Z stroke +LCb setrgbcolor +280 2660 M +currentpoint gsave translate 90 rotate 0 0 moveto +[ [(Helvetica) 140.0 0.0 true true 0 (time\(ms\))] +] -46.7 MCshow +grestore +LTb +LCb setrgbcolor +LTb +LCb setrgbcolor +3845 98 M +[ [(Helvetica) 140.0 0.0 true true 0 (CPU num)] +] -46.7 MCshow +LTb +LCb setrgbcolor +LTb +1.000 UP +1.000 UL +LTb +1.000 UL +LT0 +LTb +6269 4739 M +[ [(Helvetica) 140.0 0.0 true true 0 (MAX time)] +] -46.7 MRshow +LT0 +6353 4739 M +399 0 V +770 4828 M +1329 2618 L +559 -497 V +559 -166 V +559 -92 V +559 -173 V +560 -19 V +559 -130 V +559 -1 V +559 211 V +559 -153 V +559 -62 V +stroke +LT1 +LTb +6269 4599 M +[ [(Helvetica) 140.0 0.0 true true 0 (min time)] +] -46.7 MRshow +LT1 +6353 4599 M +399 0 V +770 3122 M +1329 1759 L +559 -414 V +559 -195 V +559 -126 V +559 -84 V +560 -70 V +559 -43 V +559 -37 V +559 -31 V +559 -18 V +559 15 V +stroke +LT2 +LTb +6269 4459 M +[ [(Helvetica) 140.0 0.0 true true 0 (average time)] +] -46.7 MRshow +LT2 +6353 4459 M +399 0 V +770 3311 M +1329 1855 L +559 -441 V +559 -219 V +559 -139 V +559 -93 V +560 -63 V +559 -51 V +559 -32 V +559 -14 V +559 30 V +559 18 V +stroke +LTb +770 4872 N +770 448 L +6150 0 V +0 4424 V +-6150 0 V +Z stroke +1.000 UP +1.000 UL +LTb +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Helvetica +%%Pages: 1 diff -r 43c6da29d688 -r d8f499590d82 13/Dec-2013/10th.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/13/Dec-2013/10th.html Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,183 @@ + + + + + + + slide + + + + + + + + + +
+ + + +
+

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

+

+ Masataka Kohagura +
+ 10th December , 2013 +

+
+ +
+

+ 研究目的 +

+

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

+

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

+ +
+ +
+

+ 今週のしたこと +

+

+ ・検索文字列のハードコーディングの脱却
+

+
+ + + + +
+ +

+ main.cc:run_tasks内部(Taskへのデータ渡し) +

+
+Task *t_exec = 0;
+
+t_exec = task_array->next_task_array(TASK_EXEC,t_exec);
+t_exec->set_inData(0,w->file_mmap + a*w->division_size, size);
+t_exec->set_inData(1,w->search_word, w->search_word_len);
+t_exec->set_inData(2,w->BMskip_table, 256);
+
+ +

+ ppe/Exec.cc(Task内でのデータの受取) +

+
+unsigned char *i_data = (unsigned char *)s->get_input(rbuf,0);
+unsigned char *search_word = (unsigned char *)s->get_input(rbuf,1);
+int *skip_table = (int *)s->get_input(2);
+
+s->printf("[in Exec search word = %p\n",search_word);
+
+ +
+ +
+

+ 実行(アドレスの桁落ち(?))) +

+
+./regex -file c.txt -cpu 1 -sw doing
+in TMmain  search_word    = 0x7fba99c1a090
+in run start search_word    = 0x7fba99c1a090
+in run tasks w->search_word = 0x7fba99c1a090
+in Exec search word         =     0x99c1a090
+zsh: segmentation fault  ./regex -file c.txt -cpu 1 -sw doing
+
+ +
    +
  • + search_word のアドレスが上の桁から落ちている。skip_table(intの配列)でもセグフォが発生するので、skip_tableももしかしたらアドレスが同じように落ちているんじゃ・・・ +
  • +
+
+ + +
+

+ ppe/Exec.ccの修正 +

+
+unsigned char *i_data = (unsigned char *)s->get_inputAddr(0);
+unsigned char *search_word = (unsigned char *)s->get_inputAddr(1);
+int *skip_table = (int *)s->get_inputAddr(2);
+
+s->printf("in Exec search_word : %p\n",search_word);
+    
+ +

+ 実行 +

+
+./regex -file c.txt -cpu 1 -sw doing
+in run_tasks w->search_word Addr: 0x7f989b708280
+in Exec search_word Addr        : 0x7f989b708280
+HIT:27856
+Time: 0.042276
+
+
  • + get_inputAddrだと正しくアドレスを受け渡しすることができた。 +
  • +
    + +
    +

    これからのすること

    +
      +
    • + シンヤさんのRegenのソース読み&実装 +
    • +
    • + 並列I/Oの実装
      + (例題:filereadにてI/Oの分割読み込みのプログラムを実装) +
    • +
    +
    + + + diff -r 43c6da29d688 -r d8f499590d82 13/Dec-2013/17th.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/13/Dec-2013/17th.html Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,324 @@ + + + + + + + slide + + + + + + + + + +
    + + + +
    +

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

    +

    + Masataka Kohagura +
    + 10th December , 2013 +

    +
    + +
    +

    + 研究目的 +

    +

    + 当研究室では、CellやマルチコアCPUで並列プログラミングを可能にするCerium Task Managerを開発している。 +

    +

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

    +

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

    + +
    + +
    +

    + 今週のしたこと +

    +
      + +
    • + read関数によるfileの順次読み込み
      + (読み込み部分をread()からpread()へ変更) +
    • + +
    • + Read Taskのブロック化
      + (1つずつ起動していたものを、ブロック単位で起動するようにした) +
    • + +
    • + MapReduce関数の整理 +
    • + +
        +
    + + + + +
    + +

    readからpreadへ

    +

    変更前

    +
    +int *fd = (int *)s->get_input(rbuf,0);  ///ファイルディスクリプタの受取
    +long readsize = (long)s->get_param(0);
    +long task_number = (long)s->get_param(1);
    +
    +char text[(long)readsize];
    +
    +read(*fd,text,(long)readsize);
    +
    +s->printf("[start task No. %d]\n",task_number);
    +s->printf("%s\n",text);
    +
    + +

    変更後

    +
    +pread(*fd, text, (long)read_size , division_size*task_number);
    +
    + +
    + +
    +

    + pread +

    + +
    +read(int fd, void *buf, size_t count);
    +
    + +
    +pread(int fd, void *buf, size_t count, off_t offset);
    +
    + +
      +
    • + fd:ファイルディスクリプタ +
    • +
    • + buf:readするDataの格納領域 +
    • +
    • + count:どれだけの量(byte)を読み込むか +
    • +
    • + offset:ファイルの先頭からどれだけの量(byte)を飛ばして読み込むのか +
    • +
    + +

    + read関数だと、Taskの起動する順番やタイミングによって同じ場所を読み込んだりしてしまう。read関数は読み込んだ後にファイルディスクリプタをずらしてしまうので、そのような現象が起こると考えられる。 +

    +

    + pread関数だと、ファイルディスクリプタを動かさずにoffsetを取ることで読み込む場所が替えることができる。これだと、上記の現象が起こらずにすむ。 +

    +
    + + +
    +

    + readでの読み込みの失敗例 +

    +
    +% ./fileread -file d.txt
    +filesize     : 16398
    +one_task_size: 16384
    +task_num     : 2
    +[start task No. 0]
    +firstaaaaaaaaaaaaaaaaaaaaaa...16380
    +doin
    +[start task No. 1]
    +firstaaaaaaaaa
    +    
    + +
    +[start task No. 0]
    +gxbaaabaaabab
    +[start task No. 1]
    +gxbaaabaaabab
    +    
    +
    + +
    +

    Read Taskのblock化

    +

    変更前

    +
    +run_start(TaskManager *manager,char *filename)
    +{
    +    HTask *read;
    +    int *fd = (int*)manager->allocate(sizeof(int));
    +
    +    if ((*fd=open(filename,O_RDONLY,0666))==0) {
    +        fprintf(stderr,"can't open %s\n",filename); 
    +    }
    +        ...
    +
    +    for(int task_number = 0; task_number < task_num; task_number++){
    +        read = manager->create_task(READ_TASK);
    +        read->set_cpu(spe_cpu);
    +
    +        [task settings(省略)]
    +
    +    }
    +}
    +    
    +
    + +
    +

    変更後

    +
    +run_start(TaskManager *manager,char *filename)
    +{
    +    int *fd = (int*)manager->allocate(sizeof(int));
    +
    +    if ((*fd=open(filename,O_RDONLY,0666))==0) {
    +        fprintf(stderr,"can't open %s\n",filename);
    +    }
    +
    +    if (fstat(*fd,sb)) {
    +        fprintf(stderr,"can't fstat %s\n",filename);
    +    }
    +        ...
    +
    +    FilereadPtr fr = (FilereadPtr)manager->allocate(sizeof(Fileread));
    +
    +    HTaskPtr run = manager->create_task(RUN_BLOCKS, (memaddr)&fr->self, sizeof(memaddr),0,0);
    +    run->spawn();
    +}
    +    
    +
    + +
    +

    RUN_BLOCKS

    +
    +SchedDefineTask1(RUN_BLOCKS,run16);
    +
    +run16(SchedTask *manager, void *in, void *out) {
    +
    +    FilereadPtr fr = (FilereadPtr)in;
    +    HTaskPtr wait;
    +
    +    for (int i = 0; (fr->left_size > 0) && (i < fr->task_blocks); i++) {
    +        HTaskPtr read = manager->create_task(Read_task);
    +        read->set_cpu(fr->cpu);
    +
    +        if (i == fr->task_blocks / 2) wait = read;
    +
    +        [task settings(省略)]
    +
    +    }
    +    return 0;
    +}
    +    
    + +
      +
    • + Taskを1個1個起動ではなくブロック単位で起動している理由は、メモリの再利用のためである。 +1個1個起動すると、その分のメモリが必要となり、Task数が多くなると肥大化する。 +ブロック単位で起動することでメモリを節約するとともに、メモリの書き換えが少なくて済むので高速化につながる。 +
    • +
    +
    + + +
    +

    Taskのブロック化の図(1)

    +

    word countでの実装

    +

    +

    + +
    +

    +
      +
    • + run16がブロック単位でTaskを起動する。word countでは48 Task/1block。 +
    • +
    • + ブロック内の処理が全て終わらないと、新しいブロックを生成することができない。
      + すべてのTaskが終わるまで待つので、オーバヘッドが起こる。 +
    • +
    +
    + +
    +

    Taskのブロック化の図(2)

    +

    filereadでの実装

    +
    + +
    +
      +
    • + run16でブロック単位を起動することは変わりはないが、1ブロックのTask数の半分がspawnすると新しいブロックを起動するようになっている。 +
    • +
    +
    + +
    +

    Map Reduce

    +

    +

    + +
    +

    +
      +
    • + スライド作成間に合わない・・・ +
    • +
    +
    + + diff -r 43c6da29d688 -r d8f499590d82 13/Dec-2013/27th.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/13/Dec-2013/27th.html Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,144 @@ + + + + + + + slide + + + + + + + + + +
    + + + +
    +

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

    +

    + Masataka Kohagura +
    + 27th December , 2013 +

    +
    + +
    +

    + 研究目的 +

    +

    + 当研究室では、CellやマルチコアCPUで並列プログラミングを可能にするCerium Task Managerを開発している。 +

    +

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

    +

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

    + +
    + +
    +

    + 今週のしたこと +

    +
      + +
    • + filereadにdivide read、mmap readの実装と計測 +
    • + +
        +
    + + + + +
    +

    測定結果

    + +

    Cerium APIでの計測

    +

    ・MacBook Air(Intel Core i5 1.7GHz、SSD 240GB)

    +

    divide read

    + + + +
    + + + + + +
    cpu_numtime(ms)
    149.751
    275.638
    362.832
    456.839
    + + + +

    mmap 0.131(ms)

    +

    ・firefly(6-Core Intel Xeon 2.66GHz、HDD 1TB)

    +

    divide read cpu_num=4 133.841(ms)

    +

    +

    +

    +

    + +
    + +
    +

    測定方法など

    +
      +
    • + もしかして、Taskが起動している表示も時間に入っているんでは?? +
    • +
    • + 実験方法は、プログラムを起動するたんびにPCの再起動をして、キャッシュに格納された対象のテキストファイルを消した。 +
    • +
    + + +
    + + diff -r 43c6da29d688 -r d8f499590d82 13/Dec-2013/images/mapreduce.jpg Binary file 13/Dec-2013/images/mapreduce.jpg has changed diff -r 43c6da29d688 -r d8f499590d82 13/Dec-2013/images/new_run_task_blocks.jpg Binary file 13/Dec-2013/images/new_run_task_blocks.jpg has changed diff -r 43c6da29d688 -r d8f499590d82 13/Dec-2013/images/old_run_task_blocks.jpg Binary file 13/Dec-2013/images/old_run_task_blocks.jpg has changed diff -r 43c6da29d688 -r d8f499590d82 13/Dec-2013/images/thinkread.graffle --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/13/Dec-2013/images/thinkread.graffle Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,3924 @@ + + + + + ApplicationVersion + + com.omnigroup.OmniGraffle + 139.18.0.187838 + + CreationDate + 2013-12-15 16:39:26 +0000 + Creator + MasaKoha + GraphDocumentVersion + 8 + GuidesLocked + NO + GuidesVisible + YES + ImageCounter + 1 + LinksVisible + NO + MagnetsVisible + NO + MasterSheets + + ModificationDate + 2013-12-18 14:12:30 +0000 + Modifier + MasaKoha + NotesVisible + NO + OriginVisible + NO + PageBreaks + YES + PrintInfo + + NSBottomMargin + + float + 41 + + NSHorizonalPagination + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG + + NSLeftMargin + + float + 18 + + NSPaperSize + + size + {595.00000476837158, 842} + + NSPrintReverseOrientation + + int + 0 + + NSRightMargin + + float + 18 + + NSTopMargin + + float + 18 + + + ReadOnly + NO + Sheets + + + ActiveLayerIndex + 0 + AutoAdjust + + BackgroundGraphic + + Bounds + {{0, 0}, {559.00000476837158, 783}} + Class + SolidGraphic + ID + 2 + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + + BaseZoom + 0 + CanvasOrigin + {0, 0} + ColumnAlign + 1 + ColumnSpacing + 36 + DisplayScale + 1 0/72 in = 1.0000 in + GraphicsList + + + Bounds + {{472.89771955289018, 482.85023355433225}, {22, 26.00001335144043}} + Class + ShapedGraphic + ID + 77 + Layer + 0 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + + + Bounds + {{472.89771478513774, 397.85024428452454}, {22, 85.000022888183594}} + Class + ShapedGraphic + ID + 76 + Layer + 0 + Shape + Rectangle + Style + + stroke + + Width + 2 + + + + + Class + LineGraphic + ID + 75 + Layer + 0 + Points + + {408.14770858625468, 397.85024428452454} + {462.14770858625468, 397.85024428452454} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + + + Class + LineGraphic + ID + 67 + Layer + 0 + Points + + {408.1477219528195, 227.85025024414065} + {462.1477219528195, 227.85025024414065} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + + + Bounds + {{472.89772468866227, 312.85024428452476}, {22, 31}} + Class + ShapedGraphic + ID + 71 + Layer + 0 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + + + Bounds + {{472.89773433766891, 227.85024428452462}, {22, 85}} + Class + ShapedGraphic + ID + 70 + Layer + 0 + Shape + Rectangle + Style + + stroke + + Width + 2 + + + + + Bounds + {{186.89773550211282, 616.14973508269327}, {95.870697021484375, 18}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 62 + Layer + 1 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 : +\f1 \'83\'49\'81\'5b\'83\'6f\'81\'5b\'83\'77\'83\'62\'83\'68} + VerticalPad + 0 + + + + Bounds + {{158.39773518459938, 600.14971453503699}, {22, 50.000007629394531}} + Class + ShapedGraphic + ID + 61 + Layer + 1 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + + + Bounds + {{180.39772097015566, 482.85025048094758}, {22, 26.00001335144043}} + Class + ShapedGraphic + ID + 60 + Layer + 1 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + + + Bounds + {{277.8977213421, 468.85026454679235}, {22, 40}} + Class + ShapedGraphic + ID + 59 + Layer + 1 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + + + AllowToConnect + + Class + LineGraphic + ID + 58 + Layer + 1 + Points + + {86.147716538575452, 508.85026454679235} + {473.37499342716364, 509.79698070415776} + + Style + + stroke + + HeadArrow + 0 + Legacy + + TailArrow + 0 + + + + + Bounds + {{375.397715781079, 313.85026454679246}, {22, 31}} + Class + ShapedGraphic + ID + 57 + Layer + 1 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + + + Bounds + {{180.39770921762241, 287.85026454679246}, {22, 57}} + Class + ShapedGraphic + ID + 56 + Layer + 1 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + + + Bounds + {{185.14773517552774, 563.52904193487211}, {234.25, 18}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 55 + Layer + 1 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 : task +\f1 \'82\'cc\'8e\'9e\'8a\'d4\'8f\'c1\'94\'ef\'97\'ca(\'92\'b7\'82\'a2\'82\'d9\'82\'c7\'8e\'9e\'8a\'d4\'82\'aa\'82\'a9\'82\'a9\'82\'e9)} + VerticalPad + 0 + + + + Bounds + {{158.39773517552783, 547.52904193487211}, {22, 50}} + Class + ShapedGraphic + ID + 54 + Layer + 1 + Shape + Rectangle + Style + + stroke + + Width + 2 + + + + + Bounds + {{375.39772543008564, 397.85026454679235}, {22, 111}} + Class + ShapedGraphic + ID + 53 + Layer + 1 + Shape + Rectangle + Style + + stroke + + Width + 2 + + + + + Bounds + {{277.89771780069111, 397.85026454679235}, {22, 71}} + Class + ShapedGraphic + ID + 52 + Layer + 1 + Shape + Rectangle + Style + + stroke + + Width + 2 + + + + + Bounds + {{180.39771589334262, 397.85026454679235}, {22, 85}} + Class + ShapedGraphic + ID + 51 + Layer + 1 + Shape + Rectangle + Style + + stroke + + Width + 2 + + + + + Class + LineGraphic + ID + 50 + Layer + 1 + Points + + {310.64771923120259, 397.85026454679235} + {364.64771923120259, 397.85026454679235} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + + + Class + LineGraphic + ID + 49 + Layer + 1 + Points + + {213.14771684701688, 397.85026454679235} + {267.14771684701685, 397.85026454679235} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + + + Class + LineGraphic + ID + 48 + Layer + 1 + Points + + {91.133918242556391, 380.34701430737903} + {90.647716847017108, 397.85026454679235} + {171.14771684701694, 397.85026454679235} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + Tail + + ID + 47 + + + + Bounds + {{64.647716847017165, 343.85026454679235}, {54, 36}} + Class + ShapedGraphic + ID + 47 + Layer + 1 + Shape + Circle + Style + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 run16} + VerticalPad + 0 + + + + AllowConnections + NO + AllowToConnect + + Class + LineGraphic + ID + 38 + Layer + 1 + Points + + {86.147716847017108, 343.85026454679235} + {473.37499342716364, 343.85026454679235} + + Style + + stroke + + HeadArrow + 0 + Legacy + + TailArrow + 0 + + + + + Bounds + {{375.39772543008564, 228.85026454679246}, {22, 85}} + Class + ShapedGraphic + ID + 46 + Layer + 1 + Shape + Rectangle + Style + + stroke + + Width + 2 + + + + + Bounds + {{277.89771780069111, 228.85026454679246}, {22, 116}} + Class + ShapedGraphic + ID + 45 + Layer + 1 + Shape + Rectangle + Style + + stroke + + Width + 2 + + + + + Bounds + {{180.39771589334262, 228.85026454679246}, {22, 59}} + Class + ShapedGraphic + ID + 44 + Layer + 1 + Shape + Rectangle + Style + + stroke + + Width + 2 + + + + + Class + LineGraphic + ID + 43 + Layer + 1 + Points + + {310.64771923120259, 228.85026454679246} + {364.64771923120259, 228.85026454679246} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + + + Class + LineGraphic + ID + 31 + Layer + 1 + Points + + {213.14771684701688, 228.85026454679246} + {267.14771684701685, 228.85026454679246} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + + + Bounds + {{298.6477351755276, 132.85025813855003}, {78, 14}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 42 + Layer + 1 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 SPE} + VerticalPad + 0 + + + + Class + LineGraphic + ID + 36 + Layer + 1 + Points + + {91.133918242556391, 211.34701430737908} + {90.647716847017108, 228.85026454679246} + {171.14771684701694, 228.85026454679246} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + Tail + + ID + 28 + + + + Bounds + {{52.147716847017151, 132.85026454679235}, {78, 14}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 40 + Layer + 1 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 PPE} + VerticalPad + 0 + + + + Bounds + {{64.647716847017165, 174.8502645467924}, {54, 36}} + Class + ShapedGraphic + ID + 28 + Layer + 1 + Shape + Circle + Style + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 run16} + VerticalPad + 0 + + + + Bounds + {{52.147716847017151, 154.8502645467924}, {79, 368}} + Class + ShapedGraphic + ID + 1 + Layer + 1 + Shape + Rectangle + + + Bounds + {{136.39771780510648, 154.8502645467924}, {370.45455932617188, 368}} + Class + ShapedGraphic + ID + 41 + Layer + 1 + Shape + Rectangle + + + GridInfo + + HPages + 1 + KeepToScale + + Layers + + + Lock + NO + Name + レイヤー 2 + Print + YES + View + YES + + + Lock + NO + Name + レイヤー 1 + Print + YES + View + YES + + + LayoutInfo + + Animate + NO + circoMinDist + 18 + circoSeparation + 0.0 + layoutEngine + dot + neatoSeparation + 0.0 + twopiSeparation + 0.0 + + Orientation + 2 + PrintOnePage + + RowAlign + 1 + RowSpacing + 36 + SheetTitle + キャンバス 1 + UniqueID + 1 + VPages + 1 + + + ActiveLayerIndex + 0 + AutoAdjust + + BackgroundGraphic + + Bounds + {{0, 0}, {559.00000476837158, 783}} + Class + SolidGraphic + ID + 2 + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + + BaseZoom + 0 + CanvasOrigin + {0, 0} + ColumnAlign + 1 + ColumnSpacing + 36 + DisplayScale + 1 0/72 in = 1.0000 in + GraphicsList + + + Bounds + {{323.58800241769859, 81.818180044820522}, {59.511379241943359, 14}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 88 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 N/2} + VerticalPad + 0 + + + + Class + LineGraphic + ID + 87 + Points + + {352.84371681843936, 105.44920980437733} + {352.84371681843936, 554.79643568546487} + + Style + + stroke + + HeadArrow + 0 + Legacy + + Pattern + 2 + TailArrow + 0 + + + + + Bounds + {{296.82354621650802, 457.44251462841873}, {59.511379241943359, 18}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 86 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} + VerticalPad + 0 + + + + Bounds + {{296.82355172575052, 285.11763241665454}, {59.511379241943359, 18}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 85 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} + VerticalPad + 0 + + + + Bounds + {{298.24144820536503, 398.7673908068133}, {59.511379241943359, 18}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 84 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} + VerticalPad + 0 + + + + Bounds + {{296.82355723499296, 175.44920828716823}, {59.511379241943359, 18}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 83 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} + VerticalPad + 0 + + + + Bounds + {{311.25430644417895, 125.63359133665227}, {19, 24}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Color + + b + 0 + g + 0 + r + 0 + + Font + Helvetica + Size + 12 + + ID + 16 + Line + + ID + 12 + Offset + 5.6338024139404297 + Position + 0.49182999134063721 + RotationType + 2 + + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Align + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720 + +\f0\fs24 \cf0 N} + + Wrap + NO + + + Class + LineGraphic + ID + 12 + Points + + {149.48008882900899, 143.2673937505927} + {497.71874981084187, 143.2673937505927} + + Style + + stroke + + HeadArrow + DimensionArrow + HeadScale + 1.5000001192092896 + Legacy + + TailArrow + DimensionArrow + TailScale + 1.5000001192092896 + + + + + AllowConnections + NO + AllowToConnect + + Class + LineGraphic + ID + 82 + Points + + {153.8778240136084, 516.11764910595514} + {502.11646301367108, 516.11764910595514} + + Style + + stroke + + HeadArrow + 0 + Legacy + + TailArrow + 0 + + + + + AllowConnections + NO + AllowToConnect + + Class + LineGraphic + ID + 38 + Points + + {153.8778240136084, 351.11764399473344} + {503.10512424771485, 351.11764399473344} + + Style + + stroke + + HeadArrow + 0 + Legacy + + TailArrow + 0 + + + + + Bounds + {{461.36081580879494, 161.81284770098617}, {59.511379241943359, 36}} + Class + ShapedGraphic + ID + 81 + Shape + Circle + Style + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 spawn} + VerticalPad + 0 + + + + Bounds + {{363.86076520494328, 161.81284494636489}, {59.511379241943359, 36}} + Class + ShapedGraphic + ID + 80 + Shape + Circle + Style + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 spawn} + VerticalPad + 0 + + + + Bounds + {{232.62209618781247, 161.81284494636489}, {59.511379241943359, 36}} + Class + ShapedGraphic + ID + 79 + Shape + Circle + Style + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 spawn} + VerticalPad + 0 + + + + Bounds + {{135.12210937373897, 161.81284494636481}, {59.511379241943359, 36}} + Class + ShapedGraphic + ID + 78 + Shape + Circle + Style + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 spawn} + VerticalPad + 0 + + + + Class + LineGraphic + ControlPoints + + {-242.57527737123425, 42.263052871851983} + {47.779516050578962, -157.45229985397722} + + Head + + ID + 47 + + ID + 37 + Points + + {371.63893937465423, 192.47827332931541} + {85.988035236556158, 357.09611090561015} + + Style + + stroke + + Bezier + + HeadArrow + 0 + Legacy + + LineType + 1 + Pattern + 1 + TailArrow + Arrow + + + Tail + + ID + 80 + + + + Bounds + {{480.11647596063602, 490.11762730492507}, {22, 26.00001335144043}} + Class + ShapedGraphic + ID + 77 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + + + Bounds + {{480.11647119288358, 405.11763803511735}, {22, 85.000022888183594}} + Class + ShapedGraphic + ID + 76 + Shape + Rectangle + Style + + stroke + + Width + 2 + + + + + Class + LineGraphic + ID + 75 + Points + + {415.36646499400052, 405.11763803511735} + {469.36646499400052, 405.11763803511735} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + + + Class + LineGraphic + ID + 67 + Points + + {415.36647836056534, 235.11764399473336} + {469.36647836056534, 235.11764399473336} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + + + Bounds + {{480.11648109640811, 320.11763803511758}, {22, 31}} + Class + ShapedGraphic + ID + 71 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + + + Bounds + {{480.11649074541475, 235.11763803511732}, {22, 85}} + Class + ShapedGraphic + ID + 70 + Shape + Rectangle + Style + + stroke + + Width + 2 + + + + + Bounds + {{160.37782433112187, 623.41712883328603}, {95.870697021484375, 18}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 62 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 : +\f1 \'83\'49\'81\'5b\'83\'6f\'81\'5b\'83\'77\'83\'62\'83\'68} + VerticalPad + 0 + + + + Bounds + {{131.8778240136084, 607.41710828562975}, {22, 50.000007629394531}} + Class + ShapedGraphic + ID + 61 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + + + Bounds + {{153.87780979916471, 490.1176442315404}, {22, 26.00001335144043}} + Class + ShapedGraphic + ID + 60 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + + + Bounds + {{251.3778101711091, 476.11765829738516}, {22, 40}} + Class + ShapedGraphic + ID + 59 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + + + Bounds + {{382.61647218882484, 321.11765829738528}, {22, 31}} + Class + ShapedGraphic + ID + 57 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + + + Bounds + {{153.87779804663143, 295.11765829738528}, {22, 57}} + Class + ShapedGraphic + ID + 56 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + + + Bounds + {{158.62782400453676, 570.79643568546487}, {234.25, 18}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 55 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 : task +\f1 \'82\'cc\'8e\'9e\'8a\'d4\'8f\'c1\'94\'ef\'97\'ca(\'92\'b7\'82\'a2\'82\'d9\'82\'c7\'8e\'9e\'8a\'d4\'82\'aa\'82\'a9\'82\'a9\'82\'e9)} + VerticalPad + 0 + + + + Bounds + {{131.87782400453688, 554.79643568546487}, {22, 50}} + Class + ShapedGraphic + ID + 54 + Shape + Rectangle + Style + + stroke + + Width + 2 + + + + + Bounds + {{382.61648183783149, 405.11765829738516}, {22, 111}} + Class + ShapedGraphic + ID + 53 + Shape + Rectangle + Style + + stroke + + Width + 2 + + + + + Bounds + {{251.37780662970022, 405.11765829738516}, {22, 71}} + Class + ShapedGraphic + ID + 52 + Shape + Rectangle + Style + + stroke + + Width + 2 + + + + + Bounds + {{153.87780472235164, 405.11765829738516}, {22, 85}} + Class + ShapedGraphic + ID + 51 + Shape + Rectangle + Style + + stroke + + Width + 2 + + + + + Class + LineGraphic + ID + 49 + Points + + {186.6278056760259, 405.11765829738516} + {240.6278056760259, 405.11765829738516} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + + + Class + LineGraphic + ID + 48 + Points + + {64.614007071565368, 387.61440805797184} + {64.127805676026057, 405.11765829738516} + {144.62780567602596, 405.11765829738516} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + Tail + + ID + 47 + + + + Bounds + {{38.127805676026171, 351.11765829738516}, {54, 36}} + Class + ShapedGraphic + ID + 47 + Shape + Circle + Style + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 run16} + VerticalPad + 0 + + + + Bounds + {{382.61648183783149, 236.11765829738516}, {22, 85}} + Class + ShapedGraphic + ID + 46 + Shape + Rectangle + Style + + stroke + + Width + 2 + + + + + Bounds + {{251.37780662970022, 236.11765829738516}, {22, 116}} + Class + ShapedGraphic + ID + 45 + Shape + Rectangle + Style + + stroke + + Width + 2 + + + + + Bounds + {{153.87780472235164, 236.11765829738516}, {22, 59}} + Class + ShapedGraphic + ID + 44 + Shape + Rectangle + Style + + stroke + + Width + 2 + + + + + Class + LineGraphic + ID + 31 + Points + + {186.6278056760259, 236.11765829738516} + {240.6278056760259, 236.11765829738516} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + + + Class + LineGraphic + ID + 36 + Points + + {64.799264137616888, 198.31152705493309} + {64.127805676026057, 236.11765829738516} + {144.62780567602596, 236.11765829738516} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + Tail + + ID + 28 + + + + Bounds + {{38.127811185268726, 161.81285064624362}, {54, 36}} + Class + ShapedGraphic + ID + 28 + Shape + Circle + Style + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 run16} + VerticalPad + 0 + + + + GridInfo + + HPages + 1 + KeepToScale + + Layers + + + Lock + NO + Name + レイヤー 1 + Print + YES + View + YES + + + LayoutInfo + + Animate + NO + circoMinDist + 18 + circoSeparation + 0.0 + layoutEngine + dot + neatoSeparation + 0.0 + twopiSeparation + 0.0 + + Orientation + 2 + PrintOnePage + + RowAlign + 1 + RowSpacing + 36 + SheetTitle + キャンバス 3 + UniqueID + 3 + VPages + 1 + + + ActiveLayerIndex + 0 + AutoAdjust + + BackgroundGraphic + + Bounds + {{0, 0}, {559.00000476837158, 783}} + Class + SolidGraphic + ID + 2 + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + + BaseZoom + 0 + CanvasOrigin + {0, 0} + ColumnAlign + 1 + ColumnSpacing + 36 + DisplayScale + 1 0/72 in = 1.0000 in + GraphicsList + + + Bounds + {{414.58902482519841, 305.6818113673861}, {81.463137313527341, 14}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 96 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 DS \'d7 task num} + VerticalPad + 0 + + + + Bounds + {{414.58899663372097, 265.93180642115408}, {102.62709463610148, 28}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 95 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Align + 0 + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural + +\f0\fs24 \cf0 [src]\ +DS;} + VerticalPad + 0 + + + + Bounds + {{414.58901288490773, 226.1818059177501}, {102.62709463610148, 28}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 94 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Align + 0 + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural + +\f0\fs24 \cf0 [reduce]\ +task num;} + VerticalPad + 0 + + + + Bounds + {{414.58901288490773, 158.4318153856}, {102.62709463610148, 56}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 93 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Align + 0 + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural + +\f0\fs24 \cf0 [map]\ +task num;\ +inData = fileblocks;\ +outData = DS;} + VerticalPad + 0 + + + + Bounds + {{381.25165140818797, 132.6818248926082}, {169.30184092209089, 14}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 91 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 MapReduce(map,reduce,src)} + VerticalPad + 0 + + + + Bounds + {{342.58065570033455, 195.37814151235972}, {54, 27.310923056518021}} + Class + ShapedGraphic + FontInfo + + Color + + b + 1 + g + 1 + r + 1 + + + ID + 86 + Shape + Rectangle + Style + + fill + + Color + + b + 1 + g + 0 + r + 0 + + + stroke + + CornerRadius + 9 + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf1 reduce} + + + + Bounds + {{209.03226449511959, 278.9032211541882}, {35.433071398293073, 27.310923056518021}} + Class + ShapedGraphic + FontInfo + + Color + + b + 1 + g + 1 + r + 1 + + + ID + 4 + Shape + Rectangle + Style + + fill + + Color + + b + 1 + g + 0 + r + 0 + + + stroke + + CornerRadius + 9 + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf1 map} + + + + Bounds + {{54.14710661128008, 325.61288051677286}, {176.17548225077354, 14}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 84 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 DS : Data Segment} + VerticalPad + 0 + + + + Bounds + {{283.39545283481317, 106.86363399438146}, {81.463137313527341, 14}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 83 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 wait for DS} + VerticalPad + 0 + + + + Bounds + {{198.03687250105602, 55.451617495946792}, {81.463137313527341, 14}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 82 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 spawn DS} + VerticalPad + 0 + + + + Bounds + {{119.4133808163774, 48.451620044370891}, {81.463137313527341, 28}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 81 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 wait for\ +file read} + VerticalPad + 0 + + + + Bounds + {{163.22580748570621, 308.91351748596207}, {67.096776257692653, 14}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 80 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 NDRange} + VerticalPad + 0 + + + + Bounds + {{71.363640391243678, 308.91351625938393}, {67.096776257692653, 14}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 77 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Cerium} + VerticalPad + 0 + + + + AllowToConnect + + Class + LineGraphic + ID + 74 + Points + + {296.01295270085507, 242.85713117949874} + {334.45376543058995, 200.40907670886017} + + Style + + stroke + + HeadArrow + 0 + Legacy + + LineType + 1 + TailArrow + Arrow + + + + + AllowToConnect + + Class + LineGraphic + ID + 73 + Points + + {296.012939453125, 222.68906492237772} + {322.26889318336015, 195.3781418658597} + + Style + + stroke + + HeadArrow + 0 + Legacy + + LineType + 1 + TailArrow + Arrow + + + + + AllowToConnect + + Class + LineGraphic + ID + 72 + Points + + {296.012939453125, 149.57982474031505} + {322.26889206691266, 177.53436986178286} + + Style + + stroke + + HeadArrow + 0 + Legacy + + LineType + 1 + TailArrow + Arrow + + + + + AllowToConnect + + Class + LineGraphic + Head + + ID + 62 + + ID + 70 + Points + + {296.01295270085507, 132.35293481235658} + {332.65362554451821, 173.3691125906266} + + Style + + stroke + + HeadArrow + 0 + Legacy + + LineType + 1 + TailArrow + Arrow + + + + + Class + LineGraphic + Head + + ID + 52 + + ID + 69 + Points + + {241.53854534919614, 250.31756993685434} + {217.66214843123544, 258.26610870088587} + + Style + + stroke + + HeadArrow + 0 + Legacy + + LineType + 1 + TailArrow + FilledArrow + + + Tail + + ID + 60 + + + + Class + LineGraphic + Head + + ID + 51 + + ID + 68 + Points + + {241.51381074056448, 223.48834995274356} + {221.8007707746707, 224.64471774846484} + + Style + + stroke + + HeadArrow + 0 + Legacy + + LineType + 1 + TailArrow + FilledArrow + + + Tail + + ID + 59 + + + + Class + LineGraphic + Head + + ID + 50 + + ID + 67 + Points + + {241.5137715122259, 149.39141919916131} + {221.79501650826194, 148.24631021303301} + + Style + + stroke + + HeadArrow + 0 + Legacy + + LineType + 1 + TailArrow + FilledArrow + + + Tail + + ID + 55 + + + + Class + LineGraphic + Head + + ID + 28 + + ID + 66 + Points + + {241.53889079096032, 122.47707073995667} + {217.77328175917563, 114.50565797847987} + + Style + + stroke + + HeadArrow + 0 + Legacy + + LineType + 1 + TailArrow + FilledArrow + + + Tail + + ID + 54 + + + + Class + LineGraphic + Head + + ID + 52 + + ID + 65 + Points + + {135.78309208237317, 251.66514129682133} + {145.95500647600446, 242.49157754072635} + {166.50476087425747, 242.49157754072635} + {179.91179328770497, 253.75381661030801} + + Style + + stroke + + HeadArrow + 0 + Legacy + + LineType + 1 + TailArrow + Arrow + + + Tail + + ID + 47 + + + + Class + LineGraphic + Head + + ID + 51 + + ID + 64 + Points + + {134.20527519555171, 211.87321771059982} + {145.95500133828281, 200.09108506843228} + {166.50475573653577, 200.09108506843228} + {181.00556029920915, 213.63502338302834} + + Style + + stroke + + HeadArrow + 0 + Legacy + + LineType + 1 + TailArrow + Arrow + + + Tail + + ID + 46 + + + + Class + LineGraphic + ID + 63 + Points + + {134.41942429256443, 132.7240106271729} + {145.95501051682885, 122.04436660559479} + {166.50476491508184, 122.04436660559479} + {179.95714873375871, 134.49858041352468} + + Style + + stroke + + HeadArrow + 0 + Legacy + + LineType + 1 + TailArrow + Arrow + + + + + Class + LineGraphic + Head + + ID + 28 + + ID + 35 + Points + + {135.3778009979263, 92.569409030966554} + {146.91338722219072, 81.889765009388427} + {167.46314162044371, 81.889765009388427} + {180.91552543912059, 94.343978817318302} + + Style + + stroke + + HeadArrow + 0 + Legacy + + LineType + 1 + TailArrow + Arrow + + + Tail + + ID + 1 + + + + Bounds + {{317.32283941138019, 172.45455153311121}, {54, 27.954545768578228}} + Class + ShapedGraphic + ID + 62 + Shape + Circle + Style + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 print} + VerticalPad + 0 + + + + Bounds + {{242.01294811158195, 231.52324417680984}, {54, 19.295995712280273}} + Class + ShapedGraphic + ID + 60 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 DS} + + + + Bounds + {{242.01295270085504, 212.22725121374293}, {54, 19.295995712280273}} + Class + ShapedGraphic + ID + 59 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 DS} + + + + Class + LineGraphic + ID + 58 + Points + + {268.51289604331606, 172.4545309402823} + {268.51289604331606, 200.40907670886017} + + Style + + stroke + + HeadArrow + 0 + Legacy + + Pattern + 2 + TailArrow + 0 + + + + + Bounds + {{242.01293055815637, 141.34035452303868}, {54, 19.295995712280273}} + Class + ShapedGraphic + ID + 55 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 DS} + + + + Bounds + {{242.01293514742946, 122.04436155997175}, {54, 19.295995712280273}} + Class + ShapedGraphic + ID + 54 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 DS} + + + + Bounds + {{167.4631286562911, 252.00002560097147}, {54, 27.954545768578228}} + Class + ShapedGraphic + ID + 52 + Shape + Circle + Style + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 task} + VerticalPad + 0 + + + + Bounds + {{167.4631286562911, 212.22729275448108}, {54, 27.954545768578228}} + Class + ShapedGraphic + ID + 51 + Shape + Circle + Style + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 task} + VerticalPad + 0 + + + + Bounds + {{167.46314162044368, 132.68181868661952}, {54, 27.954545768578228}} + Class + ShapedGraphic + ID + 50 + Shape + Circle + Style + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 task} + VerticalPad + 0 + + + + Bounds + {{167.46314162044371, 92.909085840129094}, {54, 27.954545768578228}} + Class + ShapedGraphic + ID + 28 + Shape + Circle + Style + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 task} + VerticalPad + 0 + + + + Class + LineGraphic + ID + 48 + Points + + {119.41338245035273, 172.45454849370856} + {119.41338245035273, 200.40909426228643} + + Style + + stroke + + HeadArrow + 0 + Legacy + + Pattern + 2 + TailArrow + 0 + + + + + Bounds + {{92.913380338281044, 252.00000345826436}, {54, 27.954545768578228}} + Class + ShapedGraphic + ID + 47 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 file read} + + + + Bounds + {{92.913380338281044, 212.22725764762677}, {54, 27.954545768578228}} + Class + ShapedGraphic + ID + 46 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 file read} + + + + Bounds + {{92.913380338281016, 132.6818140973464}, {54, 27.954545768578228}} + Class + ShapedGraphic + ID + 45 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 file read} + + + + Bounds + {{92.913387222190721, 92.909088134765625}, {54, 27.954545768578228}} + Class + ShapedGraphic + ID + 1 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 file read} + + + + Bounds + {{54.147105803351636, 278.90323859126994}, {35.433071398293073, 14}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 44 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 FILE} + VerticalPad + 0 + + + + Class + LineGraphic + ID + 43 + Points + + {71.363636154281096, 251.99999188613256} + {71.363636154281096, 279.95453765471046} + + Style + + stroke + + HeadArrow + NegativeControls + Legacy + + TailArrow + NegativeControls + + + + + Class + LineGraphic + ID + 42 + Points + + {71.363636154281096, 212.22726337599352} + {71.363636154281096, 240.18180914457139} + + Style + + stroke + + HeadArrow + NegativeControls + Legacy + + TailArrow + NegativeControls + + + + + Class + LineGraphic + ID + 40 + Points + + {71.363636154281167, 172.45453970245089} + {71.363636154281167, 200.40908547102876} + + Style + + stroke + + HeadArrow + 0 + Legacy + + Pattern + 2 + TailArrow + 0 + + + + + Class + LineGraphic + ID + 39 + Points + + {71.363640990877897, 132.68181888993095} + {71.363640990877897, 160.63636465850922} + + Style + + stroke + + HeadArrow + NegativeControls + Legacy + + TailArrow + NegativeControls + + + + + Class + LineGraphic + ID + 38 + Points + + {71.363636154281224, 92.909091401691242} + {71.363636154281224, 120.86363717026947} + + Style + + stroke + + HeadArrow + NegativeControls + Legacy + + TailArrow + NegativeControls + + + + + Bounds + {{54.14710580335165, 85.806451759775086}, {102.62709463610148, 207.09678649902344}} + Class + ShapedGraphic + ID + 75 + Shape + Rectangle + + + Bounds + {{163.22581147304078, 85.806455546685811}, {67.096776257692653, 207.09678649902344}} + Class + ShapedGraphic + ID + 78 + Shape + Rectangle + + + GridInfo + + HPages + 1 + KeepToScale + + Layers + + + Lock + NO + Name + レイヤー 1 + Print + YES + View + YES + + + LayoutInfo + + Animate + NO + circoMinDist + 18 + circoSeparation + 0.0 + layoutEngine + dot + neatoSeparation + 0.0 + twopiSeparation + 0.0 + + Orientation + 2 + PrintOnePage + + RowAlign + 1 + RowSpacing + 36 + SheetTitle + キャンバス 2 + UniqueID + 2 + VPages + 1 + + + SmartAlignmentGuidesActive + YES + SmartDistanceGuidesActive + YES + UseEntirePage + + WindowInfo + + CurrentSheet + 2 + ExpandedCanvases + + + name + キャンバス 1 + + + Frame + {{115, 0}, {751, 878}} + ListView + + OutlineWidth + 142 + RightSidebar + + Sidebar + + SidebarWidth + 120 + VisibleRegion + {{28.571427197588086, 0.84033609404670839}, {530.25207534347305, 658.82349773261933}} + Zoom + 1.190000057220459 + ZoomValues + + + キャンバス 1 + 0.75999999046325684 + 0.77999997138977051 + + + キャンバス 2 + 1.190000057220459 + 1.4600000381469727 + + + キャンバス 3 + 1.1000000238418579 + 1.1599999666213989 + + + + + diff -r 43c6da29d688 -r d8f499590d82 13/July-2013/000.png Binary file 13/July-2013/000.png has changed diff -r 43c6da29d688 -r d8f499590d82 13/July-2013/001.PNG Binary file 13/July-2013/001.PNG has changed diff -r 43c6da29d688 -r d8f499590d82 13/July-2013/002.PNG Binary file 13/July-2013/002.PNG has changed diff -r 43c6da29d688 -r d8f499590d82 13/July-2013/003.PNG Binary file 13/July-2013/003.PNG has changed diff -r 43c6da29d688 -r d8f499590d82 13/July-2013/004.PNG Binary file 13/July-2013/004.PNG has changed diff -r 43c6da29d688 -r d8f499590d82 13/July-2013/005.PNG Binary file 13/July-2013/005.PNG has changed diff -r 43c6da29d688 -r d8f499590d82 13/July-2013/006.PNG Binary file 13/July-2013/006.PNG has changed diff -r 43c6da29d688 -r d8f499590d82 13/July-2013/15th.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/13/July-2013/15th.html Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,105 @@ + + + + + + + 2013-07-15 + + + + + + + + + +
    + + + +
    +

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

    +

    + Masataka Kohagura +
    + 16th July , 2013 +

    +
    + +
    +

    + 研究目的 +

    +

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

    +

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

    +

    + 現在、PCでの音楽制作環境においてマルチコア化の問題を抱えていることが多く、マルチコア化に対応したと謳ってる音源、DAW(音楽生成ソフト)も実際はシングルコアでしか動いていないことが多い。 + そして、PCによる音楽制作過程の中でマルチコアを活かせるようなソフトウェアを作成したい。 +

    +
    + +
    +

    + 考えている内容(並列かどうか疑問なものも含める) +

    +

    + ・ コード進行自動生成ツール + (進化計算?) +

    +

    + ・ソフトウェア・シンセサイザーのマルチコアによる音源生成 + (音声解析?) +

    +

    +

    +

    +

    +
    + +
    +

    現在

    +
    +

    + ・結果表示を、ポジションからマッチ数に変更。
    + (正確なマッチ数を表示させるためと、文字列サーチの時間を計測したいため) +

    + ・時間測定時をしようとした際にWikipediaのファイルのような大きなファイルを読み込むとデッドロックが起きる +

    +

    + ・set_inDataが上手くいかない
    + (Perlでソースを生成させる際に検索ワードを埋め込む方向にしようか検討中) +

    +
    + +
    + + + diff -r 43c6da29d688 -r d8f499590d82 13/July-2013/23rd.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/13/July-2013/23rd.html Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,115 @@ + + + + + + + 2013-07-23 + + + + + + + + + +
    + + + +
    +

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

    +

    + Masataka Kohagura +
    + 23th July , 2013 +

    +
    + +
    +

    + 研究目的 +

    +

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

    +

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

    +

    +現在、PCでの音楽制作環境においてマルチコア化の問題を抱えていることが多く、マルチコア化に対応したと謳ってる音源、DAW(音楽生成ソフト)も実際はシングルコアでしか動いていないことが多い。 + 現在の例題を通して、マルチコアプログラミングに慣れ、そして、PCによる音楽制作過程の中でマルチコアを活かせるようなソフトウェアを作成したい。 +

    +
    + +
    +

    今週したこと

    +
    +

    + bug fix
    + CPU_num > task_numになるとき結果が正しく返ってこなかったのを修正 +

    +

    + CPU数の指定で結果が違うところを修正中(継続中) +

    +
    + +
    +

    現在の状況

    +
    +

    + 本来、wikipediaのテキストファイルにある"doing"の文字列数を調べると 27856 個であった。
    + しかし、CPU数を1~8で実行したところ24000個しかカウントしきれていない。 +

    +

    + CPU数をありもしない個数(120)に設定したところ、27854個とカウントされた。
    +

    +

    + CPU数を1~8個で設定すると、周期的に正しい結果が返ってこない。 +

    + +
    + +
    +

    現在の状況

    +
    +

    + 本来、wikipediaのテキストファイルにある"doing"の文字列数を調べると 27856 個であった。
    + しかし、CPU数を1~8で実行したところ24000個しかカウントしきれていない。 +

    +

    + CPU数をありもしない個数(120)に設定したところ、27854個とカウントされた。
    +

    +

    + 1taskの結果が周期的に正しい結果が返ってこない。 +

    + +
    + + + + diff -r 43c6da29d688 -r d8f499590d82 13/July-2013/GJ.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/13/July-2013/GJ.html Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,64 @@ + + + + + + + Game Jam + + + + + + + + + +
    + + + +
    +

    + PCエンジン古波倉FIXed +
    +

    +

    +
    + 28th July , 2013 +

    +
    + +
    +
    HTML 文書の要素階層
    +
    + +
    +

    +
    + +
    +

    現在の状況

    + +
    + + + diff -r 43c6da29d688 -r d8f499590d82 13/June-2013/11th.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/13/June-2013/11th.html Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,150 @@ + + + + + + + 2013-06-11 + + + + + + + + + +
    + + + +
    +

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

    +

    + Masataka Kohagura +
    + 11th June , 2013 +

    +
    + +
    +

    + 研究目的 +

    +

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

    +

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

    +
    + +
    +

    + 今週したこと +

    +

    + ・word_countのソース読み
    + (タスクが複数読み込まれた場合どうなるかを重点に) +

    +

    + ・検索文字列中に割れたときの処理が正しく動くようにした。 + (ただし、タスクが複数存在するときのCPU数の問題は未解決) +

    +

    + ・出力結果にpositionの追加 +

    +

    + ・Ceriumのバージョンを過去のものに戻して動作することを確認 +

    +
    + +
    +

    実行結果

    +
    +[Masa]~%  ./regex -file d.txt -cpu 2
    +in Exec.cc
    +in Exec.cc
    +task num : 2
    +2595 a
    +16370 a
    +16384 a
    +0
    +      
    +
    + + + diff -r 43c6da29d688 -r d8f499590d82 13/June-2013/18th.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/13/June-2013/18th.html Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,190 @@ + + + + + + + 2013-06-18 + + + + + + + + + +
    + + + +
    +

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

    +

    + Masataka Kohagura +
    + 18th June , 2013 +

    +
    + +
    +

    + 研究目的 +

    +

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

    +

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

    +
    + +
    +

    + 今週までにしたこと +

    +

    + ・word_countのソース読み
    + (タスクが複数読み込まれた場合どうなるかを重点に) +

    +

    + ・検索文字列中に割れたときの処理が正しく動くようにした。 + (ただし、タスクが複数存在するときのCPU数の問題は未解決) +

    +

    + ・出力結果にpositionの追加 +

    +

    + ・Ceriumのバージョンを過去のものに戻して動作することを確認 +

    +
    + +
    +

    実行結果

    +
    +[Masa]~%  ./regex -file d.txt -cpu 2 
    +in Exec.cc
    +in Exec.cc
    +task num : 2
    +position
    +2 a
    +192 a
    +388 a
    +390 a
    +16389 a
    +      
    +

    + 出力結果の数字はマッチしたキーワードの先頭ポジション、アルファベットはマッチした先頭の文字を出力させている。
    +

    +

    + out_dataを1つのタスク当たり256個(position 128個、先頭文字128個)出力している。(固定) +

    +
    + +
    +

    + Print.cc +

    +
    +
    +static int 
    +run_print(SchedTask *s, void *rbuf, void *wbuf)
    +{
    +    WordCount *w = *(WordCount**)rbuf;
    +    unsigned long long *idata = w->o_data;
    +    unsigned int idata_task_num = w->out_size * w->out_task_num;
    + 
    +    s->printf("task num : %d\n",w->task_spwaned);
    +
    +    s->printf("position\n");
    +    for (int i = 0;i < idata_task_num ;i++) {
    +                                        
    +        if(idata[2*i] == 0x61){
    +            s->printf("%d ",(int)idata[2*i+1]);
    +            s->printf("%c\n",(unsigned char)idata[2*i]);
    +        }   
    +    return 0;
    +}
    +        
    +
    + +
    +

    + Exec.cc 一部 +

    +
    +
    +int BM_method(unsigned char *text,int *offset,int text_length,
    +              unsigned char *pattern,unsigned long long *match_string)
    +{
    +
    +    while ( i < text_len){
    +        int j = pattern_len - 1;
    +        while (text[i] == pattern[j]){
    +            if (j == 0){ 
    +                match_string[2*k] = text[i];
    +                int position = (long int)offset + i + 1;  
    +                match_string[2*k+1] = position;
    +
    +                k++;
    +            }   
    +            --i;
    +            --j;
    +        }   
    +        i = i + max((int)skip[(int)text[i]],pattern_len - j); 
    +    }   
    +    return 0;
    +}
    +      
    +
    +
    + +
    +

    + Exec.cc 一部 +

    +
    +
    +static int 
    +run(SchedTask *s, void *rbuf, void *wbuf)
    +{
    +    unsigned char *i_data = (unsigned char *)rbuf;
    +    unsigned long long *o_data = (unsigned long long*)wbuf;
    +    int length = (int)s->get_inputSize(0);
    +    int *offset = (int*)s->get_param(1);
    +    unsigned char search_word[] = "aba";
    +
    +    BM_method(i_data,offset,length,search_word,o_data);
    +    s->printf("in Exec.cc\n");
    +
    +
    +    return 0;
    +}
    +      
    +
    +
    + + diff -r 43c6da29d688 -r d8f499590d82 13/June-2013/4th.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/13/June-2013/4th.html Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,131 @@ + + + + + + + 2013-06-04 + + + + + + + + + +
    + + + +
    +

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

    +

    + Masataka Kohagura +
    + 4th June , 2013 +

    +
    + +
    +

    + 研究目的 +

    +

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

    +

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

    +
    + +
    +

    + 今週したこと +

    +

    + word_countのソース読み
    + (タスクが複数読み込まれた場合どうなるかを重点に) +

    +

    + 検索文字列中に割れたときの処理が正しく動くようにした。 + (ただし、タスクが複数存在するときの問題は未解決) +

    + +
    + + +
    +

    + 現在の問題点 +

    +

    + taskが複数生成されるとき、cpuの指定した個数によっては正しい結果が返ってこない。(word_countも同様) +

    +
    + + + diff -r 43c6da29d688 -r d8f499590d82 13/May-2013/14th.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/13/May-2013/14th.html Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,111 @@ + + + + + + + 2013-05-14 + + + + + + + + + +
    + + + +
    +

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

    +

    + Masataka Kohagura +
    + 14th May , 2013 +

    +
    + +
    +

    + 研究目的 +

    +

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

    +

    + 現在は正規表現を実装している段階であるが、「動的なコード生成を用いた正規表現マッチャの実装」で示されたオートマトンを並列実装する。これを実装することによって、Ceriumがオートマトンで表される問題に対して並列実装できることを証明する。 +

    +
    + +
    +

    + word_countのi_data o_data +

    +
    + word_count +
    +

    + o_dataは1つのタスク当たり4つの要素が吐き出される。
    + それらの配列をひとまとめにした配列をPrint.ccが読み込み、word_num、line_numの合計数、フラグ管理で正確にカウントできるようにされている。 +

    +
    + +
    +

    + regexのi_data o_data(予定) +

    +
    + regex +
    +

    + 問題点 +

    +

    + i_dataはword_countと同様にメモリに割り当てられた文字列である。それの先頭に検索したい文字列を入れて、プログラムが検索できるようにしたい。
    + 問題点として、o_dataがそのtask内でマッチしたラインの先頭アドレスを格納したいので、1task当たりのo_dataが可変長となる。 + o_dataのメモリをどう確保するべきなのか。 + 行の途中で分割されてしまった場合、flagをどう持たせたらいいのだろうか。 +

    +
    + +
    +

    + word_count/main.cc run_start() +

    +
    +
    +/* out用のdivision_size. statusが2つなので、あわせて16byteになるように、
    long long(4byte)を使用 */ + +w->division_out_size = sizeof(unsigned long long)*4; +int out_size = w->division_out_size*out_task_num; +w->o_data = (unsigned long long *)manager->allocate(out_size); +w->out_size = 4; +
    +
    + + + diff -r 43c6da29d688 -r d8f499590d82 13/May-2013/21th.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/13/May-2013/21th.html Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,160 @@ + + + + + + + 2013-05-21 + + + + + + + + + +
    + + + +
    +

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

    +

    + Masataka Kohagura +
    + 14th May , 2013 +

    +
    + +
    +

    + 研究目的 +

    +

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

    +

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

    +
    + +
    +

    + ボイヤームーア法とは(1) +

    +

    +

    +
    + BM1 +
    +

    + 検索したい文字列(pattern data)の長さをmとする。 +

    +

    + pattarn dataとtext dataを、pattern dataの末尾から比較を行なっていく。
    比較したtext dataの文字列がpattern dataの要素に含まれていない場合は、pattern dataをm個ずらし、再比較を行う。 +

    +
    + + +
    +

    + ボイヤームーア法とは(2) +

    +

    +

    +
    + BM1 +
    +

    + 比較したtext dataの文字がpattern dataの要素に含まれている場合は、pattern dataの末尾からその要素がどれだけ離れているかで決定される。この図であれば、末尾から2個離れているので、pattern dataを2個ずらし、最比較。 +

    +
    + +
    +

    + BM法をCで実装 +

    +
    +
    +int BM_method(char *text,char *pattern,unsigned long long *match_string){
    +    int skip[256];
    +    int i,j,text_len,pattern_len;
    +    int k = 0;
    +    text_len = strlen(text);
    +    pattern_len = strlen(pattern);
    +
    +    for (i = 0; i < 256; ++i){
    +        skip[i] = pattern_len;
    +    }
    +    for (i = 0; i < pattern_len-1 ; ++i){
    +        skip[(int)pattern[i]] = pattern_len - i - 1;
    +    }
    +
    +    i = pattern_len - 1;
    +    while ( i < text_len){
    +        j = pattern_len - 1;
    +        while (text[i] == pattern[j]){
    +            if (j == 0){
    +                match_string[k] = text[i];
    +                k++;
    +            }
    +            --i,--j;
    +        }
    +        i = i + max((int)skip[(int)text[i]],pattern_len - j);
    +    }
    +    return -1;
    +}
    +        
    +
    + +
    +

    + 分割時の処理について +

    +

    現在実装している処理

    +
    + sid +
    +

    + i_dataを1文字だけ多く取ってきて、abが分割されたときでも結果が返ってきてくれるように設定している。 +

    +
    + +
    +

    + 現在の問題点 +

    +

    + 分割回りで結果が返ってこない。(上手く処理されていない) +

    +

    + taskが2個以上になるとき、cpuの個数を2個以上に設定しないと結果が返ってこない。 +

    +
    + + + diff -r 43c6da29d688 -r d8f499590d82 13/May-2013/28th.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/13/May-2013/28th.html Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,160 @@ + + + + + + + 2013-05-21 + + + + + + + + + +
    + + + +
    +

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

    +

    + Masataka Kohagura +
    + 14th May , 2013 +

    +
    + +
    +

    + 研究目的 +

    +

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

    +

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

    +
    + +
    +

    + ボイヤームーア法とは(1) +

    +

    +

    +
    + BM1 +
    +

    + 検索したい文字列(pattern data)の長さをmとする。 +

    +

    + pattarn dataとtext dataを、pattern dataの末尾から比較を行なっていく。
    比較したtext dataの文字列がpattern dataの要素に含まれていない場合は、pattern dataをm個ずらし、再比較を行う。 +

    +
    + + +
    +

    + ボイヤームーア法とは(2) +

    +

    +

    +
    + BM1 +
    +

    + 比較したtext dataの文字がpattern dataの要素に含まれている場合は、pattern dataの末尾からその要素がどれだけ離れているかで決定される。この図であれば、末尾から2個離れているので、pattern dataを2個ずらし、最比較。 +

    +
    + +
    +

    + BM法をCで実装 +

    +
    +
    +int BM_method(char *text,char *pattern,unsigned long long *match_string){
    +    int skip[256];
    +    int i,j,text_len,pattern_len;
    +    int k = 0;
    +    text_len = strlen(text);
    +    pattern_len = strlen(pattern);
    +
    +    for (i = 0; i < 256; ++i){
    +        skip[i] = pattern_len;
    +    }
    +    for (i = 0; i < pattern_len-1 ; ++i){
    +        skip[(int)pattern[i]] = pattern_len - i - 1;
    +    }
    +
    +    i = pattern_len - 1;
    +    while ( i < text_len){
    +        j = pattern_len - 1;
    +        while (text[i] == pattern[j]){
    +            if (j == 0){
    +                match_string[k] = text[i];
    +                k++;
    +            }
    +            --i,--j;
    +        }
    +        i = i + max((int)skip[(int)text[i]],pattern_len - j);
    +    }
    +    return -1;
    +}
    +        
    +
    + +
    +

    + 分割時の処理について +

    +

    現在実装している処理

    +
    + sid +
    +

    + i_dataを1文字だけ多く取ってきて、abが分割されたときでも結果が返ってきてくれるように設定している。 +

    +
    + +
    +

    + 現在の問題点 +

    +

    + 分割回りで結果が返ってこない。(上手く処理されていない) +

    +

    + taskが2個以上になるとき、cpuの個数を2個以上に設定しないと結果が返ってこない。 +

    +
    + + + diff -r 43c6da29d688 -r d8f499590d82 13/May-2013/7th.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/13/May-2013/7th.html Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,154 @@ + + + + + + + 2013-05-07 + + + + + + + + + +
    + + + +
    +

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

    +

    + Masataka Kohagura +
    + 7th May , 2013 +

    +
    + +
    +

    + 研究目的 +

    +

    + 本研究室では、Cell用に作られたCeriumにて並列プログラミングを行なっている。 +近年、マルチコアCPUが主流となっているが、それをフルに使用させるためにはプログラムの並列度を上げる必要がある。(続く) +

    +

    + 現在は正規表現を並列実装している段階である。 +

    +
    + +
    +

    + 今週までにしたこと +

    +

    + C言語ポインタ完全制覇でポインタの勉強(半分ほど) +

    +

    + +

    +
    + +
    +

    + Exec.cc +

    +
    +
    +
    +    for (; i < length; i++) {
    +        if (i_data[i] == 0x0A) {
    +    
    +            if (match_flag == true) {
    +                line_print(line_num,line_length,line_data);
    +            }   
    +            match_flag = false;
    +            line_length = 0;
    +            line_num++;
    +        } else {
    +            line_data[line_length] = i_data[i];
    +            line_length++;
    +              if (i_data[i] == 0x61) {
    +                  a_flag = true;
    +              }else if ((i_data[i] == 0x62) && (a_flag == true)) {
    +                  match_flag = true;
    +              }else if (i_data[i] == 0x20) {
    +                  a_flag = false;
    +              }   
    +        }   
    +    } 
    +
    +
    +
    +

    + line_print(line_num,line_length,line_data); +

    +
    +
    +void line_print(int _line_num,int _line_length,char *input_data){
    +
    +    printf("%d : ",_line_num);
    +    for (int k = 0; k < _line_length; k++) {
    +        printf("%c",input_data[k]);
    +    }   
    +    printf("\n");
    +}
    +
    +
    +
    + +
    +

    + 実行結果(分割されないような小さなファイル) +

    +
    +
    +[Masa]~%  ./regex -file b.txt                   [~/hg/Cerium/example/regex_mas]
    +1 : ab aaa dddd ssss abab
    +2 : ab bbbbbbbbbb aaaaaaa
    +4 : ab aaaab 
    +        
    +

    + 実行結果(分割されるようなファイル) +

    +
    +[Masa]~%  ./regex -file c.txt                   [~/hg/Cerium/example/regex_mas]
    +1 : Pakistan who've volunteered to join private militias, called lashkars. These groups have vowed to help Pakistan's military in fighting the Taliban.
    +5 : Pakistani military officials credit the lashkars with helping chase the Taliban out of Swat Valley and neighboring districts once infested with the militants.
    +6 : Pakistan who've volunteered to join private militias, called lashkars. These groups have vowed to help Pakistan's military in fighting the Taliban.
    +[中略]
    +196 : Pakistan who've volunteered to join private militias, called lashkars. These groups have vowed to help Pakistan's military in fighting the Taliban.
    +200 : Pakistani military officials credit the lashkars with helping chase the Taliban out of Swat Valley and neighboring districts once infested with the militants.
    +1 : red to join private militias, called lashkars. These groups have vowed to help Pakistan's military in fighting the Taliban.
    +5 : Pakistani military officials credit the lashkars with helping chase the Taliban out of Swat Valley and neighboring districts once infested with the militants.
    +        
    +
    +
    + + + diff -r 43c6da29d688 -r d8f499590d82 13/May-2013/BM.graffle --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/13/May-2013/BM.graffle Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,1886 @@ + + + + + ApplicationVersion + + com.omnigroup.OmniGraffle + 139.18.0.187838 + + CreationDate + 2013-05-20 12:36:29 +0000 + Creator + MasaKoha + GraphDocumentVersion + 8 + GuidesLocked + NO + GuidesVisible + YES + ImageCounter + 1 + LinksVisible + NO + MagnetsVisible + NO + MasterSheets + + ModificationDate + 2013-11-06 07:41:37 +0000 + Modifier + MasaKoha + NotesVisible + NO + OriginVisible + NO + PageBreaks + YES + PrintInfo + + NSBottomMargin + + float + 41 + + NSHorizonalPagination + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG + + NSLeftMargin + + float + 18 + + NSPaperSize + + size + {594.99997329711914, 842} + + NSPrintReverseOrientation + + int + 0 + + NSRightMargin + + float + 18 + + NSTopMargin + + float + 18 + + + ReadOnly + NO + Sheets + + + ActiveLayerIndex + 0 + AutoAdjust + + BackgroundGraphic + + Bounds + {{0, 0}, {558.99997329711914, 783}} + Class + SolidGraphic + ID + 2 + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + + BaseZoom + 0 + CanvasOrigin + {0, 0} + ColumnAlign + 1 + ColumnSpacing + 36 + DisplayScale + 1 0/72 in = 1.0000 in + GraphicsList + + + Bounds + {{13, 458.79013061523438}, {59.80935172478393, 12.561340860678181}} + Class + ShapedGraphic + ID + 74 + Layer + 0 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Input data} + VerticalPad + 0 + + + + Bounds + {{13, 333.54379272460938}, {59.80935172478393, 12.561340860678181}} + Class + ShapedGraphic + ID + 73 + Layer + 0 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Input data} + VerticalPad + 0 + + + + Bounds + {{12.999996774745885, 216.77022151682692}, {59.80935172478393, 12.561340860678181}} + Class + ShapedGraphic + ID + 72 + Layer + 0 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Input data} + VerticalPad + 0 + + + + Bounds + {{229.3141535266771, 403.79351165129901}, {36.171464554143206, 23.858390920443956}} + Class + ShapedGraphic + ID + 71 + Layer + 0 + Shape + Rectangle + Style + + stroke + + Pattern + 2 + + + + + Bounds + {{193.1426889725339, 403.79351165129901}, {36.171464554143206, 23.858390920443956}} + Class + ShapedGraphic + ID + 70 + Layer + 0 + Shape + Rectangle + Style + + stroke + + Pattern + 2 + + + + + Bounds + {{13.000000000000004, 409.44201054424752}, {59.80935172478393, 12.561340860678181}} + Class + ShapedGraphic + ID + 67 + Layer + 0 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 pattern data} + VerticalPad + 0 + + + + Bounds + {{336.56419508463085, 453.14160907955625}, {36.171464554143206, 23.858390920443956}} + Class + ShapedGraphic + ID + 65 + Layer + 0 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 c} + + + + Bounds + {{300.39273053048726, 453.14160907955625}, {36.171464554143206, 23.858390920443956}} + Class + ShapedGraphic + ID + 64 + Layer + 0 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 b} + + + + Bounds + {{264.221265976344, 453.14160907955625}, {36.171464554143206, 23.858390920443956}} + Class + ShapedGraphic + ID + 63 + Layer + 0 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 a} + + + + Bounds + {{228.04980142220114, 453.14160907955625}, {36.171464554143206, 23.858390920443956}} + Class + ShapedGraphic + ID + 62 + Layer + 0 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 b} + + + + Bounds + {{191.8783368680578, 453.14160907955625}, {36.171464554143206, 23.858390920443956}} + Class + ShapedGraphic + ID + 61 + Layer + 0 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 y} + + + + Bounds + {{155.70687231391449, 453.14160907955625}, {36.171464554143206, 23.858390920443956}} + Class + ShapedGraphic + ID + 60 + Layer + 0 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 x} + + + + Bounds + {{119.53540775977129, 453.14160907955625}, {36.171464554143206, 23.858390920443956}} + Class + ShapedGraphic + ID + 59 + Layer + 0 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 b} + + + + Bounds + {{83.363943205628104, 453.14160907955625}, {36.171464554143206, 23.858390920443956}} + Class + ShapedGraphic + ID + 58 + Layer + 0 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 a} + + + + Bounds + {{337.82853544585663, 403.79351165129901}, {36.171464554143206, 23.858390920443956}} + Class + ShapedGraphic + ID + 57 + Layer + 0 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 c} + + + + Bounds + {{301.65707089171354, 403.79351165129901}, {36.171464554143206, 23.858390920443956}} + Class + ShapedGraphic + ID + 56 + Layer + 0 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 b} + + + + Bounds + {{265.48560633757046, 403.79351165129901}, {36.171464554143206, 23.858390920443956}} + Class + ShapedGraphic + ID + 55 + Layer + 0 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 a} + + + + Bounds + {{300.39273053048726, 307.3403586276396}, {36.171464554143206, 16.150295392300524}} + Class + ShapedGraphic + ID + 54 + Layer + 0 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 \'94\'e4\'8a\'72} + VerticalPad + 0 + + + + Class + LineGraphic + ID + 53 + Layer + 0 + Points + + {282.30701306752206, 303.30278230402337} + {282.30701306752206, 327.89527753309926} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + FilledArrow + + + + + Bounds + {{13.000000000000004, 284.19566530701593}, {59.80935172478393, 12.561340860678181}} + Class + ShapedGraphic + ID + 49 + Layer + 0 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 pattern data} + VerticalPad + 0 + + + + Bounds + {{336.56419508463085, 327.8952638423242}, {36.171464554143206, 23.858390920443956}} + Class + ShapedGraphic + ID + 47 + Layer + 0 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 c} + + + + Bounds + {{300.39273053048726, 327.8952638423242}, {36.171464554143206, 23.858390920443956}} + Class + ShapedGraphic + ID + 46 + Layer + 0 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 b} + + + + Bounds + {{264.221265976344, 327.8952638423242}, {36.171464554143206, 23.858390920443956}} + Class + ShapedGraphic + ID + 45 + Layer + 0 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 a} + + + + Bounds + {{228.04980142220114, 327.8952638423242}, {36.171464554143206, 23.858390920443956}} + Class + ShapedGraphic + ID + 44 + Layer + 0 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 b} + + + + Bounds + {{191.8783368680578, 327.8952638423242}, {36.171464554143206, 23.858390920443956}} + Class + ShapedGraphic + ID + 43 + Layer + 0 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 y} + + + + Bounds + {{155.70687231391449, 327.8952638423242}, {36.171464554143206, 23.858390920443956}} + Class + ShapedGraphic + ID + 42 + Layer + 0 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 x} + + + + Bounds + {{119.53540775977129, 327.8952638423242}, {36.171464554143206, 23.858390920443956}} + Class + ShapedGraphic + ID + 41 + Layer + 0 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 b} + + + + Bounds + {{83.363943205628104, 327.8952638423242}, {36.171464554143206, 23.858390920443956}} + Class + ShapedGraphic + ID + 40 + Layer + 0 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 a} + + + + Bounds + {{265.48560633757046, 278.54713903251712}, {36.171464554143206, 23.858390920443956}} + Class + ShapedGraphic + ID + 39 + Layer + 0 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 c} + + + + Bounds + {{229.3141417834272, 278.54713903251712}, {36.171464554143206, 23.858390920443956}} + Class + ShapedGraphic + ID + 38 + Layer + 0 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 b} + + + + Bounds + {{193.14267722928395, 278.54713903251712}, {36.171464554143206, 23.858390920443956}} + Class + ShapedGraphic + ID + 37 + Layer + 0 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 a} + + + + Bounds + {{156.97121099753363, 158.94930447166053}, {36.171464554143206, 23.858390920443956}} + Class + ShapedGraphic + ID + 35 + Layer + 0 + Shape + Rectangle + Style + + stroke + + Pattern + 2 + + + + + Bounds + {{120.79974644339035, 158.94930447166053}, {36.171464554143206, 23.858390920443956}} + Class + ShapedGraphic + ID + 34 + Layer + 0 + Shape + Rectangle + Style + + stroke + + Pattern + 2 + + + + + Bounds + {{84.628281889247148, 158.94930447166053}, {36.171464554143206, 23.858390920443956}} + Class + ShapedGraphic + ID + 33 + Layer + 0 + Shape + Rectangle + Style + + stroke + + Pattern + 2 + + + + + Bounds + {{13.000000000000004, 164.59783074615936}, {59.80935172478393, 12.561340860678181}} + Class + ShapedGraphic + ID + 30 + Layer + 0 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 pattern data} + VerticalPad + 0 + + + + Bounds + {{336.56419508463085, 208.2974292814676}, {36.171464554143206, 23.858390920443956}} + Class + ShapedGraphic + ID + 28 + Layer + 0 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 c} + + + + Bounds + {{300.39273053048726, 208.2974292814676}, {36.171464554143206, 23.858390920443956}} + Class + ShapedGraphic + ID + 27 + Layer + 0 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 b} + + + + Bounds + {{264.221265976344, 208.2974292814676}, {36.171464554143206, 23.858390920443956}} + Class + ShapedGraphic + ID + 26 + Layer + 0 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 a} + + + + Bounds + {{228.04980142220114, 208.2974292814676}, {36.171464554143206, 23.858390920443956}} + Class + ShapedGraphic + ID + 25 + Layer + 0 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 b} + + + + Bounds + {{191.8783368680578, 208.2974292814676}, {36.171464554143206, 23.858390920443956}} + Class + ShapedGraphic + ID + 24 + Layer + 0 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 y} + + + + Bounds + {{155.70687231391449, 208.2974292814676}, {36.171464554143206, 23.858390920443956}} + Class + ShapedGraphic + ID + 23 + Layer + 0 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 x} + + + + Bounds + {{119.53540775977129, 208.2974292814676}, {36.171464554143206, 23.858390920443956}} + Class + ShapedGraphic + ID + 22 + Layer + 0 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 b} + + + + Bounds + {{83.363943205628104, 208.2974292814676}, {36.171464554143206, 23.858390920443956}} + Class + ShapedGraphic + ID + 21 + Layer + 0 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 a} + + + + Bounds + {{265.48560633757046, 158.94930447166053}, {36.171464554143206, 23.858390920443956}} + Class + ShapedGraphic + ID + 20 + Layer + 0 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 c} + + + + Bounds + {{229.3141417834272, 158.94930447166053}, {36.171464554143206, 23.858390920443956}} + Class + ShapedGraphic + ID + 19 + Layer + 0 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 b} + + + + Bounds + {{193.14267722928395, 158.94930447166053}, {36.171464554143206, 23.858390920443956}} + Class + ShapedGraphic + ID + 18 + Layer + 0 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 a} + + + + Bounds + {{191.8783368680578, 73.344586574203603}, {36.171464554143206, 16.150295392300524}} + Class + ShapedGraphic + ID + 17 + Layer + 1 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 \'94\'e4\'8a\'72} + VerticalPad + 0 + + + + Class + LineGraphic + Head + + ID + 8 + + ID + 16 + Layer + 1 + Points + + {173.79310548514576, 69.358390905516828} + {173.79409241666082, 93.848124824060051} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + FilledArrow + + + Tail + + ID + 4 + + + + Bounds + {{13.000000000000004, 50.648526274498657}, {59.80935172478393, 12.561340860678181}} + Class + ShapedGraphic + ID + 15 + Layer + 1 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 pattern data} + VerticalPad + 0 + + + + Bounds + {{12.999996774745885, 99.996648595073992}, {59.80935172478393, 12.561340860678181}} + Class + ShapedGraphic + ID + 14 + Layer + 1 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Input data} + VerticalPad + 0 + + + + Bounds + {{336.56419508463085, 94.348124809807118}, {36.171464554143206, 23.858390920443956}} + Class + ShapedGraphic + ID + 13 + Layer + 1 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 c} + + + + Bounds + {{300.39273053048726, 94.348124809807118}, {36.171464554143206, 23.858390920443956}} + Class + ShapedGraphic + ID + 12 + Layer + 1 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 b} + + + + Bounds + {{264.221265976344, 94.348124809807118}, {36.171464554143206, 23.858390920443956}} + Class + ShapedGraphic + ID + 11 + Layer + 1 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 a} + + + + Bounds + {{228.04980142220114, 94.348124809807118}, {36.171464554143206, 23.858390920443956}} + Class + ShapedGraphic + ID + 10 + Layer + 1 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 b} + + + + Bounds + {{191.8783368680578, 94.348124809807118}, {36.171464554143206, 23.858390920443956}} + Class + ShapedGraphic + ID + 9 + Layer + 1 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 y} + + + + Bounds + {{155.70687231391449, 94.348124809807118}, {36.171464554143206, 23.858390920443956}} + Class + ShapedGraphic + ID + 8 + Layer + 1 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 x} + + + + Bounds + {{119.53540775977129, 94.348124809807118}, {36.171464554143206, 23.858390920443956}} + Class + ShapedGraphic + ID + 7 + Layer + 1 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 b} + + + + Bounds + {{83.363943205628104, 94.348124809807118}, {36.171464554143206, 23.858390920443956}} + Class + ShapedGraphic + ID + 6 + Layer + 1 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 a} + + + + Bounds + {{155.70687231391449, 44.999999999999844}, {36.171464554143206, 23.858390920443956}} + Class + ShapedGraphic + ID + 4 + Layer + 1 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 c} + + + + Bounds + {{119.53540775977129, 44.999999999999844}, {36.171464554143206, 23.858390920443956}} + Class + ShapedGraphic + ID + 3 + Layer + 1 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 b} + + + + Bounds + {{83.363943205628104, 44.999999999999844}, {36.171464554143206, 23.858390920443956}} + Class + ShapedGraphic + ID + 1 + Layer + 1 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 a} + + + + GridInfo + + HPages + 1 + KeepToScale + + Layers + + + Lock + NO + Name + レイヤー 2 + Print + YES + View + YES + + + Lock + NO + Name + レイヤー 1 + Print + YES + View + YES + + + LayoutInfo + + Animate + NO + circoMinDist + 18 + circoSeparation + 0.0 + layoutEngine + dot + neatoSeparation + 0.0 + twopiSeparation + 0.0 + + Orientation + 2 + PrintOnePage + + RowAlign + 1 + RowSpacing + 36 + SheetTitle + キャンバス 1 + UniqueID + 1 + VPages + 1 + + + ActiveLayerIndex + 0 + AutoAdjust + + BackgroundGraphic + + Bounds + {{0, 0}, {558.99997329711914, 783}} + Class + SolidGraphic + ID + 2 + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + + BaseZoom + 0 + CanvasOrigin + {0, 0} + ColumnAlign + 1 + ColumnSpacing + 36 + DisplayScale + 1 0/72 in = 1.0000 in + GraphicsList + + GridInfo + + HPages + 1 + KeepToScale + + Layers + + + Lock + NO + Name + レイヤー 1 + Print + YES + View + YES + + + LayoutInfo + + Animate + NO + circoMinDist + 18 + circoSeparation + 0.0 + layoutEngine + dot + neatoSeparation + 0.0 + twopiSeparation + 0.0 + + Orientation + 2 + PrintOnePage + + RowAlign + 1 + RowSpacing + 36 + SheetTitle + キャンバス 2 + UniqueID + 2 + VPages + 1 + + + SmartAlignmentGuidesActive + YES + SmartDistanceGuidesActive + YES + UseEntirePage + + WindowInfo + + CurrentSheet + 0 + ExpandedCanvases + + + name + キャンバス 1 + + + Frame + {{211, 102}, {693, 922}} + ListView + + OutlineWidth + 142 + RightSidebar + + ShowRuler + + Sidebar + + SidebarWidth + 120 + VisibleRegion + {{0, 0}, {558, 783}} + Zoom + 1 + ZoomValues + + + キャンバス 1 + 1 + 1 + + + キャンバス 2 + 1 + 1 + + + + + diff -r 43c6da29d688 -r d8f499590d82 13/May-2013/BM1.jpg Binary file 13/May-2013/BM1.jpg has changed diff -r 43c6da29d688 -r d8f499590d82 13/May-2013/BM2.jpg Binary file 13/May-2013/BM2.jpg has changed diff -r 43c6da29d688 -r d8f499590d82 13/May-2013/regex001.jpg Binary file 13/May-2013/regex001.jpg has changed diff -r 43c6da29d688 -r d8f499590d82 13/May-2013/search_idata.jpg Binary file 13/May-2013/search_idata.jpg has changed diff -r 43c6da29d688 -r d8f499590d82 13/May-2013/think.graffle --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/13/May-2013/think.graffle Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,9157 @@ + + + + + ApplicationVersion + + com.omnigroup.OmniGraffle + 139.18.0.187838 + + CreationDate + 2013-05-13 01:49:18 +0000 + Creator + MasaKoha + GraphDocumentVersion + 8 + GuidesLocked + NO + GuidesVisible + YES + ImageCounter + 1 + LinksVisible + NO + MagnetsVisible + NO + MasterSheets + + ModificationDate + 2013-11-04 17:24:43 +0000 + Modifier + MasaKoha + NotesVisible + NO + OriginVisible + NO + PageBreaks + YES + PrintInfo + + NSBottomMargin + + float + 41 + + NSHorizonalPagination + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG + + NSLeftMargin + + float + 18 + + NSPaperSize + + size + {595.00000476837158, 842} + + NSPrintReverseOrientation + + int + 0 + + NSRightMargin + + float + 18 + + NSTopMargin + + float + 18 + + + ReadOnly + NO + Sheets + + + ActiveLayerIndex + 0 + AutoAdjust + + BackgroundGraphic + + Bounds + {{0, 0}, {559.00000476837158, 783}} + Class + SolidGraphic + ID + 2 + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + + BaseZoom + 0 + CanvasOrigin + {0, 0} + ColumnAlign + 1 + ColumnSpacing + 36 + DisplayScale + 1 0/72 in = 1.0000 in + GraphicsList + + + Bounds + {{166.09734173142019, 274.43551604345066}, {297.03609095092548, 21.718338326666476}} + Class + ShapedGraphic + ID + 60 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 o_data} + VerticalPad + 0 + + + + Bounds + {{418.2559190097079, 239.25452897621827}, {104.34080171503165, 21.718338326666476}} + Class + ShapedGraphic + ID + 59 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 tail_flag} + + + + Bounds + {{313.91511729467618, 239.25452897621827}, {104.34080171503165, 21.718338326666476}} + Class + ShapedGraphic + ID + 58 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 head_flag} + + + + Bounds + {{209.57431557964478, 239.25452897621827}, {104.34080171503165, 21.718338326666476}} + Class + ShapedGraphic + ID + 57 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 line_num} + + + + Bounds + {{105.23351386461309, 239.25452897621827}, {104.34080171503165, 21.718338326666476}} + Class + ShapedGraphic + ID + 56 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 word_num} + + + + Class + LineGraphic + ID + 55 + Points + + {313.64112089094914, 164.69288159732582} + {313.44777602217664, 176.30880144486926} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + + + Class + LineGraphic + ID + 54 + Points + + {459.41429886645676, 164.69288159732616} + {459.22095399768386, 176.30880144486954} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + + + Class + LineGraphic + ID + 47 + Points + + {169.26848444092224, 164.69288325306107} + {169.07513957214948, 176.30880310060439} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + + + Bounds + {{408.45209504496233, 202.27380040687777}, {100.83943254078623, 10.406312931781747}} + Class + ShapedGraphic + ID + 46 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 o_data[2]} + VerticalPad + 0 + + + + Bounds + {{264.19567509634192, 202.27380040687777}, {100.83943254078623, 10.406312931781747}} + Class + ShapedGraphic + ID + 45 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 o_data[1]} + VerticalPad + 0 + + + + Bounds + {{120.63954357040231, 202.57851040506876}, {100.83943254078623, 10.406312931781747}} + Class + ShapedGraphic + ID + 42 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 o_data[0]} + VerticalPad + 0 + + + + Bounds + {{495.57784247233337, 183.33560301713945}, {35.422184563871042, 10.406312931781747}} + Class + ShapedGraphic + ID + 41 + Shape + Rectangle + + + Bounds + {{460.15565790846222, 183.33560301713945}, {35.422184563871042, 10.406312931781747}} + Class + ShapedGraphic + ID + 40 + Shape + Rectangle + + + Bounds + {{424.73347334459083, 183.33560301713945}, {35.422184563871042, 10.406312931781747}} + Class + ShapedGraphic + ID + 39 + Shape + Rectangle + + + Bounds + {{389.31128878071991, 183.33560301713945}, {35.422184563871042, 10.406312931781747}} + Class + ShapedGraphic + ID + 38 + Shape + Rectangle + + + Bounds + {{350.03757744026279, 183.33560301713945}, {35.422184563871042, 10.406312931781747}} + Class + ShapedGraphic + ID + 37 + Shape + Rectangle + + + Bounds + {{314.61539754593497, 183.33560301713945}, {35.422184563871042, 10.406312931781747}} + Class + ShapedGraphic + ID + 36 + Shape + Rectangle + + + Bounds + {{279.19320831252054, 183.33560301713945}, {35.422184563871042, 10.406312931781747}} + Class + ShapedGraphic + ID + 35 + Shape + Rectangle + + + Bounds + {{243.77102374864933, 183.33560301713945}, {35.422184563871042, 10.406312931781747}} + Class + ShapedGraphic + ID + 34 + Shape + Rectangle + + + Bounds + {{204.4973241360205, 183.33560301713945}, {35.422184563871042, 10.406312931781747}} + Class + ShapedGraphic + ID + 32 + Shape + Rectangle + + + Bounds + {{169.07513957214945, 183.33560301713945}, {35.422184563871042, 10.406312931781747}} + Class + ShapedGraphic + ID + 31 + Shape + Rectangle + + + Bounds + {{133.65295500827841, 183.33560301713945}, {35.422184563871042, 10.406312931781747}} + Class + ShapedGraphic + ID + 30 + Shape + Rectangle + + + Bounds + {{98.230770444407312, 183.33560301713945}, {35.422184563871042, 10.406312931781747}} + Class + ShapedGraphic + ID + 29 + Shape + Rectangle + + + Bounds + {{408.45208027474257, 54.000000000000043}, {100.83943254078623, 10.406312931781747}} + Class + ShapedGraphic + ID + 27 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 i_data[2]} + VerticalPad + 0 + + + + Bounds + {{263.49539599736249, 54.000000000000043}, {100.83943254078623, 10.406312931781747}} + Class + ShapedGraphic + ID + 26 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 i_data[1]} + VerticalPad + 0 + + + + Bounds + {{120.63953323124863, 54.000000000000043}, {100.83943254078623, 10.406312931781747}} + Class + ShapedGraphic + ID + 24 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 i_data[0]} + VerticalPad + 0 + + + + Class + LineGraphic + Head + + ID + 5 + + ID + 23 + Points + + {458.7083443929946, 91.66536868829678} + {458.33496289011765, 123.37099289480994} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + Tail + + ID + 18 + + + + Class + LineGraphic + Head + + ID + 3 + + ID + 22 + Points + + {314.45192841921607, 91.66536862908039} + {314.07853427364222, 123.37099289478044} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + Tail + + ID + 17 + + + + Class + LineGraphic + Head + + ID + 1 + + ID + 21 + Points + + {170.19551244480397, 91.665368629080149} + {169.8221056573754, 123.37099289476522} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + Tail + + ID + 19 + + + + Bounds + {{98.230770444407369, 64.40631293178177}, {144.25641044029123, 26.75909039601024}} + Class + ShapedGraphic + ID + 19 + Shape + Rectangle + + + Bounds + {{386.74359132499018, 64.40631293178177}, {144.25641044029123, 26.75909039601024}} + Class + ShapedGraphic + ID + 18 + Shape + Rectangle + + + Bounds + {{242.4871808846986, 64.40631293178177}, {144.25641044029123, 26.75909039601024}} + Class + ShapedGraphic + ID + 17 + Shape + Rectangle + + + Bounds + {{407.75180643765373, 153.60328091848223}, {100.83943254078623, 10.406312931781747}} + Class + ShapedGraphic + ID + 9 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 task2} + VerticalPad + 0 + + + + Bounds + {{263.49539599736249, 153.60328091848223}, {100.83943254078623, 10.406312931781747}} + Class + ShapedGraphic + ID + 8 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 task1} + VerticalPad + 0 + + + + Bounds + {{119.23898555707092, 153.60328091848223}, {100.83943254078623, 10.406312931781747}} + Class + ShapedGraphic + ID + 7 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 task0} + VerticalPad + 0 + + + + Bounds + {{393.74632969587793, 123.87095825624895}, {128.85038602433804, 26.75909039601024}} + Class + ShapedGraphic + ID + 5 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Exec.cc} + + + + Bounds + {{249.48991925558653, 123.87095825624895}, {128.85038602433804, 26.75909039601024}} + Class + ShapedGraphic + ID + 3 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Exec.cc} + + + + Bounds + {{105.23350881529501, 123.87095825624895}, {128.85038602433804, 26.75909039601024}} + Class + ShapedGraphic + ID + 1 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Exec.cc} + + + + GridInfo + + HPages + 1 + KeepToScale + + Layers + + + Lock + NO + Name + レイヤー 1 + Print + YES + View + YES + + + LayoutInfo + + Animate + NO + circoMinDist + 18 + circoSeparation + 0.0 + layoutEngine + dot + neatoSeparation + 0.0 + twopiSeparation + 0.0 + + Orientation + 2 + PrintOnePage + + RowAlign + 1 + RowSpacing + 36 + SheetTitle + キャンバス 1 + UniqueID + 1 + VPages + 1 + + + ActiveLayerIndex + 0 + AutoAdjust + + BackgroundGraphic + + Bounds + {{0, 0}, {559.00000476837158, 783}} + Class + SolidGraphic + ID + 2 + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + + BaseZoom + 0 + CanvasOrigin + {0, 0} + ColumnAlign + 1 + ColumnSpacing + 36 + DisplayScale + 1 0/72 in = 1.0000 in + GraphicsList + + + Bounds + {{91.777211387877031, 45.4982387852804}, {75.851677611962046, 14}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 79 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 File Mapping} + VerticalPad + 0 + + + + Class + LineGraphic + Head + + ID + 19 + + ID + 78 + Points + + {193.21365817272388, 61.47461348283251} + {167.62888113639107, 67.391304580686068} + {167.62888113639107, 95.652174243554427} + {183.52133405681661, 96.83472520571425} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 76 + + + + Bounds + {{188.29796223038517, 41.537072501395862}, {87.462154268907966, 21.922326694922866}} + Class + ShapedGraphic + ID + 76 + Shape + RoundRect + Style + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 CPU} + + + + Bounds + {{204.3198281445209, 217.4530568936639}, {55.418429259239048, 11.323785466517156}} + Class + ShapedGraphic + ID + 75 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 16Byte} + VerticalPad + 0 + + + + Class + LineGraphic + ID + 74 + Points + + {183.54460075795888, 202.21012878417969} + {207.91652147262673, 209.82965319273984} + {253.43880264985867, 209.82965347627282} + {280.74845103595646, 202.79624604637672} + + Style + + stroke + + HeadArrow + 0 + Legacy + + LineType + 1 + Pattern + 1 + TailArrow + 0 + + + + + Bounds + {{399.37244049956104, 65.522933703317875}, {56.737915670173273, 11.323785466517156}} + Class + ShapedGraphic + ID + 73 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 16KByte} + VerticalPad + 0 + + + + Class + LineGraphic + ID + 35 + Points + + {380.57483778409625, 89.553741455078125} + {403.33089973236378, 82.520334308714951} + {450.17266732052991, 81.934217046518} + {477.06294938330444, 88.967624192881175} + + Style + + stroke + + HeadArrow + 0 + Legacy + + LineType + 1 + Pattern + 1 + TailArrow + 0 + + + + + Bounds + {{91.777203524429027, 228.30447137551886}, {75.851677611962046, 11.323785466517156}} + Class + ShapedGraphic + ID + 72 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Run Print Task} + VerticalPad + 0 + + + + Class + LineGraphic + Head + + ID + 68 + + ID + 71 + Points + + {427.97822455352735, 202.21013235807101} + {363.97709264777836, 223.04403212131712} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + + + Class + LineGraphic + Head + + ID + 68 + + ID + 70 + Points + + {232.13906526576829, 202.21013341164047} + {296.70643130093998, 223.07209770100303} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + + + Class + LineGraphic + ID + 69 + Points + + {330.00716184465017, 202.21013146972172} + {329.86675537808281, 223.54259064430931} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + + + Bounds + {{286.69291171083654, 223.00520687244222}, {87.462154268907966, 21.922326694922866}} + Class + ShapedGraphic + ID + 68 + Shape + RoundRect + Style + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 CPU} + + + + Bounds + {{183.5445970072681, 180.28780956948412}, {97.919585757581501, 21.922326694922866}} + Class + ShapedGraphic + ID + 67 + Shape + Rectangle + + + Bounds + {{379.38376852243135, 180.28780956948412}, {97.919585757581501, 21.922326694922866}} + Class + ShapedGraphic + ID + 66 + Shape + Rectangle + + + Bounds + {{281.46418276484945, 180.28780956948412}, {97.919585757581501, 21.922326694922866}} + Class + ShapedGraphic + ID + 65 + Shape + Rectangle + + + Bounds + {{98.187616281414165, 185.58708660010518}, {63.030852954947619, 11.323785466517156}} + Class + ShapedGraphic + ID + 64 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Output Data} + VerticalPad + 0 + + + + Bounds + {{81.221309312999878, 137.57041188280772}, {96.963460186910254, 22.647570933034313}} + Class + ShapedGraphic + ID + 63 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Run word_count Tasks} + VerticalPad + 0 + + + + Bounds + {{85.971957670336863, 94.853012244994673}, {87.462154268907966, 11.323785466517156}} + Class + ShapedGraphic + ID + 62 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Input Data} + VerticalPad + 0 + + + + Class + LineGraphic + ID + 55 + Points + + {330.24655140658194, 159.99272904662695} + {330.1067739987156, 181.22961307154088} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + Tail + + ID + 3 + + + + Class + LineGraphic + ID + 54 + Points + + {428.52701130786636, 159.99258488202554} + {429.05592404592272, 181.22961307154088} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + Tail + + ID + 5 + + + + Class + LineGraphic + ID + 47 + Points + + {232.29931260136789, 159.99271968946627} + {232.10829536772334, 181.22961442799834} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + Tail + + ID + 1 + + + + Class + LineGraphic + Head + + ID + 5 + + ID + 23 + Points + + {428.6811125722636, 111.97603294336717} + {428.37937986561576, 137.07044932298433} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + Tail + + ID + 18 + + + + Class + LineGraphic + Head + + ID + 3 + + ID + 22 + Points + + {330.76152681468193, 111.97603294336717} + {330.45979410803375, 137.07044932298433} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + Tail + + ID + 17 + + + + Class + LineGraphic + Head + + ID + 1 + + ID + 21 + Points + + {232.84194105710063, 111.97603294336717} + {232.5402083504527, 137.07044932298433} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + Tail + + ID + 19 + + + + Bounds + {{184.0199556047082, 89.553742372866907}, {97.919585757581501, 21.922326694922866}} + Class + ShapedGraphic + ID + 19 + Shape + Rectangle + + + Bounds + {{379.85912711987118, 89.553742372866907}, {97.919585757581501, 21.922326694922866}} + Class + ShapedGraphic + ID + 18 + Shape + Rectangle + + + Bounds + {{281.93954136228962, 89.553742372866907}, {97.919585757581501, 21.922326694922866}} + Class + ShapedGraphic + ID + 17 + Shape + Rectangle + + + Bounds + {{384.51049530476342, 137.57041319856171}, {87.462154268907966, 21.922326694922866}} + Class + ShapedGraphic + ID + 5 + Shape + RoundRect + Style + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 CPU} + + + + Bounds + {{286.5909095471813, 137.57041319856171}, {87.462154268907966, 21.922326694922866}} + Class + ShapedGraphic + ID + 3 + Shape + RoundRect + Style + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 CPU} + + + + Bounds + {{188.67132378960039, 137.57041319856171}, {87.462154268907966, 21.922326694922866}} + Class + ShapedGraphic + ID + 1 + Shape + RoundRect + Style + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 CPU} + + + + GridInfo + + HPages + 1 + KeepToScale + + Layers + + + Lock + NO + Name + レイヤー 1 + Print + YES + View + YES + + + LayoutInfo + + Animate + NO + circoMinDist + 18 + circoSeparation + 0.0 + layoutEngine + dot + neatoSeparation + 0.0 + twopiSeparation + 0.0 + + Orientation + 2 + PrintOnePage + + RowAlign + 1 + RowSpacing + 36 + SheetTitle + キャンバス 4 + UniqueID + 4 + VPages + 1 + + + ActiveLayerIndex + 0 + AutoAdjust + + BackgroundGraphic + + Bounds + {{0, 0}, {559.00000476837158, 783}} + Class + SolidGraphic + ID + 2 + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + + BaseZoom + 0 + CanvasOrigin + {0, 0} + ColumnAlign + 1 + ColumnSpacing + 36 + DisplayScale + 1 0/72 in = 1.0000 in + GraphicsList + + + Class + LineGraphic + Head + + ID + 66 + + ID + 93 + Points + + {383.14307950771399, 187.50289916992188} + {383.28467165246735, 210.86679652191623} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + + + Class + LineGraphic + Head + + ID + 65 + + ID + 92 + Points + + {285.22427518036216, 187.50289960437431} + {285.36534306743778, 210.86679645109558} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + + + Class + LineGraphic + Head + + ID + 67 + + ID + 91 + Points + + {187.30554506832922, 187.50290008323137} + {187.44603890708765, 210.86679638120521} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + + + Bounds + {{35.756523312803239, 165.58057800267733}, {96.963460186910254, 22.647570933034313}} + Class + ShapedGraphic + ID + 90 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Run Regex Tasks} + VerticalPad + 0 + + + + Bounds + {{339.0457093045668, 165.58057931843132}, {87.462154268907966, 21.922326694922866}} + Class + ShapedGraphic + ID + 89 + Shape + RoundRect + Style + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 CPU} + + + + Bounds + {{241.1261235469847, 165.58057931843132}, {87.462154268907966, 21.922326694922866}} + Class + ShapedGraphic + ID + 88 + Shape + RoundRect + Style + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 CPU} + + + + Bounds + {{143.20653778940385, 165.58057931843132}, {87.462154268907966, 21.922326694922866}} + Class + ShapedGraphic + ID + 87 + Shape + RoundRect + Style + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 CPU} + + + + Bounds + {{40.507169061707678, 125.09363733549502}, {87.462154268907966, 11.323785466517156}} + Class + ShapedGraphic + ID + 86 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Input Data} + VerticalPad + 0 + + + + Class + LineGraphic + Head + + ID + 89 + + ID + 85 + Points + + {383.20959208751145, 142.21665438222391} + {382.92124849836671, 165.08061905177851} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + Tail + + ID + 81 + + + + Class + LineGraphic + Head + + ID + 88 + + ID + 84 + Points + + {285.29001604245963, 142.21665442305562} + {285.00169183051389, 165.08061905271219} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + Tail + + ID + 80 + + + + Class + LineGraphic + Head + + ID + 87 + + ID + 83 + Points + + {187.37044092040705, 142.21665442307602} + {187.08213792542355, 165.08061905366492} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + Tail + + ID + 82 + + + + Bounds + {{138.55516699607907, 119.79436746336725}, {97.919585757581501, 21.922326694922866}} + Class + ShapedGraphic + ID + 82 + Shape + Rectangle + + + Bounds + {{334.39433851124193, 119.79436746336725}, {97.919585757581501, 21.922326694922866}} + Class + ShapedGraphic + ID + 81 + Shape + Rectangle + + + Bounds + {{236.47475275366054, 119.79436746336725}, {97.919585757581501, 21.922326694922866}} + Class + ShapedGraphic + ID + 80 + Shape + Rectangle + + + Bounds + {{46.787771767849165, 259.38344914461209}, {75.851677611962046, 11.323785466517156}} + Class + ShapedGraphic + ID + 72 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Run Print Task} + VerticalPad + 0 + + + + Class + LineGraphic + Head + + ID + 68 + + ID + 71 + Points + + {382.98879279694745, 233.28911012716421} + {318.98766089119852, 254.12300989041029} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + + + Class + LineGraphic + Head + + ID + 68 + + ID + 70 + Points + + {187.14963350918845, 233.28911118073367} + {251.71699954436031, 254.15107547009626} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + + + Class + LineGraphic + ID + 69 + Points + + {285.01773008807027, 233.28910923881492} + {284.87732362150291, 254.62156841340249} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + + + Bounds + {{241.70347995425669, 254.08418464153539}, {87.462154268907966, 21.922326694922866}} + Class + ShapedGraphic + ID + 68 + Shape + RoundRect + Style + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 CPU} + + + + Bounds + {{138.55516525068828, 211.36678733857732}, {97.919585757581501, 21.922326694922866}} + Class + ShapedGraphic + ID + 67 + Shape + Rectangle + + + Bounds + {{334.39433676585145, 211.36678733857732}, {97.919585757581501, 21.922326694922866}} + Class + ShapedGraphic + ID + 66 + Shape + Rectangle + + + Bounds + {{236.47475100826964, 211.36678733857732}, {97.919585757581501, 21.922326694922866}} + Class + ShapedGraphic + ID + 65 + Shape + Rectangle + + + Bounds + {{53.198184524834303, 216.66606436919838}, {63.030852954947619, 11.323785466517156}} + Class + ShapedGraphic + ID + 64 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Output Data} + VerticalPad + 0 + + + + Bounds + {{35.756522913285586, 76.135163494270586}, {96.963460186910254, 22.647570933034313}} + Class + ShapedGraphic + ID + 63 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Run Read Tasks} + VerticalPad + 0 + + + + Class + LineGraphic + ID + 55 + Points + + {284.7817650068676, 98.557480658089872} + {284.64198759900114, 119.79436468300386} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + Tail + + ID + 3 + + + + Class + LineGraphic + ID + 54 + Points + + {383.0622249081519, 98.557336493488449} + {383.59113764620827, 119.79436468300386} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + Tail + + ID + 5 + + + + Class + LineGraphic + ID + 47 + Points + + {186.83452620165366, 98.557471300929166} + {186.64350896800912, 119.79436603946132} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + Tail + + ID + 1 + + + + Bounds + {{339.04570890504897, 76.135164810024577}, {87.462154268907966, 21.922326694922866}} + Class + ShapedGraphic + ID + 5 + Shape + RoundRect + Style + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 CPU} + + + + Bounds + {{241.12612314746704, 76.135164810024577}, {87.462154268907966, 21.922326694922866}} + Class + ShapedGraphic + ID + 3 + Shape + RoundRect + Style + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 CPU} + + + + Bounds + {{143.20653738988617, 76.135164810024577}, {87.462154268907966, 21.922326694922866}} + Class + ShapedGraphic + ID + 1 + Shape + RoundRect + Style + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 CPU} + + + + GridInfo + + HPages + 1 + KeepToScale + + Layers + + + Lock + NO + Name + レイヤー 1 + Print + YES + View + YES + + + LayoutInfo + + Animate + NO + circoMinDist + 18 + circoSeparation + 0.0 + layoutEngine + dot + neatoSeparation + 0.0 + twopiSeparation + 0.0 + + Orientation + 2 + PrintOnePage + + RowAlign + 1 + RowSpacing + 36 + SheetTitle + キャンバス 5 + UniqueID + 5 + VPages + 1 + + + ActiveLayerIndex + 0 + AutoAdjust + + BackgroundGraphic + + Bounds + {{0, 0}, {559.00000476837158, 783}} + Class + SolidGraphic + ID + 2 + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + + BaseZoom + 0 + CanvasOrigin + {0, 0} + ColumnAlign + 1 + ColumnSpacing + 36 + DisplayScale + 1 0/72 in = 1.0000 in + GraphicsList + + + Bounds + {{334.39130494107997, 156.60871119983503}, {49.275362489103792, 18}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 89 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} + VerticalPad + 0 + + + + Bounds + {{334.26084897031581, 195.56522448919725}, {49.275362489103792, 18}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 88 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} + VerticalPad + 0 + + + + Bounds + {{334.26084442447291, 114.89855854958299}, {49.275362489103792, 18}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 87 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} + VerticalPad + 0 + + + + Bounds + {{334.2608444593975, 84.23188608069907}, {49.275362489103792, 18}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 86 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} + VerticalPad + 0 + + + + Bounds + {{334.26087017367945, 55.565213664202048}, {49.275362489103792, 18}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 85 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} + VerticalPad + 0 + + + + Bounds + {{397.30432570771831, 138.60871369358296}, {21.739131927490234, 54}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 84 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} + VerticalPad + 0 + + + + Bounds + {{432.55072162820414, 52.608687533630622}, {49.275362489103792, 23.913043975830078}} + Class + ShapedGraphic + ID + 60 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Print} + + + + Bounds + {{383.53625660737328, 192.60868467146548}, {49.275362489103792, 23.913043975830078}} + Class + ShapedGraphic + ID + 59 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 \uc0\u966 } + + + + Bounds + {{383.53622994821075, 81.275359974491167}, {49.275362489103792, 23.913043975830078}} + Class + ShapedGraphic + ID + 57 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 \uc0\u966 } + + + + Bounds + {{383.53622994821075, 52.608686852364372}, {49.275362489103792, 23.913043975830078}} + Class + ShapedGraphic + ID + 56 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Task} + + + + Bounds + {{383.53622994821075, 109.94203485811569}, {49.275362489103792, 23.913043975830078}} + Class + ShapedGraphic + ID + 55 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Task} + + + + Bounds + {{285.24638086108246, 192.6086853884571}, {49.275362489103792, 23.913043975830078}} + Class + ShapedGraphic + ID + 54 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Task} + + + + Bounds + {{299.01449806801548, 136.23188016739817}, {21.739131927490234, 54}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 53 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} + VerticalPad + 0 + + + + Bounds + {{285.24637670575191, 109.94203121298645}, {49.275362489103792, 23.913043975830078}} + Class + ShapedGraphic + ID + 52 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Task} + + + + Bounds + {{285.24637734550072, 52.608682985280268}, {49.275362489103792, 23.913043975830078}} + Class + ShapedGraphic + ID + 51 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Task} + + + + Bounds + {{285.24638086108223, 81.275358609459147}, {49.275362489103792, 23.913043975830078}} + Class + ShapedGraphic + ID + 50 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Task} + + + + Bounds + {{235.97102011391181, 192.60869094018645}, {49.275362489103792, 23.913043975830078}} + Class + ShapedGraphic + ID + 49 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Task} + + + + Bounds + {{249.73913732084486, 136.23188571912755}, {21.739131927490234, 54}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 48 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} + VerticalPad + 0 + + + + Bounds + {{235.97101595858126, 109.94203676471582}, {49.275362489103792, 23.913043975830078}} + Class + ShapedGraphic + ID + 47 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Task} + + + + Bounds + {{235.97101659833007, 52.608688537009655}, {49.275362489103792, 23.913043975830078}} + Class + ShapedGraphic + ID + 46 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Task} + + + + Bounds + {{235.97102011391155, 81.275364161188506}, {49.275362489103792, 23.913043975830078}} + Class + ShapedGraphic + ID + 45 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Task} + + + + Bounds + {{90.985939025878906, 52.608685112079655}, {143.38906860351562, 23.913043975830078}} + Class + ShapedGraphic + ID + 1 + Shape + Rectangle + Style + + stroke + + GapRatio + 0.5 + Width + 4 + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 mmap} + + + + Bounds + {{36.23188297689962, 136.23188743869747}, {21.739131927490234, 54}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 44 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} + VerticalPad + 0 + + + + Bounds + {{22.463768193562018, 114.89855202614974}, {49.275362489103792, 14}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 43 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 CPU 2} + VerticalPad + 0 + + + + Bounds + {{22.463767386814681, 197.56521606445312}, {49.275362489103792, 14}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 42 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 CPU n} + VerticalPad + 0 + + + + Bounds + {{22.463768291513439, 86.231881494908663}, {49.275362489103792, 14}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 41 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 CPU 1} + VerticalPad + 0 + + + + Bounds + {{22.463764981997166, 57.565211909629944}, {49.275362489103792, 14}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 40 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 CPU 0} + VerticalPad + 0 + + + + Bounds + {{507.03126133303186, 30.130432522750308}, {26.086956611878463, 14}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 39 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 time} + VerticalPad + 0 + + + + Class + LineGraphic + ID + 38 + Points + + {88.144922561040545, 36.630433711552804} + {507.03126133303186, 36.630433711552804} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + + + GridInfo + + HPages + 1 + KeepToScale + + Layers + + + Lock + NO + Name + レイヤー 1 + Print + YES + View + YES + + + LayoutInfo + + Animate + NO + circoMinDist + 18 + circoSeparation + 0.0 + layoutEngine + dot + neatoSeparation + 0.0 + twopiSeparation + 0.0 + + Orientation + 2 + PrintOnePage + + RowAlign + 1 + RowSpacing + 36 + SheetTitle + キャンバス 6 + UniqueID + 6 + VPages + 1 + + + ActiveLayerIndex + 0 + AutoAdjust + + BackgroundGraphic + + Bounds + {{0, 0}, {559.00000476837158, 783}} + Class + SolidGraphic + ID + 2 + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + + BaseZoom + 0 + CanvasOrigin + {0, 0} + ColumnAlign + 1 + ColumnSpacing + 36 + DisplayScale + 1 0/72 in = 1.0000 in + GraphicsList + + + Bounds + {{202.72800957201989, 71.6970157059841}, {49.275362489103792, 23.913043975830078}} + Class + ShapedGraphic + ID + 95 + Shape + Rectangle + Style + + stroke + + GapRatio + 0.5 + Width + 4 + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 read} + + + + Bounds + {{202.46713784127704, 211.69702097911502}, {49.275362489103792, 23.913043975830078}} + Class + ShapedGraphic + ID + 94 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Task} + + + + Bounds + {{216.23525504821006, 155.32021575805612}, {21.739131927490234, 54}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 93 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} + VerticalPad + 0 + + + + Bounds + {{202.46713368594649, 129.0303668036444}, {49.275362489103792, 23.913043975830078}} + Class + ShapedGraphic + ID + 92 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Task} + + + + Bounds + {{202.46713784127675, 100.3636942001171}, {49.275362489103792, 23.913043975830078}} + Class + ShapedGraphic + ID + 91 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Task} + + + + Bounds + {{153.45266360579996, 71.6970157059841}, {49.275362489103792, 23.913043975830078}} + Class + ShapedGraphic + ID + 90 + Shape + Rectangle + Style + + stroke + + GapRatio + 0.5 + Width + 4 + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 read} + + + + Bounds + {{300.88742091110942, 175.69704118637671}, {49.275362489103792, 18}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 89 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} + VerticalPad + 0 + + + + Bounds + {{300.75696494034526, 214.65355447573893}, {49.275362489103792, 18}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 88 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} + VerticalPad + 0 + + + + Bounds + {{300.75696039450236, 133.98688853612467}, {49.275362489103792, 18}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 87 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} + VerticalPad + 0 + + + + Bounds + {{300.75696042942695, 103.32021606724076}, {49.275362489103792, 18}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 86 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} + VerticalPad + 0 + + + + Bounds + {{300.7569861437089, 74.653543650743742}, {49.275362489103792, 18}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 85 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} + VerticalPad + 0 + + + + Bounds + {{363.8004416777477, 157.69704368012464}, {21.739131927490234, 54}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 84 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} + VerticalPad + 0 + + + + Bounds + {{399.04683759823354, 71.697017520172309}, {49.275362489103792, 23.913043975830078}} + Class + ShapedGraphic + ID + 60 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Print} + + + + Bounds + {{350.03237257740273, 211.69701465800716}, {49.275362489103792, 23.913043975830078}} + Class + ShapedGraphic + ID + 59 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 \uc0\u966 } + + + + Bounds + {{350.03234591824014, 71.697016838906066}, {49.275362489103792, 23.913043975830078}} + Class + ShapedGraphic + ID + 56 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Task} + + + + Bounds + {{350.03234591824014, 129.03036484465736}, {49.275362489103792, 23.913043975830078}} + Class + ShapedGraphic + ID + 55 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Task} + + + + Bounds + {{251.74249683111179, 211.69701537499878}, {49.275362489103792, 23.913043975830078}} + Class + ShapedGraphic + ID + 54 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Task} + + + + Bounds + {{265.51061403804499, 155.32021015393985}, {21.739131927490234, 54}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 53 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} + VerticalPad + 0 + + + + Bounds + {{251.74249267578125, 129.03036119952813}, {49.275362489103792, 23.913043975830078}} + Class + ShapedGraphic + ID + 52 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Task} + + + + Bounds + {{251.74249331553006, 71.697012971821962}, {49.275362489103792, 23.913043975830078}} + Class + ShapedGraphic + ID + 51 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Task} + + + + Bounds + {{251.74249683111151, 100.36368859600084}, {49.275362489103792, 23.913043975830078}} + Class + ShapedGraphic + ID + 50 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Task} + + + + Bounds + {{153.19179187505711, 211.69702097911502}, {49.275362489103792, 23.913043975830078}} + Class + ShapedGraphic + ID + 49 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Task} + + + + Bounds + {{166.95990908199013, 155.32021575805612}, {21.739131927490234, 54}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 48 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} + VerticalPad + 0 + + + + Bounds + {{153.19178771972656, 129.0303668036444}, {49.275362489103792, 23.913043975830078}} + Class + ShapedGraphic + ID + 47 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Task} + + + + Bounds + {{350.03232141560886, 100.36368327572926}, {49.275362489103792, 23.913043975830078}} + Class + ShapedGraphic + ID + 46 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Task} + + + + Bounds + {{153.19179187505682, 100.3636942001171}, {49.275362489103792, 23.913043975830078}} + Class + ShapedGraphic + ID + 45 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Task} + + + + Bounds + {{103.91641958445335, 71.697011318848681}, {49.275362489103792, 23.913043975830078}} + Class + ShapedGraphic + ID + 1 + Shape + Rectangle + Style + + stroke + + GapRatio + 0.5 + Width + 4 + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 read} + + + + Bounds + {{52.003381296893394, 155.32020601607195}, {21.739131927490234, 54}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 44 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} + VerticalPad + 0 + + + + Bounds + {{38.2352665135558, 133.98687060352424}, {49.275362489103792, 14}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 43 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 CPU 2} + VerticalPad + 0 + + + + Bounds + {{38.235265706808462, 216.6535346418276}, {49.275362489103792, 14}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 42 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 CPU n} + VerticalPad + 0 + + + + Bounds + {{38.235266611507228, 105.32020007228316}, {49.275362489103792, 14}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 41 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 CPU 1} + VerticalPad + 0 + + + + Bounds + {{38.235263301990955, 76.653530487004431}, {49.275362489103792, 14}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 40 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 CPU 0} + VerticalPad + 0 + + + + Bounds + {{467.1875104424546, 49.21875496720898}, {26.086956611878463, 14}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 39 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 time} + VerticalPad + 0 + + + + Class + LineGraphic + ID + 38 + Points + + {103.9164208810343, 55.718752288927313} + {467.1875104424546, 55.718752288927313} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + + + GridInfo + + HPages + 1 + KeepToScale + + Layers + + + Lock + NO + Name + レイヤー 1 + Print + YES + View + YES + + + LayoutInfo + + Animate + NO + circoMinDist + 18 + circoSeparation + 0.0 + layoutEngine + dot + neatoSeparation + 0.0 + twopiSeparation + 0.0 + + Orientation + 2 + PrintOnePage + + RowAlign + 1 + RowSpacing + 36 + SheetTitle + キャンバス 7 + UniqueID + 7 + VPages + 1 + + + ActiveLayerIndex + 0 + AutoAdjust + + BackgroundGraphic + + Bounds + {{0, 0}, {559.00000476837158, 783}} + Class + SolidGraphic + ID + 2 + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + + BaseZoom + 0 + CanvasOrigin + {0, 0} + ColumnAlign + 1 + ColumnSpacing + 36 + DisplayScale + 1 0/72 in = 1.0000 in + GraphicsList + + + Class + LineGraphic + ID + 64 + Points + + {49.653008513727684, 91.497634887695312} + {461.20685160676669, 133.6538510562402} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + Pattern + 1 + TailArrow + 0 + + + + + Class + LineGraphic + ID + 63 + Points + + {49.653018865890594, 93.809780484825737} + {305.25079808451972, 133.6538510562402} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + Pattern + 1 + TailArrow + 0 + + + + + Class + LineGraphic + Head + + ID + 1 + + ID + 62 + Points + + {47.903417325849574, 91.497634887695312} + {120.94606067102637, 139.08953779497651} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + Pattern + 1 + TailArrow + 0 + + + + + Bounds + {{20.999968723432573, 52.335470017596833}, {54, 39.162162780761719}} + Class + ShapedGraphic + ID + 61 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 search word} + + + + Bounds + {{147.6073101951589, 359.71503558963059}, {317.7853233477901, 31.784977547982319}} + Class + ShapedGraphic + ID + 60 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 o_data} + VerticalPad + 0 + + + + Bounds + {{212.95097580314038, 307.33545472841536}, {187.09803771972656, 31.784977547982319}} + Class + ShapedGraphic + ID + 56 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 match_line_head_addr} + + + + Class + LineGraphic + ID + 55 + Points + + {305.45764891346744, 199.10573300575697} + {305.25079808451972, 216.10573300575697} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + + + Class + LineGraphic + ID + 54 + Points + + {461.41370243571453, 199.10573300575737} + {461.20685160676669, 216.10573300575732} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + + + Class + LineGraphic + ID + 47 + Points + + {150.99997069003328, 199.10573542893991} + {150.79311986108556, 216.10573542893991} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + + + Bounds + {{406.89157225253325, 254.10573542893991}, {107.8834951456311, 15.229729729729716}} + Class + ShapedGraphic + ID + 46 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 o_data[2]} + VerticalPad + 0 + + + + Bounds + {{252.5582287466739, 254.10573542893991}, {107.8834951456311, 15.229729729729716}} + Class + ShapedGraphic + ID + 45 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 o_data[1]} + VerticalPad + 0 + + + + Bounds + {{98.974091783783237, 254.551681168686}, {107.8834951456311, 15.229729729729716}} + Class + ShapedGraphic + ID + 42 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 o_data[0]} + VerticalPad + 0 + + + + Bounds + {{500.10342314071136, 226.38951838792428}, {37.89657458552611, 15.229729729729716}} + Class + ShapedGraphic + ID + 41 + Shape + Rectangle + + + Bounds + {{462.20684855518527, 226.38951838792428}, {37.89657458552611, 15.229729729729716}} + Class + ShapedGraphic + ID + 40 + Shape + Rectangle + + + Bounds + {{424.31027396965919, 226.38951838792428}, {37.89657458552611, 15.229729729729716}} + Class + ShapedGraphic + ID + 39 + Shape + Rectangle + + + Bounds + {{386.413699384133, 226.38951838792428}, {37.89657458552611, 15.229729729729716}} + Class + ShapedGraphic + ID + 38 + Shape + Rectangle + + + Bounds + {{306.49998702496987, 227.49086828767901}, {37.89657458552611, 15.229729729729716}} + Class + ShapedGraphic + ID + 37 + Shape + Rectangle + + + Bounds + {{268.60341743517461, 227.49086828767901}, {37.89657458552611, 15.229729729729716}} + Class + ShapedGraphic + ID + 36 + Shape + Rectangle + + + Bounds + {{170.24140919339075, 226.38951248389023}, {37.89657458552611, 15.229729729729716}} + Class + ShapedGraphic + ID + 31 + Shape + Rectangle + + + Bounds + {{132.34483460786467, 226.38951248389023}, {37.89657458552611, 15.229729729729716}} + Class + ShapedGraphic + ID + 30 + Shape + Rectangle + + + Bounds + {{94.448260022338573, 226.38951248389023}, {37.89657458552611, 15.229729729729716}} + Class + ShapedGraphic + ID + 29 + Shape + Rectangle + + + Bounds + {{404.00697302107903, 37.105735428939965}, {107.8834951456311, 15.229729729729716}} + Class + ShapedGraphic + ID + 27 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 i_data[2]} + VerticalPad + 0 + + + + Bounds + {{248.92444874923459, 37.105735428939965}, {107.8834951456311, 15.229729729729716}} + Class + ShapedGraphic + ID + 26 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 i_data[1]} + VerticalPad + 0 + + + + Bounds + {{96.089497292923582, 37.105735428939965}, {107.8834951456311, 15.229729729729716}} + Class + ShapedGraphic + ID + 24 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 i_data[0]} + VerticalPad + 0 + + + + Class + LineGraphic + Head + + ID + 5 + + ID + 23 + Points + + {460.66043186378892, 91.997608797296408} + {460.25698524443328, 138.86251070923186} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + Tail + + ID + 18 + + + + Class + LineGraphic + Head + + ID + 3 + + ID + 22 + Points + + {306.32709853045554, 91.997608797296408} + {305.9236519110998, 138.86251070923186} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + Tail + + ID + 17 + + + + Class + LineGraphic + Head + + ID + 1 + + ID + 21 + Points + + {151.9937651971222, 91.997608797296408} + {151.59031857776631, 138.86251070923186} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + Tail + + ID + 19 + + + + Bounds + {{74.999970690033251, 52.335465158669571}, {154.33333333333334, 39.162162162162176}} + Class + ShapedGraphic + ID + 19 + Shape + Rectangle + + + Bounds + {{383.66663735669988, 52.335465158669571}, {154.33333333333334, 39.162162162162176}} + Class + ShapedGraphic + ID + 18 + Shape + Rectangle + + + Bounds + {{229.33330402336659, 52.335465158669571}, {154.33333333333334, 39.162162162162176}} + Class + ShapedGraphic + ID + 17 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 *.txt} + + + + Bounds + {{406.14236551203999, 182.87600569920977}, {107.8834951456311, 15.229729729729716}} + Class + ShapedGraphic + ID + 9 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 task2} + VerticalPad + 0 + + + + Bounds + {{251.80903217870659, 182.87600569920977}, {107.8834951456311, 15.229729729729716}} + Class + ShapedGraphic + ID + 8 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 task1} + VerticalPad + 0 + + + + Bounds + {{97.475698845373032, 182.87600569920977}, {107.8834951456311, 15.229729729729716}} + Class + ShapedGraphic + ID + 7 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 task0} + VerticalPad + 0 + + + + Bounds + {{391.15854674181355, 139.36249218569651}, {137.85113268608418, 39.162162162162176}} + Class + ShapedGraphic + ID + 5 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Exec.cc(3)} + + + + Bounds + {{236.82521340847998, 139.36249218569651}, {137.85113268608418, 39.162162162162176}} + Class + ShapedGraphic + ID + 3 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Exec.cc(2)} + + + + Bounds + {{82.491880075146483, 139.36249218569651}, {137.85113268608418, 39.162162162162176}} + Class + ShapedGraphic + ID + 1 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Exec.cc(1)} + + + + GridInfo + + HPages + 1 + KeepToScale + + Layers + + + Lock + NO + Name + レイヤー 1 + Print + YES + View + YES + + + LayoutInfo + + Animate + NO + circoMinDist + 18 + circoSeparation + 0.0 + layoutEngine + dot + neatoSeparation + 0.0 + twopiSeparation + 0.0 + + Orientation + 2 + PrintOnePage + + RowAlign + 1 + RowSpacing + 36 + SheetTitle + キャンバス 2 + UniqueID + 2 + VPages + 1 + + + ActiveLayerIndex + 0 + AutoAdjust + + BackgroundGraphic + + Bounds + {{0, 0}, {559.00000476837158, 783}} + Class + SolidGraphic + ID + 2 + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + + BaseZoom + 0 + CanvasOrigin + {0, 0} + ColumnAlign + 1 + ColumnSpacing + 36 + DisplayScale + 1 0/72 in = 1.0000 in + GraphicsList + + + Class + LineGraphic + Head + + ID + 93 + + ID + 94 + Points + + {383.85364640780745, 114.447626257255} + {383.85366976513416, 166.30170137391778} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + + + Bounds + {{350.05206170895087, 166.80170136168312}, {67.603225704583608, 20.29505431042616}} + Class + ShapedGraphic + ID + 93 + Shape + RoundRect + Style + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Task} + + + + Bounds + {{417.65526804526382, 90.691558916786562}, {16.406452178955078, 20.29505431042616}} + Class + ShapedGraphic + ID + 92 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + + + Class + LineGraphic + Head + + ID + 88 + + ID + 91 + Points + + {451.45687572231293, 87.730528335730213} + {451.45687572231293, 166.3017053286693} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + Tail + + ID + 90 + + + + Bounds + {{417.65525801352942, 66.935474010213539}, {67.603225704583608, 20.29505431042616}} + Class + ShapedGraphic + ID + 90 + Shape + Rectangle + + + Bounds + {{350.05203247070312, 90.691556957075377}, {67.603225170680432, 20.29505431042616}} + Class + ShapedGraphic + ID + 89 + Shape + Rectangle + + + Bounds + {{417.65527562514058, 166.80170534375981}, {67.603225067184425, 20.29505431042616}} + Class + ShapedGraphic + ID + 88 + Shape + RoundRect + Style + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Task} + + + + Class + LineGraphic + ID + 38 + Points + + {270.412916704358, 126.35653368362797} + {350.05202102193653, 126.35653368362797} + + Style + + stroke + + HeadArrow + 0 + Legacy + + Pattern + 1 + TailArrow + 0 + + + + + Class + LineGraphic + Head + + ID + 79 + + ID + 80 + Points + + {169.00807405463038, 114.44763858642513} + {169.00809741195707, 166.30171370308824} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + + + Bounds + {{135.20648935577375, 166.80171369085355}, {67.603225704583608, 20.29505431042616}} + Class + ShapedGraphic + ID + 79 + Shape + RoundRect + Style + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Task} + + + + Bounds + {{270.41291262057581, 66.935490293111201}, {16.406452178955078, 20.29505431042616}} + Class + ShapedGraphic + ID + 78 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + + + Bounds + {{202.80969569208682, 90.691571245956823}, {16.406452178955078, 20.29505431042616}} + Class + ShapedGraphic + ID + 75 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + + + Bounds + {{135.20644905757021, 66.935498915653014}, {16.406452178955078, 20.29505431042616}} + Class + ShapedGraphic + ID + 74 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + + + Bounds + {{-2.4800783648970537e-10, 85.483870310292161}, {67.603220332591917, 5.9828174627037463}} + Class + ShapedGraphic + ID + 77 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Input Data} + VerticalPad + 0 + + + + Class + LineGraphic + Head + + ID + 59 + + ID + 68 + Points + + {236.61131267939129, 87.730540664900616} + {236.61131267939129, 166.30171765783984} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + Tail + + ID + 64 + + + + Class + LineGraphic + Head + + ID + 57 + + ID + 66 + Points + + {101.40482894442738, 87.730548238875741} + {101.40482894442738, 166.30172037478511} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + Tail + + ID + 65 + + + + Bounds + {{67.603221904672594, 66.935493944267563}, {67.603220332591917, 20.29505431042616}} + Class + ShapedGraphic + ID + 65 + Shape + Rectangle + + + Bounds + {{202.80968566035241, 66.935486339383942}, {67.603225704583608, 20.29505431042616}} + Class + ShapedGraphic + ID + 64 + Shape + Rectangle + + + Bounds + {{135.20646011752601, 90.691569286245652}, {67.603225170680432, 20.29505431042616}} + Class + ShapedGraphic + ID + 63 + Shape + Rectangle + + + Bounds + {{202.80970327196354, 166.80171767293032}, {67.603225067184425, 20.29505431042616}} + Class + ShapedGraphic + ID + 59 + Shape + RoundRect + Style + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Task} + + + + Bounds + {{67.603231418756508, 166.80172035896712}, {67.603225704583608, 20.29505431042616}} + Class + ShapedGraphic + ID + 57 + Shape + RoundRect + Style + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Task} + + + + GridInfo + + HPages + 1 + KeepToScale + + Layers + + + Lock + NO + Name + レイヤー 1 + Print + YES + View + YES + + + LayoutInfo + + Animate + NO + circoMinDist + 18 + circoSeparation + 0.0 + layoutEngine + dot + neatoSeparation + 0.0 + twopiSeparation + 0.0 + + Orientation + 2 + PrintOnePage + + RowAlign + 1 + RowSpacing + 36 + SheetTitle + キャンバス 3 + UniqueID + 3 + VPages + 1 + + + ActiveLayerIndex + 1 + AutoAdjust + + BackgroundGraphic + + Bounds + {{0, 0}, {559.00000476837158, 783}} + Class + SolidGraphic + ID + 2 + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + + BaseZoom + 0 + CanvasOrigin + {0, 0} + ColumnAlign + 1 + ColumnSpacing + 36 + DisplayScale + 1 0/72 in = 1.0000 in + GraphicsList + + + Bounds + {{199.37968694890611, 49.198422967078471}, {51, 24}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Color + + b + 0 + g + 0 + r + 0 + + Font + Helvetica + Size + 12 + + ID + 158 + Layer + 1 + Line + + ID + 157 + Offset + 5.6338024139404297 + Position + 0.49468076229095459 + RotationType + 2 + + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Align + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720 + +\f0\fs24 \cf0 L - s - 1} + + Wrap + NO + + + Class + LineGraphic + ID + 157 + Layer + 1 + Points + + {74.19355125617794, 66.832225381018901} + {378.80645771537775, 66.832225381018901} + + Style + + stroke + + HeadArrow + DimensionArrow + HeadScale + 1.5000001192092896 + Legacy + + TailArrow + DimensionArrow + TailScale + 1.5000001192092896 + + + + + Bounds + {{466.22263310395863, 172.07463586488399}, {67.603220332591889, 13.591787818248473}} + Class + ShapedGraphic + ID + 156 + Layer + 1 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} + VerticalPad + 0 + + + + Bounds + {{-1.1086501316981412e-07, 175.87913736930952}, {67.603220332591917, 5.9828174627037463}} + Class + ShapedGraphic + ID + 155 + Layer + 1 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Task1} + VerticalPad + 0 + + + + Bounds + {{-1.1086496343182262e-07, 148.27490804138313}, {67.603220332591917, 5.9828174627037463}} + Class + ShapedGraphic + ID + 154 + Layer + 1 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Task0} + VerticalPad + 0 + + + + Bounds + {{296.68463265950436, 66.832219349741379}, {17, 24}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Color + + b + 0 + g + 0 + r + 0 + + Font + Helvetica + Size + 12 + + ID + 152 + Layer + 1 + Line + + ID + 151 + Offset + 5.6338024139404297 + Position + 0.49468076229095459 + RotationType + 2 + + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Align + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720 + +\f0\fs24 \cf0 s} + + Wrap + NO + + + Class + LineGraphic + ID + 151 + Layer + 1 + Points + + {233.11282722371749, 84.466021763681809} + {378.80639554040221, 84.466021763681809} + + Style + + stroke + + HeadArrow + DimensionArrow + HeadScale + 1.5000001192092896 + Legacy + + TailArrow + DimensionArrow + TailScale + 1.5000001192092896 + + + + + Bounds + {{158.72221488687128, 83.032363241135769}, {17, 24}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Color + + b + 0 + g + 0 + r + 0 + + Font + Helvetica + Size + 12 + + ID + 16 + Layer + 1 + Line + + ID + 12 + Offset + 5.6338024139404297 + Position + 0.49468076229095459 + RotationType + 2 + + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Align + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720 + +\f0\fs24 \cf0 L} + + Wrap + NO + + + Class + LineGraphic + ID + 12 + Layer + 1 + Points + + {74.193549059554115, 100.6661656550762} + {262.25154226116922, 100.6661656550762} + + Style + + stroke + + HeadArrow + DimensionArrow + HeadScale + 1.5000001192092896 + Legacy + + TailArrow + DimensionArrow + TailScale + 1.5000001192092896 + + + + + Bounds + {{466.22263310395869, 116.86631632951934}, {67.603220332591889, 13.591787818248473}} + Class + ShapedGraphic + ID + 147 + Layer + 1 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} + VerticalPad + 0 + + + + Bounds + {{378.80639006071425, 112.70106277689568}, {87.416139607127036, 21.922237673181332}} + Class + ShapedGraphic + ID + 146 + Layer + 1 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + + + Bounds + {{349.66772661482293, 112.70105990245703}, {29.138731100554878, 21.922237673181332}} + Class + ShapedGraphic + ID + 142 + Layer + 1 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 g} + + + + Bounds + {{320.52895653863021, 112.70106335661275}, {29.138731100554878, 21.922237673181332}} + Class + ShapedGraphic + ID + 141 + Layer + 1 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 n} + + + + Bounds + {{291.39025037132768, 112.70106335661275}, {29.138731100554878, 21.922237673181332}} + Class + ShapedGraphic + ID + 140 + Layer + 1 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 i} + + + + Bounds + {{262.25151732791704, 112.70105990245703}, {29.138731100554878, 21.922237673181332}} + Class + ShapedGraphic + ID + 139 + Layer + 1 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 o} + + + + Bounds + {{163.5596377938777, 144.47048672926633}, {67.603220332591889, 13.591787818248473}} + Class + ShapedGraphic + ID + 138 + Layer + 1 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} + VerticalPad + 0 + + + + Bounds + {{233.11281116061423, 112.70105990245703}, {29.138731100554878, 21.922237673181332}} + Class + ShapedGraphic + ID + 137 + Layer + 1 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 d} + + + + Bounds + {{163.5596377938777, 116.86631046290164}, {67.603220332591889, 13.591787818248473}} + Class + ShapedGraphic + ID + 136 + Layer + 1 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} + VerticalPad + 0 + + + + Bounds + {{437.08382455469155, 167.90941024522721}, {29.138713836669922, 21.922237673181332}} + Class + ShapedGraphic + ID + 133 + Layer + 1 + Shape + Rectangle + + + Bounds + {{407.94510747418957, 167.90941214175314}, {29.138713836669922, 21.922237673181332}} + Class + ShapedGraphic + ID + 132 + Layer + 1 + Shape + Rectangle + + + Bounds + {{378.80639745221657, 167.9094108455767}, {29.138713836669922, 21.922237673181332}} + Class + ShapedGraphic + ID + 131 + Layer + 1 + Shape + Rectangle + + + Bounds + {{349.66768170373228, 167.90940695704731}, {29.138713836669922, 21.922237673181332}} + Class + ShapedGraphic + ID + 130 + Layer + 1 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 g} + + + + Bounds + {{320.52895452008778, 167.90942557512369}, {29.138713836669922, 21.922237673181332}} + Class + ShapedGraphic + ID + 129 + Layer + 1 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 n} + + + + Bounds + {{291.39024449811455, 167.90942427894726}, {29.138713836669922, 21.922237673181332}} + Class + ShapedGraphic + ID + 128 + Layer + 1 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 i} + + + + Bounds + {{262.25152874962947, 167.90942039041789}, {29.138713836669922, 21.922237673181332}} + Class + ShapedGraphic + ID + 127 + Layer + 1 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 o} + + + + Bounds + {{349.66768129743144, 140.3052081769664}, {29.138713836669922, 21.922237673181332}} + Class + ShapedGraphic + ID + 123 + Layer + 1 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 g} + + + + Bounds + {{320.52897127545856, 140.30520688078994}, {29.138713836669922, 21.922237673181332}} + Class + ShapedGraphic + ID + 122 + Layer + 1 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 n} + + + + Bounds + {{291.39025552697427, 140.3052029922606}, {29.138713836669922, 21.922237673181332}} + Class + ShapedGraphic + ID + 121 + Layer + 1 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 i} + + + + Bounds + {{262.25153844647224, 140.30520488878653}, {29.138713836669922, 21.922237673181332}} + Class + ShapedGraphic + ID + 120 + Layer + 1 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 o} + + + + Bounds + {{233.11282842449918, 140.3052035926101}, {29.138713836669922, 21.922237673181332}} + Class + ShapedGraphic + ID + 119 + Layer + 1 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 d} + + + + Bounds + {{74.193548601308521, 111.19088566041445}, {87.416139607127036, 21.922237673181332}} + Class + ShapedGraphic + ID + 102 + Layer + 1 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + + + Bounds + {{132.47097437176552, 140.30523771132886}, {29.138713836669922, 21.922237673181332}} + Class + ShapedGraphic + ID + 101 + Layer + 1 + Shape + Rectangle + + + Bounds + {{103.33226434979292, 140.30523641515236}, {29.138713836669922, 21.922237673181332}} + Class + ShapedGraphic + ID + 100 + Layer + 1 + Shape + Rectangle + + + Bounds + {{74.193548601308635, 140.305232526623}, {29.138713836669922, 21.922237673181332}} + Class + ShapedGraphic + ID + 99 + Layer + 1 + Shape + Rectangle + + + Bounds + {{7.8482846177507781e-07, 122.71560432584597}, {67.603220332591917, 5.9828174627037463}} + Class + ShapedGraphic + ID + 98 + Layer + 1 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Input Data} + VerticalPad + 0 + + + + GridInfo + + HPages + 1 + KeepToScale + + Layers + + + Lock + NO + Name + レイヤー 2 + Print + YES + View + NO + + + Lock + NO + Name + レイヤー 1 + Print + YES + View + YES + + + LayoutInfo + + Animate + NO + circoMinDist + 18 + circoSeparation + 0.0 + layoutEngine + dot + neatoSeparation + 0.0 + twopiSeparation + 0.0 + + Orientation + 2 + PrintOnePage + + RowAlign + 1 + RowSpacing + 36 + SheetTitle + semi + UniqueID + 8 + VPages + 1 + + + ActiveLayerIndex + 0 + AutoAdjust + + BackgroundGraphic + + Bounds + {{0, 0}, {559.00000476837158, 783}} + Class + SolidGraphic + ID + 2 + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + + BaseZoom + 0 + CanvasOrigin + {0, 0} + ColumnAlign + 1 + ColumnSpacing + 36 + DisplayScale + 1 0/72 in = 1.0000 in + GraphicsList + + + Bounds + {{273.65003889882553, 201.54576519289398}, {162, 28}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Color + + b + 0 + g + 0 + r + 0 + + Font + Helvetica + Size + 12 + + ID + 164 + Line + + ID + 163 + Offset + 5.6338024139404297 + Position + 0.49468076229095459 + RotationType + 2 + + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Align + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;\f1\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720 + +\f0\fs24 \cf0 \'96\'7b\'97\'88\'82\'cc +\f1 Task1 +\f0 \'82\'cc\'93\'c7\'82\'dd\'8d\'9e\'82\'dd\'94\'cd\'88\'cd} + + Wrap + NO + + + Class + LineGraphic + ID + 163 + Points + + {261.6213730715084, 221.17956760683441} + {449.67936627312343, 221.17956760683441} + + Style + + stroke + + HeadArrow + DimensionArrow + HeadScale + 1.5000001192092896 + Legacy + + TailArrow + DimensionArrow + TailScale + 1.5000001192092896 + + + + + Bounds + {{86.22221538064781, 201.54576519289384}, {162, 28}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Color + + b + 0 + g + 0 + r + 0 + + Font + Helvetica + Size + 12 + + ID + 162 + Line + + ID + 161 + Offset + 5.6338024139404297 + Position + 0.49468076229095459 + RotationType + 2 + + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Align + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;\f1\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720 + +\f0\fs24 \cf0 \'96\'7b\'97\'88\'82\'cc +\f1 Task0 +\f0 \'82\'cc\'93\'c7\'82\'dd\'8d\'9e\'82\'dd\'94\'cd\'88\'cd} + + Wrap + NO + + + Class + LineGraphic + ID + 161 + Points + + {74.193549553330641, 221.17956760683427} + {262.25154275494572, 221.17956760683427} + + Style + + stroke + + HeadArrow + DimensionArrow + HeadScale + 1.5000001192092896 + Legacy + + TailArrow + DimensionArrow + TailScale + 1.5000001192092896 + + + + + Class + LineGraphic + ID + 160 + Points + + {261.62138032405335, 49.19842055057628} + {261.62138032405335, 280.58253206556373} + + Style + + stroke + + HeadArrow + 0 + Legacy + + TailArrow + 0 + Width + 3 + + + + + Bounds + {{320.52901282262371, 237.48911203919289}, {87.416139607127036, 36}} + Class + ShapedGraphic + ID + 159 + Shape + Rectangle + Style + + stroke + + CornerRadius + 9 + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Task1} + + + + Bounds + {{124.51447493839382, 237.48909990036617}, {87.416139607127036, 36}} + Class + ShapedGraphic + ID + 4 + Shape + Rectangle + Style + + stroke + + CornerRadius + 9 + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Task0} + + + + Bounds + {{199.37968705977113, 49.198422967078471}, {51, 24}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Color + + b + 0 + g + 0 + r + 0 + + Font + Helvetica + Size + 12 + + ID + 158 + Line + + ID + 157 + Offset + 5.6338024139404297 + Position + 0.49468076229095459 + RotationType + 2 + + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Align + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720 + +\f0\fs24 \cf0 L - s - 1} + + Wrap + NO + + + Class + LineGraphic + ID + 157 + Points + + {74.193551367042957, 66.832225381018901} + {378.80645782624276, 66.832225381018901} + + Style + + stroke + + HeadArrow + DimensionArrow + HeadScale + 1.5000001192092896 + Legacy + + TailArrow + DimensionArrow + TailScale + 1.5000001192092896 + + + + + Bounds + {{466.22263321482365, 172.07463586488399}, {67.603220332591889, 13.591787818248473}} + Class + ShapedGraphic + ID + 156 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} + VerticalPad + 0 + + + + Bounds + {{297.18463277036938, 66.832219349741379}, {16, 24}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Color + + b + 0 + g + 0 + r + 0 + + Font + Helvetica + Size + 12 + + ID + 152 + Line + + ID + 151 + Offset + 5.6338024139404297 + Position + 0.49468076229095459 + RotationType + 2 + + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Align + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720 + +\f0\fs24 \cf0 s} + + Wrap + NO + + + Class + LineGraphic + ID + 151 + Points + + {233.11282733458251, 84.466021763681809} + {378.80639565126722, 84.466021763681809} + + Style + + stroke + + HeadArrow + DimensionArrow + HeadScale + 1.5000001192092896 + Legacy + + TailArrow + DimensionArrow + TailScale + 1.5000001192092896 + + + + + Bounds + {{158.7222149977363, 83.032363241135769}, {17, 24}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Color + + b + 0 + g + 0 + r + 0 + + Font + Helvetica + Size + 12 + + ID + 16 + Line + + ID + 12 + Offset + 5.6338024139404297 + Position + 0.49468076229095459 + RotationType + 2 + + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Align + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720 + +\f0\fs24 \cf0 L} + + Wrap + NO + + + Class + LineGraphic + ID + 12 + Points + + {74.193549170419132, 100.6661656550762} + {262.25154237203424, 100.6661656550762} + + Style + + stroke + + HeadArrow + DimensionArrow + HeadScale + 1.5000001192092896 + Legacy + + TailArrow + DimensionArrow + TailScale + 1.5000001192092896 + + + + + Bounds + {{466.2226332148237, 116.86631632951934}, {67.603220332591889, 13.591787818248473}} + Class + ShapedGraphic + ID + 147 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} + VerticalPad + 0 + + + + Bounds + {{378.80639017157927, 112.70106277689568}, {87.416139607127036, 21.922237673181332}} + Class + ShapedGraphic + ID + 146 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + + + Bounds + {{349.66772672568794, 112.70105990245703}, {29.138731100554878, 21.922237673181332}} + Class + ShapedGraphic + ID + 142 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 g} + + + + Bounds + {{320.52895664949523, 112.70106335661275}, {29.138731100554878, 21.922237673181332}} + Class + ShapedGraphic + ID + 141 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 n} + + + + Bounds + {{291.3902504821927, 112.70106335661275}, {29.138731100554878, 21.922237673181332}} + Class + ShapedGraphic + ID + 140 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 i} + + + + Bounds + {{262.25151743878206, 112.70105990245703}, {29.138731100554878, 21.922237673181332}} + Class + ShapedGraphic + ID + 139 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 o} + + + + Bounds + {{163.55963790474271, 144.47048672926633}, {67.603220332591889, 13.591787818248473}} + Class + ShapedGraphic + ID + 138 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} + VerticalPad + 0 + + + + Bounds + {{233.11281127147925, 112.70105990245703}, {29.138731100554878, 21.922237673181332}} + Class + ShapedGraphic + ID + 137 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 d} + + + + Bounds + {{163.55963790474271, 116.86631046290164}, {67.603220332591889, 13.591787818248473}} + Class + ShapedGraphic + ID + 136 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} + VerticalPad + 0 + + + + Bounds + {{437.08382466555656, 167.90941024522721}, {29.138713836669922, 21.922237673181332}} + Class + ShapedGraphic + ID + 133 + Shape + Rectangle + + + Bounds + {{407.94510758505459, 167.90941214175314}, {29.138713836669922, 21.922237673181332}} + Class + ShapedGraphic + ID + 132 + Shape + Rectangle + + + Bounds + {{378.80639756308159, 167.9094108455767}, {29.138713836669922, 21.922237673181332}} + Class + ShapedGraphic + ID + 131 + Shape + Rectangle + + + Bounds + {{349.6676818145973, 167.90940695704731}, {29.138713836669922, 21.922237673181332}} + Class + ShapedGraphic + ID + 130 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 g} + + + + Bounds + {{320.5289546309528, 167.90942557512369}, {29.138713836669922, 21.922237673181332}} + Class + ShapedGraphic + ID + 129 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 n} + + + + Bounds + {{291.39024460897957, 167.90942427894726}, {29.138713836669922, 21.922237673181332}} + Class + ShapedGraphic + ID + 128 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 i} + + + + Bounds + {{262.25152886049449, 167.90942039041789}, {29.138713836669922, 21.922237673181332}} + Class + ShapedGraphic + ID + 127 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 o} + + + + Bounds + {{349.66768140829646, 140.3052081769664}, {29.138713836669922, 21.922237673181332}} + Class + ShapedGraphic + ID + 123 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 g} + + + + Bounds + {{320.52897138632358, 140.30520688078994}, {29.138713836669922, 21.922237673181332}} + Class + ShapedGraphic + ID + 122 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 n} + + + + Bounds + {{291.39025563783929, 140.3052029922606}, {29.138713836669922, 21.922237673181332}} + Class + ShapedGraphic + ID + 121 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 i} + + + + Bounds + {{262.25153855733726, 140.30520488878653}, {29.138713836669922, 21.922237673181332}} + Class + ShapedGraphic + ID + 120 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 o} + + + + Bounds + {{233.1128285353642, 140.3052035926101}, {29.138713836669922, 21.922237673181332}} + Class + ShapedGraphic + ID + 119 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 d} + + + + Bounds + {{74.193548712173538, 111.19088566041445}, {87.416139607127036, 21.922237673181332}} + Class + ShapedGraphic + ID + 102 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + + + Bounds + {{132.47097448263054, 140.30523771132886}, {29.138713836669922, 21.922237673181332}} + Class + ShapedGraphic + ID + 101 + Shape + Rectangle + + + Bounds + {{103.33226446065794, 140.30523641515236}, {29.138713836669922, 21.922237673181332}} + Class + ShapedGraphic + ID + 100 + Shape + Rectangle + + + Bounds + {{74.193548712173651, 140.305232526623}, {29.138713836669922, 21.922237673181332}} + Class + ShapedGraphic + ID + 99 + Shape + Rectangle + + + Bounds + {{8.9569347494489193e-07, 122.71560432584597}, {67.603220332591917, 5.9828174627037463}} + Class + ShapedGraphic + ID + 98 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Input Data} + VerticalPad + 0 + + + + GridInfo + + HPages + 1 + KeepToScale + + Layers + + + Lock + NO + Name + レイヤー 1 + Print + YES + View + YES + + + LayoutInfo + + Animate + NO + circoMinDist + 18 + circoSeparation + 0.0 + layoutEngine + dot + neatoSeparation + 0.0 + twopiSeparation + 0.0 + + Orientation + 2 + PrintOnePage + + RowAlign + 1 + RowSpacing + 36 + SheetTitle + semi3 + UniqueID + 9 + VPages + 1 + + + SmartAlignmentGuidesActive + YES + SmartDistanceGuidesActive + YES + UseEntirePage + + WindowInfo + + CurrentSheet + 8 + ExpandedCanvases + + + name + キャンバス 1 + + + name + semi + + + Frame + {{383, 72}, {814, 781}} + ListView + + OutlineWidth + 142 + RightSidebar + + ShowRuler + + Sidebar + + SidebarWidth + 120 + VisibleRegion + {{0, 0}, {561.1570071021149, 530.57849566945174}} + Zoom + 1.2100000381469727 + ZoomValues + + + キャンバス 1 + 1.0399999618530273 + 0.99000000953674316 + + + キャンバス 2 + 1.0399999618530273 + 1 + + + キャンバス 3 + 1.2400000095367432 + 1.2799999713897705 + + + キャンバス 4 + 1.3799999952316284 + 1.3400000333786011 + + + キャンバス 5 + 1.3799999952316284 + 1 + + + キャンバス 6 + 1.2799999713897705 + 1.2400000095367432 + + + キャンバス 7 + 1.2799999713897705 + 1 + + + semi + 1.0299999713897705 + 1 + + + semi3 + 1.2100000381469727 + 1.1799999475479126 + + + + + diff -r 43c6da29d688 -r d8f499590d82 13/May-2013/word_count.jpg Binary file 13/May-2013/word_count.jpg has changed diff -r 43c6da29d688 -r d8f499590d82 13/May-2013/word_count_idata.jpg Binary file 13/May-2013/word_count_idata.jpg has changed diff -r 43c6da29d688 -r d8f499590d82 13/Nov-2013/12th.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/13/Nov-2013/12th.html Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,147 @@ + + + + + + + 2013-11-12 + + + + + + + + + +
    + + + +
    +

    + 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 +

    +
    + + + + diff -r 43c6da29d688 -r d8f499590d82 13/Nov-2013/19th.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/13/Nov-2013/19th.html Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,193 @@ + + + + + + + 2013-11-19 + + + + + + + + + +
    + + + +
    +

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

    +

    + Masataka Kohagura +
    + 19th November , 2013 +

    +
    + +
    +

    + 研究目的 +

    +

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

    +

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

    +
    + +
    +

    + 今週のしたこと +

    +

    + ・検索文字列のハードコーディングの脱却
    +(set_inData,get_input絡みでバグ??) +

    +
    + + + + +
    +

    + WordCount.h +

    +
    +typedef struct wordCount {
    +    struct wordCount *self;
    +    int size;             // remaining file size
    +    int division_size;    // for each word count task
    +    (中略)
    +    unsigned char *search_word;
    +    int search_word_len;
    +    HTaskPtr t_print;
    +} WordCount;
    +
    +
    + +
    +

    + main.cc(task生成部分) +

    +
    +run_tasks(SchedTask *manager,…)
    +{
    +    …
    +    if(size != w->size){ //最後のタスクかどうかの判定
    +        t_exec[k]->set_param(0,&set_one_task_length + EXTRA_LENGTH);
    +        t_exec[k]->set_inData(0,w->file_mmap + a*w->division_size, size+EXTRA_LENGTH);
    +        t_exec[k]->set_inData(1,w->search_word, w->search_word_len); 
    +    }else{
    +        t_exec[k]->set_param(0,&set_one_task_length);
    +        t_exec[k]->set_inData(0,w->file_mmap + a*w->division_size, size);
    +        t_exec[k]->set_inData(1,w->search_word, w->search_word_len); 
    +    }
    +    …
    +}
    +
    + +
    + + +
    +

    + main.cc(task生成部分) +

    +
    +run_tasks(SchedTask *manager,…)
    +{
    +    …
    +    if(size != w->size){ //最後のタスクかどうかの判定
    +        t_exec[k]->set_param(0,&set_one_task_length + EXTRA_LENGTH);
    +        t_exec[k]->set_inData(0,w->file_mmap + a*w->division_size, size+EXTRA_LENGTH);
    +        t_exec[k]->set_inData(1,w->search_word, w->search_word_len); 
    +    }else{
    +        t_exec[k]->set_param(0,&set_one_task_length);
    +        t_exec[k]->set_inData(0,w->file_mmap + a*w->division_size, size);
    +        t_exec[k]->set_inData(1,w->search_word, w->search_word_len); 
    +    }
    +    …
    +}
    +
    + +
    + +
    +

    + 問題点 +

    +
  • + 複数の文字列をタスクに渡そうとすると、最初に渡す文字列に関しては渡せるが、後に渡す文字列がうまく渡らない。 +
  • +

    Exec.cc(get_input)

    +
    +run(SchedTask *s, void *rbuf, void *wbuf)
    +{
    +    unsigned char *i_data = (unsigned char *)s->get_input(rbuf,0);
    +    unsigned char *search_word = (unsigned char*)s->get_input(rbuf,1);
    +        …
    +    s->printf("[i_data]\n%s\n",i_data);
    +    s->printf("[search_word]\n%s\n",search_word);
    +
    +    return 0;
    +}
    +
    + +

    result

    +
    +(lldb) p i_data
    +(unsigned char *) $2 = 0x000000010202ca00 "aaa bbb …"
    +(lldb) p search_word
    +(unsigned char *) $3 = 0x000000010202ca00 "aaa bbb …"
    +
    +
  • 文字列を複数受け取ろうとすると、index(1)のアドレスがindex(0)のアドレスと同じ場所を示す
  • +
  • この時のi_data sizeは8byte、search_word sizeは6Byteである。
  • +
  • i_data size = search_word sizeにしても同様
  • + +
    + + + diff -r 43c6da29d688 -r d8f499590d82 13/Nov-2013/IO.graffle --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/13/Nov-2013/IO.graffle Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,1777 @@ + + + + + ApplicationVersion + + com.omnigroup.OmniGraffle + 139.18.0.187838 + + CreationDate + 2013-11-08 15:04:16 +0000 + Creator + MasaKoha + GraphDocumentVersion + 8 + GuidesLocked + NO + GuidesVisible + YES + ImageCounter + 1 + LinksVisible + NO + MagnetsVisible + NO + MasterSheets + + ModificationDate + 2014-02-11 05:22:04 +0000 + Modifier + MasaKoha + NotesVisible + NO + OriginVisible + NO + PageBreaks + YES + PrintInfo + + NSBottomMargin + + float + 41 + + NSHorizonalPagination + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG + + NSLeftMargin + + float + 18 + + NSPaperSize + + size + {594.99997329711914, 842} + + NSPrintReverseOrientation + + int + 0 + + NSPrinter + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAlOU1ByaW50ZXIAhIQITlNPYmplY3QAhZKEhIQITlNTdHJpbmcBlIQBKx1jaW5uYW1vbi5jci5pZS51LXJ5dWt5dS5hYy5qcIaG + + NSPrinterName + + string + cinnamon.cr.ie.u-ryukyu.ac.jp + + NSRightMargin + + float + 18 + + NSTopMargin + + float + 18 + + + ReadOnly + NO + Sheets + + + ActiveLayerIndex + 0 + AutoAdjust + + BackgroundGraphic + + Bounds + {{0, 0}, {558.99997329711914, 783}} + Class + SolidGraphic + ID + 2 + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + + BaseZoom + 0 + CanvasOrigin + {0, 0} + ColumnAlign + 1 + ColumnSpacing + 36 + DisplayScale + 1 0/72 in = 1.0000 in + GraphicsList + + + Class + LineGraphic + Head + + ID + 19 + + ID + 21 + Points + + {108, 258.0860125058656} + {273.00000115247389, 258.44095033211607} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + + + Bounds + {{327, 214.74187050933961}, {62, 27.740259740259717}} + Class + ShapedGraphic + ID + 20 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 mmap\ +read +\f1 \'91\'d2\'82\'bf} + VerticalPad + 0 + + + + Bounds + {{273.5, 246.51946687853183}, {72, 24}} + Class + ShapedGraphic + ID + 19 + Line + + ID + 7 + Position + 0.77464783191680908 + RotationType + 0 + + Shape + Rectangle + + + Bounds + {{112, 169.23051948051943}, {43, 12.136363636363631}} + Class + ShapedGraphic + ID + 18 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 read} + VerticalPad + 0 + + + + Class + LineGraphic + ID + 17 + Points + + {112, 161.78500197769753} + {155, 161.78500197769753} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + + + Bounds + {{220.50000190734863, 205.63961038961043}, {43, 12.136363636363631}} + Class + ShapedGraphic + ID + 16 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 read} + VerticalPad + 0 + + + + Class + LineGraphic + ID + 15 + Points + + {273.00000435882242, 198.55223679125726} + {101.74998664855957, 197.83766103944711} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + Tail + + ID + 14 + + + + Bounds + {{273.5, 186.70454049420047}, {72, 24}} + Class + ShapedGraphic + ID + 14 + Line + + ID + 7 + Position + 0.53169012069702148 + RotationType + 0 + + Shape + Rectangle + + + Bounds + {{211, 122.85226942037605}, {62, 27.740259740259717}} + Class + ShapedGraphic + ID + 13 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 mmap\ +read +\f1 \'91\'d2\'82\'bf} + VerticalPad + 0 + + + + Bounds + {{165.5, 150.21843971253992}, {72, 24}} + Class + ShapedGraphic + ID + 12 + Line + + ID + 6 + Position + 0.38348999619483948 + RotationType + 0 + + Shape + Rectangle + + + Bounds + {{112, 114.61688311688314}, {43, 12.136363636363631}} + Class + ShapedGraphic + ID + 11 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 read} + VerticalPad + 0 + + + + Class + LineGraphic + ID + 10 + Points + + {165, 107.68181688360288} + {104, 107.68181688360288} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + Tail + + ID + 8 + + + + Bounds + {{86.5, 92.944805194805156}, {15, 204.58441558441552}} + Class + ShapedGraphic + ID + 9 + Shape + Rectangle + + + Bounds + {{165.5, 97.279214888811168}, {72, 20.805194805194791}} + Class + ShapedGraphic + ID + 8 + Shape + Rectangle + + + Class + LineGraphic + ID + 7 + Points + + {309.5, 67.805194805194816} + {309.5, 314} + + Style + + stroke + + HeadArrow + 0 + Legacy + + Pattern + 1 + TailArrow + 0 + + + + + Class + LineGraphic + ID + 6 + Points + + {201.5, 67.805194805194816} + {201.5, 314} + + Style + + stroke + + HeadArrow + 0 + Legacy + + Pattern + 1 + TailArrow + 0 + + + + + Class + LineGraphic + ID + 5 + Points + + {94, 68.30519479754814} + {94, 314} + + Style + + stroke + + HeadArrow + 0 + Legacy + + Pattern + 1 + TailArrow + 0 + + + Tail + + ID + 1 + + + + Bounds + {{274, 47.000000000000071}, {72, 20.805194805194791}} + Class + ShapedGraphic + ID + 4 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Task2} + + + + Bounds + {{166, 47.000000000000071}, {72, 20.805194805194791}} + Class + ShapedGraphic + ID + 3 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Task1} + + + + Bounds + {{58, 47.000000000000071}, {72, 20.805194805194791}} + Class + ShapedGraphic + ID + 1 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 mmap} + + + + GridInfo + + HPages + 1 + KeepToScale + + Layers + + + Lock + NO + Name + レイヤー 1 + Print + YES + View + YES + + + LayoutInfo + + Animate + NO + circoMinDist + 18 + circoSeparation + 0.0 + layoutEngine + dot + neatoSeparation + 0.0 + twopiSeparation + 0.0 + + Orientation + 2 + PrintOnePage + + RowAlign + 1 + RowSpacing + 36 + SheetTitle + キャンバス 1 + UniqueID + 1 + VPages + 1 + + + ActiveLayerIndex + 0 + AutoAdjust + + BackgroundGraphic + + Bounds + {{0, 0}, {558.99997329711914, 783}} + Class + SolidGraphic + ID + 2 + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + + BaseZoom + 0 + CanvasOrigin + {0, 0} + ColumnAlign + 1 + ColumnSpacing + 36 + DisplayScale + 1 0/72 in = 1.0000 in + GraphicsList + + + Bounds + {{22.499984741210938, 127.40260124206543}, {72, 28}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 35 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 read\ +sequential} + VerticalPad + 0 + + + + Class + LineGraphic + Head + + ID + 32 + + ID + 34 + Points + + {130.49999689691816, 169.5312325488828} + {341.2499859369442, 170.27396241858597} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + Tail + + ID + 30 + + + + Class + LineGraphic + Head + + ID + 31 + + ID + 33 + Points + + {130.49998752207128, 113.66032095992918} + {199.12499912648832, 114.14487485748704} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + Tail + + ID + 29 + + + + Bounds + {{341.7499828338623, 159.99999912915223}, {72, 20.805194805194791}} + Class + ShapedGraphic + ID + 32 + Line + + ID + 7 + Position + 0.7164883017539978 + RotationType + 0 + + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Task2} + + + + Bounds + {{199.62498664855957, 103.99999997909968}, {72, 20.805194805194791}} + Class + ShapedGraphic + ID + 31 + Line + + ID + 6 + Position + 0.32541266083717346 + RotationType + 0 + + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Task1} + + + + Bounds + {{58, 159.00000103312175}, {72, 20.805194805194791}} + Class + ShapedGraphic + ID + 30 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 read2} + + + + Bounds + {{58, 103.00000103312175}, {72, 20.805194805194791}} + Class + ShapedGraphic + ID + 29 + Line + + ID + 5 + Position + 0.31604096293449402 + RotationType + 0 + + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 read1} + + + + Class + LineGraphic + ID + 7 + Points + + {377.7499828338623, 67.805191040039062} + {377.7499828338623, 211} + + Style + + stroke + + HeadArrow + 0 + Legacy + + Pattern + 1 + TailArrow + 0 + + + + + Class + LineGraphic + ID + 6 + Points + + {235.62498664855957, 67.805194805194816} + {235.62498664855957, 211} + + Style + + stroke + + HeadArrow + 0 + Legacy + + Pattern + 1 + TailArrow + 0 + + + + + Class + LineGraphic + ID + 5 + Points + + {94, 68.305194792047899} + {94, 211} + + Style + + stroke + + HeadArrow + 0 + Legacy + + Pattern + 1 + TailArrow + 0 + + + Tail + + ID + 1 + + + + Bounds + {{342.2499828338623, 47.000000000000071}, {72, 20.805194805194791}} + Class + ShapedGraphic + ID + 4 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Task2} + + + + Bounds + {{200.12498664855957, 47.000000000000071}, {72, 20.805194805194791}} + Class + ShapedGraphic + ID + 3 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Task1} + + + + Bounds + {{58, 47.000000000000071}, {72, 20.805194805194791}} + Class + ShapedGraphic + ID + 1 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 read} + + + + GridInfo + + HPages + 1 + KeepToScale + + Layers + + + Lock + NO + Name + レイヤー 1 + Print + YES + View + YES + + + LayoutInfo + + Animate + NO + circoMinDist + 18 + circoSeparation + 0.0 + layoutEngine + dot + neatoSeparation + 0.0 + twopiSeparation + 0.0 + + Orientation + 2 + PrintOnePage + + RowAlign + 1 + RowSpacing + 36 + SheetTitle + キャンバス 2 + UniqueID + 2 + VPages + 1 + + + ActiveLayerIndex + 0 + AutoAdjust + + BackgroundGraphic + + Bounds + {{0, 0}, {558.99997329711914, 783}} + Class + SolidGraphic + ID + 2 + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + + BaseZoom + 0 + CanvasOrigin + {0, 0} + ColumnAlign + 1 + ColumnSpacing + 36 + DisplayScale + 1 0/72 in = 1.0000 in + GraphicsList + + + Class + LineGraphic + Head + + ID + 32 + + ID + 42 + Points + + {259.87499362330374, 235.46110035236225} + {452.62498539586136, 235.77001421298692} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + Tail + + ID + 40 + + + + Class + LineGraphic + Head + + ID + 31 + + ID + 41 + Points + + {126.99996802372655, 191.81541846816251} + {319.25001671748436, 193.98978259807495} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + Tail + + ID + 39 + + + + Bounds + {{187.3749942779541, 225.0000056413765}, {72, 20.805194805194791}} + Class + ShapedGraphic + ID + 40 + Line + + ID + 37 + Position + 0.57533562183380127 + RotationType + 0 + + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 read2} + + + + Bounds + {{54.5, 181.00000337447486}, {72, 20.805194805194791}} + Class + ShapedGraphic + ID + 39 + Line + + ID + 5 + Position + 0.2669852077960968 + RotationType + 0 + + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 read1} + + + + Bounds + {{149.75, 268.00000376515572}, {72, 28}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 38 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 read2\ +sequential} + VerticalPad + 0 + + + + Class + LineGraphic + ID + 37 + Points + + {223.3749942779541, 153.3051985572036} + {223.3749942779541, 296.00000376515572} + + Style + + stroke + + HeadArrow + 0 + Legacy + + Pattern + 1 + TailArrow + 0 + + + Tail + + ID + 36 + + + + Bounds + {{187.3749942779541, 132.00000376515578}, {72, 20.805194805194791}} + Class + ShapedGraphic + ID + 36 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 read2} + + + + Bounds + {{19, 218.23111147694772}, {72, 28}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 35 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 read1\ +sequential} + VerticalPad + 0 + + + + Bounds + {{453.12498474121094, 225.42591411877788}, {72, 20.805194805194791}} + Class + ShapedGraphic + ID + 32 + Line + + ID + 7 + Position + 0.57832038402557373 + RotationType + 0 + + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Task2} + + + + Bounds + {{319.74998474121094, 184.00000288656781}, {72, 20.805194805194791}} + Class + ShapedGraphic + ID + 31 + Line + + ID + 6 + Position + 0.29049518704414368 + RotationType + 0 + + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Task1} + + + + Class + LineGraphic + ID + 7 + Points + + {489.12498474121094, 153.30519480519479} + {489.12498474121094, 296.00000376515572} + + Style + + stroke + + HeadArrow + 0 + Legacy + + Pattern + 1 + TailArrow + 0 + + + Tail + + ID + 4 + + + + Class + LineGraphic + ID + 6 + Points + + {355.74998474121094, 152.80519857035054} + {355.74998474121094, 296.00000376515572} + + Style + + stroke + + HeadArrow + 0 + Legacy + + Pattern + 1 + TailArrow + 0 + + + + + Class + LineGraphic + ID + 5 + Points + + {90.5, 153.3051985572036} + {90.5, 296.00000376515572} + + Style + + stroke + + HeadArrow + 0 + Legacy + + Pattern + 1 + TailArrow + 0 + + + Tail + + ID + 1 + + + + Bounds + {{453.12498474121094, 132}, {72, 20.805194805194791}} + Class + ShapedGraphic + ID + 4 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Task2} + + + + Bounds + {{320.24998474121094, 132.00000376515578}, {72, 20.805194805194791}} + Class + ShapedGraphic + ID + 3 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Task1} + + + + Bounds + {{54.5, 132.00000376515578}, {72, 20.805194805194791}} + Class + ShapedGraphic + ID + 1 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 read1} + + + + GridInfo + + HPages + 1 + KeepToScale + + Layers + + + Lock + NO + Name + レイヤー 1 + Print + YES + View + YES + + + LayoutInfo + + Animate + NO + circoMinDist + 18 + circoSeparation + 0.0 + layoutEngine + dot + neatoSeparation + 0.0 + twopiSeparation + 0.0 + + Orientation + 2 + PrintOnePage + + RowAlign + 1 + RowSpacing + 36 + SheetTitle + キャンバス 3 + UniqueID + 3 + VPages + 1 + + + SmartAlignmentGuidesActive + YES + SmartDistanceGuidesActive + YES + UseEntirePage + + WindowInfo + + CurrentSheet + 2 + ExpandedCanvases + + Frame + {{1195, 292}, {693, 878}} + ListView + + OutlineWidth + 142 + RightSidebar + + ShowRuler + + Sidebar + + SidebarWidth + 120 + VisibleRegion + {{0, 0}, {558, 739}} + Zoom + 1 + ZoomValues + + + キャンバス 1 + 1 + 1 + + + キャンバス 2 + 1 + 1 + + + キャンバス 3 + 1 + 1 + + + + + diff -r 43c6da29d688 -r d8f499590d82 13/Nov-2013/mmap.png Binary file 13/Nov-2013/mmap.png has changed diff -r 43c6da29d688 -r d8f499590d82 13/Nov-2013/multiread.png Binary file 13/Nov-2013/multiread.png has changed diff -r 43c6da29d688 -r d8f499590d82 13/Nov-2013/oneread.png Binary file 13/Nov-2013/oneread.png has changed diff -r 43c6da29d688 -r d8f499590d82 13/Oct-2013/1st.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/13/Oct-2013/1st.html Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,134 @@ + + + + + + + 2013-10-01 + + + + + + + + + +
    + + + +
    +

    + Ceriumによる +
    + 正規表現の実装 +

    +

    + Masataka Kohagura +
    + 1st October , 2013 +

    +
    + +
    +

    + 研究目的 +

    +

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

    +

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

    +

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

    +
    + + +
    +

    mmapからfreadへの書き換え(1)

    +

    変更前

    +
    +static st_mmap_t
    +my_mmap(char *filename)
    +{
    +    int fd = -1; 
    +    int map = MAP_PRIVATE;
    +    st_mmap_t st_mmap;
    +    struct stat sb; 
    +
    +    if ((fd=open(filename,O_RDONLY,0666))==0) {
    +        fprintf(stderr,"can't open %s\n",filename);
    +    }   
    +
    +    if (fstat(fd,&sb)) {
    +        fprintf(stderr,"can't fstat %s\n",filename);
    +    }   
    +
    +    st_mmap.size = fix_byte(sb.st_size,4096);
    +
    +    st_mmap.file_mmap = (char*)mmap(NULL,st_mmap.size,PROT_READ,map,fd,(off_t)0);    if (st_mmap.file_mmap == (caddr_t)-1) {
    +        fprintf(stderr,"Can't mmap file\n");
    +        perror(NULL);
    +        exit(0);
    +    }       
    +    return st_mmap;
    +}
    +      
    +
    + +
    +

    mmapからfreadへの書き換え(2)

    +

    変更後

    +
    +my_fread(TaskManager *manager,char *filename)
    +{
    +    FILE *fd;
    +    st_mmap_t st_mmap;
    +    struct stat sb;
    +
    +    if ((fd=fopen(filename,"r"))==NULL) {
    +        fprintf(stderr,"can't open %s\n",filename);
    +    }
    +
    +    if (fstat(fileno(fd),&sb)) {
    +        fprintf(stderr,"can't fstat %s\n",filename);
    +    }
    +
    +    st_mmap.size = fix_byte(sb.st_size,4096);
    +
    +    st_mmap.file_mmap = (char*)manager->allocate(st_mmap.size);
    +    fread(st_mmap.file_mmap,st_mmap.size,1,fd);
    +    if (st_mmap.file_mmap == (caddr_t)-1) {
    +        fprintf(stderr,"Can't mmap file\n");
    +        perror(NULL);
    +        exit(0);
    +    }
    +    return st_mmap;
    +}
    +      
    +
    + + diff -r 43c6da29d688 -r d8f499590d82 13/Oct-2013/22th.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/13/Oct-2013/22th.html Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,145 @@ + + + + + + + 2013-10-22 + + + + + + + + + +
    + + + +
    +

    + Ceriumによる +
    + 正規表現の実装 +

    +

    + Masataka Kohagura +
    + 22th October , 2013 +

    +
    + +
    +

    + 研究目的 +

    +

    + 本研究室では、Cell用に作られたCeriumにて並列プログラミングを行なっている。Ceriumにて正規表現を実装し、既存の正規表現との処理速度、処理効率がどれだけ良くなるのかを測定する。 +

    +

    + 現在は文字列サーチをBM法(Boyer-Moore String Search Algorithm)にて実装している。 + I/O部分の読み込みの並列化、及びセミグループという、分割したファイルに対して並列処理をさせるような手法によって、効率化を図る。 +

    +
    + +
    +

    + 今週のしたこと +

    +

    + ・cのreadとlseekの動作確認 +

    +

    + ・新しい例題の作成:fileread + readとlseekを使って、Ceriumにて実装 +

    +
    + +
    +

    readとlseekの動作確認(1)

    +
    +for(loop_counter = 0; loop_counter < task_num - 1; loop_counter++){
    +    lseek(fd, loop_counter * ONE_TASK_READ_SIZE,SEEK_SET);
    +    read(fd,text,ONE_TASK_READ_SIZE + EXTRA_LENGTH);
    +    result_printf(loop_counter,text);
    +}
    +
    +lseek(fd, loop_counter * ONE_TASK_READ_SIZE,SEEK_SET);
    +read(fd,text,ONE_TASK_READ_SIZE);
    +result_printf(loop_counter,text);
    +      
    +

    ・lseekにて loop_counter * ONE_TASK_READ_SIZE 分読み込み部分をずらす。
    + SEEK_SETはファイルの先頭からを示している。 +

    +

    + ・readにて読み込んだファイルを ONE_TASK_READ_SIZE + EXTRA_LENGTH 分読み込む。 +

    + +
    + +
    +

    readとlseekの動作確認(2)

    +

    出力結果

    +
    +task size:71
    +task num:8
    +-------1--------
    +This is a test f
    +-----------------
    +
    +-------2--------
    +test file that w
    +-----------------
    +
    +・・・
    +
    +-------10--------
    + that will be us
    +-----------------
    +
    +-------11--------
    + be used
    +l be us
    +-----------------
    +
    +
    + +
    +

    fileread(1)

    +

    main.cc

    + +
    +
    +
    +
    + +
    +

    +

    fileread

    +
    +
    +
    +
    + + + diff -r 43c6da29d688 -r d8f499590d82 13/Oct-2013/29th.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/13/Oct-2013/29th.html Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,167 @@ + + + + + + + 2013-10-29 + + + + + + + + + +
    + + + +
    +

    + Ceriumによる +
    + 正規表現の実装 +

    +

    + Masataka Kohagura +
    + 29th October , 2013 +

    +
    + +
    +

    + 研究目的 +

    +

    + 本研究室では、Cell用に作られたCeriumにて並列プログラミングを行なっている。Ceriumにて正規表現を実装し、既存の正規表現との処理速度、処理効率がどれだけ良くなるのかを測定する。 +

    +

    + 現在は文字列サーチをBM法(Boyer-Moore String Search Algorithm)にて実装している。 + I/O部分の読み込みの並列化、及びセミグループという、分割したファイルに対して並列処理をさせるような手法によって、効率化を図る。 +

    +
    + +
    +

    + 今週のしたこと +

    +

    + ・cのreadとlseekの動作確認 +

    +

    + ・新しい例題の作成:fileread + readとlseekを使って、Ceriumにて実装 +

    +

    + ・現在はBM法のI/O部分をfilereadのように書き換えている段階。 +

    +
    + +
    +

    readとlseekの動作確認(1)

    +
    +for(i = 0; i < task_num - 1; i++){
    +    lseek(fd, i * ONE_TASK_READ_SIZE,SEEK_SET);
    +    read(fd,text,ONE_TASK_READ_SIZE + EXTRA_LENGTH);
    +    result_printf(i,text);
    +}
    +
    +lseek(fd, i * ONE_TASK_READ_SIZE,SEEK_SET);
    +read(fd,text,ONE_TASK_READ_SIZE);
    +result_printf(i,text);
    +      
    +

    ・lseekにて i * ONE_TASK_READ_SIZE 分読み込み部分をずらす。
    + SEEK_SETはファイルの先頭からを示している。 +

    +

    + ・readにて読み込んだファイルを ONE_TASK_READ_SIZE + EXTRA_LENGTH 分読み込む。 +

    +

    + ・セミグループを考慮した実装。 +

    + +
    + +
    +

    readとlseekの動作確認(2)

    +

    出力結果

    +
    +task size:71
    +task num:11
    +-------1--------
    +This is a test f
    +-----------------
    +
    +-------2--------
    +test file that w
    +-----------------
    +
    +・・・
    +
    +-------10--------
    + that will be us
    +-----------------
    +
    +-------11--------
    + be used
    +l be us
    +-----------------
    +
    +
    + +
    +

    +

    fileread

    + ソースにて +

    実行結果

    +
    +% ./fileread -cpu 4 -file c.txt
    +filesize     : 11524674
    +one_task_size: 16384
    +task_num     : 704
    +0 StartTask 276
    +[task No. 1]
    +[task No. 4]
    +[task No. 3]
    +[task No. 5]
    +[task No. 8]
    +[task No. 2]
    +[task No. 7]
    +[task No. 9]
    +・・・
    +[task No. 700]
    +[task No. 694]
    +[task No. 699]
    +[task No. 701]
    +[task No. 704]
    +[task No. 698]
    +[task No. 703]
    +[task No. 702]
    +Time: 0.007602
    +
    +
    +
    + + + diff -r 43c6da29d688 -r d8f499590d82 13/Oct-2013/8th.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/13/Oct-2013/8th.html Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,196 @@ + + + + + + + 2013-10-08 + + + + + + + + + +
    + + + +
    +

    + Ceriumによる +
    + 正規表現の実装 +

    +

    + Masataka Kohagura +
    + 8th October , 2013 +

    +
    + +
    +

    + 研究目的 +

    +

    + 本研究室では、Cell用に作られたCeriumにて並列プログラミングを行なっている。Ceriumにて正規表現を実装し、既存の正規表現との処理速度、処理効率がどれだけ良くなるのかを測定する。 +

    +

    + 現在は文字列サーチ(Boyer-Moore String Search Algorithm)を実装している。 + セミグループという、分割したファイルに対して並列処理をさせるような手法によって、効率化を測る。 +

    +
    + +
    +

    + 今週のしたこと +

    +

    + mmapからfreadに変更していたものを、readに変更。 +

    +

    + ・シンヤさんのRegenを動かしてみた +

    +

    + ・シンヤさんの論文「並列化と実行時コード生成を用いた正規表現マッチングの高速化」読み +

    +
    + +
    +

    mmapからfreadへの書き換え(1)

    +

    変更前

    +
    +static st_mmap_t
    +my_mmap(char *filename)
    +{
    +    int fd = -1; 
    +    int map = MAP_PRIVATE;
    +    st_mmap_t st_mmap;
    +    struct stat sb; 
    +
    +    if ((fd=open(filename,O_RDONLY,0666))==0) {
    +        fprintf(stderr,"can't open %s\n",filename);
    +    }   
    +
    +    if (fstat(fd,&sb)) {
    +        fprintf(stderr,"can't fstat %s\n",filename);
    +    }   
    +
    +    st_mmap.size = fix_byte(sb.st_size,4096);
    +
    +    st_mmap.file_mmap = (char*)mmap(NULL,st_mmap.size,PROT_READ,map,fd,(off_t)0);    if (st_mmap.file_mmap == (caddr_t)-1) {
    +        fprintf(stderr,"Can't mmap file\n");
    +        perror(NULL);
    +        exit(0);
    +    }       
    +    return st_mmap;
    +}
    +      
    +
    + +
    +

    mmapからfreadへの書き換え(2)

    +

    変更後

    +
    +my_read(TaskManager *manager,char *filename)
    +{
    +    int fd = -1;
    +    st_mmap_t st_mmap;
    +    struct stat sb;
    +
    +    if ((fd=open(filename,O_RDONLY,0666))==0) {
    +        fprintf(stderr,"can't open %s\n",filename);
    +    }
    +
    +    if (fstat(fd,&sb)) {
    +        fprintf(stderr,"can't fstat %s\n",filename);
    +    }
    +
    +    st_mmap.size = fix_byte(sb.st_size,4096);
    +    st_mmap.file_mmap = (char*)manager->allocate(st_mmap.size);
    +
    +    sread(fd,st_mmap.file_mmap,st_mmap.size);
    +
    +    if (st_mmap.file_mmap == (caddr_t)-1) {
    +        fprintf(stderr,"Can't mmap file\n");
    +        perror(NULL);
    +        exit(0);
    +    }
    +    return st_mmap;
    +}
    +
    +
    + +
    +

    mmapからreadへの書き換え(2)

    +

    変更後

    +
    +my_read(TaskManager *manager,char *filename)
    +{
    +    int fd = -1;
    +    st_mmap_t st_mmap;
    +    struct stat sb;
    +
    +    if ((fd=open(filename,O_RDONLY,0666))==0) {
    +        fprintf(stderr,"can't open %s\n",filename);
    +    }
    +
    +    if (fstat(fd,&sb)) {
    +        fprintf(stderr,"can't fstat %s\n",filename);
    +    }
    +
    +    st_mmap.size = fix_byte(sb.st_size,4096);
    +    st_mmap.file_mmap = (char*)manager->allocate(st_mmap.size);
    +
    +    read(fd,st_mmap.file_mmap,st_mmap.size);
    +
    +    if (st_mmap.file_mmap == (caddr_t)-1) {
    +        fprintf(stderr,"Can't mmap file\n");
    +        perror(NULL);
    +        exit(0);
    +    }
    +    return st_mmap;
    +}
    +
    +
    + + +
    +

    + 並列化と実行時コード生成を用いた正規表現マッチングの高速化について +

    +

    + ・NFA/DFAから同時初期状態有限オートマトン(SSFA)を構成 +

    +

    + ・Simultaneous Start-state Finite Automata +

    +

    + ・「NFAの全状態について、それぞれを初期状態とした場合の状態遷移」を +  同時初期状態遷移(SST)と呼んでいる。 +

    +
    + + + diff -r 43c6da29d688 -r d8f499590d82 13/Oct-2013/PerlRegexImage.graffle --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/13/Oct-2013/PerlRegexImage.graffle Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,643 @@ + + + + + ActiveLayerIndex + 0 + ApplicationVersion + + com.omnigroup.OmniGraffle + 139.18.0.187838 + + AutoAdjust + + BackgroundGraphic + + Bounds + {{0, 0}, {806, 536}} + Class + SolidGraphic + ID + 2 + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + + BaseZoom + 0 + CanvasOrigin + {0, 0} + ColumnAlign + 1 + ColumnSpacing + 36 + CreationDate + 2013-10-01 08:18:50 +0000 + Creator + MasaKoha + DisplayScale + 1 0/72 in = 1 0/72 in + GraphDocumentVersion + 8 + GraphicsList + + + Bounds + {{403, 102}, {47, 18}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 49 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf390 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 \'90\'b6\'90\'ac} + VerticalPad + 0 + + + + Bounds + {{224, 102}, {47, 18}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 48 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf390 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 \'90\'b6\'90\'ac} + VerticalPad + 0 + + + + Class + LineGraphic + Head + + ID + 44 + + ID + 45 + Points + + {360.69200765017183, 73.236993277511147} + {218.04703242112768, 150.02215703718576} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + Tail + + ID + 1 + + + + Bounds + {{102, 149}, {169, 36}} + Class + ShapedGraphic + ID + 44 + Shape + Circle + Style + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf390 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 main.cc} + + + + Bounds + {{536, 175}, {104, 18}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 42 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf390 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 \'90\'b3\'8b\'4b\'95\'5c\'8c\'bb\'82\'cc\'8f\'ea\'8d\'87} + VerticalPad + 0 + + + + Bounds + {{396.00001907348633, 157}, {77.999992370605469, 36}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 41 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf390 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 \'8c\'c5\'92\'e8\'92\'b7\'95\'b6\'8e\'9a\'97\'f1\'82\'cc\'8f\'ea\'8d\'87} + VerticalPad + 0 + + + + Class + LineGraphic + Head + + ID + 39 + + ID + 40 + Points + + {413.64858388070274, 73.360285871357888} + {556.33256010927153, 221.63971412864208} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + Tail + + ID + 1 + + + + Bounds + {{489.50000476837158, 222}, {169, 36}} + Class + ShapedGraphic + ID + 39 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf390 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 if (i_data[i] == 0x61)\{...\}} + + + + Class + LineGraphic + Head + + ID + 3 + + ID + 38 + Points + + {395.49159283844295, 73.499999962101043} + {395.42604975815806, 221.50000400279791} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + Tail + + ID + 1 + + + + Bounds + {{311.00000238418579, 222}, {169, 36}} + Class + ShapedGraphic + ID + 3 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf390 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 BM +\f1 \'96\'40} + + + + Bounds + {{181.00000715255737, 36}, {429, 37}} + Class + ShapedGraphic + ID + 1 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf390 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Perl} + + + + Class + Group + Graphics + + + Bounds + {{337.5, 262}, {287, 14}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 51 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf390 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Exec.cc} + VerticalPad + 0 + + + + Bounds + {{254, 193}, {454, 97}} + Class + ShapedGraphic + ID + 52 + Shape + Circle + Style + + + + ID + 50 + + + GridInfo + + GuidesLocked + NO + GuidesVisible + YES + HPages + 1 + ImageCounter + 1 + KeepToScale + + Layers + + + Lock + NO + Name + レイヤー 1 + Print + YES + View + YES + + + LayoutInfo + + Animate + NO + circoMinDist + 18 + circoSeparation + 0.0 + layoutEngine + dot + neatoSeparation + 0.0 + twopiSeparation + 0.0 + + LinksVisible + NO + MagnetsVisible + NO + MasterSheets + + ModificationDate + 2013-10-01 09:12:36 +0000 + Modifier + MasaKoha + NotesVisible + NO + Orientation + 2 + OriginVisible + NO + PageBreaks + YES + PrintInfo + + NSBottomMargin + + float + 41 + + NSHorizonalPagination + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG + + NSLeftMargin + + float + 18 + + NSOrientation + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwGG + + NSPaperSize + + size + {842, 595} + + NSPrintReverseOrientation + + int + 0 + + NSRightMargin + + float + 18 + + NSTopMargin + + float + 18 + + + PrintOnePage + + ReadOnly + NO + RowAlign + 1 + RowSpacing + 36 + SheetTitle + キャンバス 1 + SmartAlignmentGuidesActive + YES + SmartDistanceGuidesActive + YES + UniqueID + 1 + UseEntirePage + + VPages + 1 + WindowInfo + + CurrentSheet + 0 + ExpandedCanvases + + Frame + {{292, 88}, {1046, 922}} + ListView + + OutlineWidth + 142 + RightSidebar + + ShowRuler + + Sidebar + + SidebarWidth + 120 + VisibleRegion + {{-53, -123}, {911, 783}} + Zoom + 1 + ZoomValues + + + キャンバス 1 + 1 + 1 + + + + + diff -r 43c6da29d688 -r d8f499590d82 13/Sep-2013/17th.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/13/Sep-2013/17th.html Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,113 @@ + + + + + + + 2013-08-06 + + + + + + + + + +
    + + + +
    +

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

    +

    + Masataka Kohagura +
    + 17th September , 2013 +

    +
    + +
    +

    + 研究目的 +

    +

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

    +

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

    +

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

    +
    + +
    +

    + したこと +

    +

    + ・三角波、矩形波の実装 +

    +
    + +
    +

    波形

    +

    三角波

    +
    +double tri(double t){ 
    +
    +    double decimal_part = t - abs(t);
    +
    +    if(abs(t) % 2 != 0){ 
    +        return decimal_part < 0.5 ? decimal_part : 1 - decimal_part;
    +    }else{ 
    +        return decimal_part < 0.5 ? -decimal_part : 1 - decimal_part;
    +    }   
    +}
    +      
    + +

    矩形波

    +
    +double square(double t){ 
    +    double decimal_part = t - abs(t);
    +    return decimal_part < 0.5 ? 1 : -1; 
    +}
    +      
    +
    + +
    +

    +

    + + +

    + + +
    + + diff -r 43c6da29d688 -r d8f499590d82 13/Sep-2013/24th.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/13/Sep-2013/24th.html Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,170 @@ + + + + + + + 2013-09-24 + + + + + + + + + +
    + + + +
    +

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

    +

    + Masataka Kohagura +
    + 24th September , 2013 +

    +
    + +
    +

    + 研究目的 +

    +

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

    +

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

    +

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

    +
    + +
    +

    + したこと +

    +

    + ・SDLによる三角波、矩形波の実装 +

    +

    + ・mmapをfreadへの書き換え +

    +
    + +
    +

    波形

    +

    三角波

    +
    +double tri(double t){ 
    +
    +    double decimal_part = t - abs(t);
    +
    +    if(abs(t) % 2 != 0){ 
    +        return decimal_part < 0.5 ? decimal_part : 1 - decimal_part;
    +    }else{ 
    +        return decimal_part < 0.5 ? -decimal_part : 1 - decimal_part;
    +    }   
    +}
    +      
    + +

    矩形波

    +
    +double square(double t){ 
    +    double decimal_part = t - abs(t);
    +    return decimal_part < 0.5 ? 1 : -1; 
    +}
    +      
    +
    + +
    +

    mmapからfreadへの書き換え(1)

    +

    変更前

    +
    +static st_mmap_t
    +my_mmap(char *filename)
    +{
    +    int fd = -1; 
    +    int map = MAP_PRIVATE;
    +    st_mmap_t st_mmap;
    +    struct stat sb; 
    +
    +    if ((fd=open(filename,O_RDONLY,0666))==0) {
    +        fprintf(stderr,"can't open %s\n",filename);
    +    }   
    +
    +    if (fstat(fd,&sb)) {
    +        fprintf(stderr,"can't fstat %s\n",filename);
    +    }   
    +
    +    st_mmap.size = fix_byte(sb.st_size,4096);
    +
    +    st_mmap.file_mmap = (char*)mmap(NULL,st_mmap.size,PROT_READ,map,fd,(off_t)0);    if (st_mmap.file_mmap == (caddr_t)-1) {
    +        fprintf(stderr,"Can't mmap file\n");
    +        perror(NULL);
    +        exit(0);
    +    }       
    +    return st_mmap;
    +}
    +      
    +
    + +
    +

    mmapからfreadへの書き換え(2)

    +

    変更後

    +
    +my_fread(TaskManager *manager,char *filename)
    +{
    +    FILE *fd;
    +    st_mmap_t st_mmap;
    +    struct stat sb;
    +
    +    if ((fd=fopen(filename,"r"))==NULL) {
    +        fprintf(stderr,"can't open %s\n",filename);
    +    }
    +
    +    if (fstat(fileno(fd),&sb)) {
    +        fprintf(stderr,"can't fstat %s\n",filename);
    +    }
    +
    +    st_mmap.size = fix_byte(sb.st_size,4096);
    +
    +    st_mmap.file_mmap = (char*)manager->allocate(st_mmap.size);
    +    fread(st_mmap.file_mmap,st_mmap.size,1,fd);
    +    if (st_mmap.file_mmap == (caddr_t)-1) {
    +        fprintf(stderr,"Can't mmap file\n");
    +        perror(NULL);
    +        exit(0);
    +    }
    +    return st_mmap;
    +}
    +      
    +
    + + diff -r 43c6da29d688 -r d8f499590d82 14/February/memo/01st.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/14/February/memo/01st.txt Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,20 @@ +2014/02/01 (Sat) + [program] + wait_for かけたいけど、どうしようか + + 現状 + divide read が完全に終わってから Task が走る + -> 読み込んでから実行してるしあまりはやくならねーよ + + 理想 + divide read しながら Task 走るのが一番の理想 + -> divide read が最初からちゃんと走るけど、 Task が追い越してしまうので + それをどう同期とろうか悩み中 + + 2GB 以上を取ろうとすると + regex(19797,0x7fff75dad310) malloc: *** mach_vm_map(size=18446744071569698816) failed (error code=3) + *** error: can't allocate region + *** set a breakpoint in malloc_error_break to debug + Can't allocate memory + + もしかして、allocate sizeに限界がある?? diff -r 43c6da29d688 -r d8f499590d82 14/February/memo/02nd.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/14/February/memo/02nd.txt Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,17 @@ +2014/02/02 (Mon) + [program] + [昨日] + 2GB 以上を取ろうとすると + regex(19797,0x7fff75dad310) malloc: *** mach_vm_map(size=18446744071569698816) failed (error code=3) + *** error: can't allocate region + *** set a breakpoint in malloc_error_break to debug + Can't allocate memory + + もしかして、allocate sizeに限界がある?? + [改善] + TaskManager/kernel/ppe/TaskManager.cc + TaskManager/kernel/ppe/TaskManager.h + TaskManager/kernel/ppe/TaskManagerImpl.h + + size が int 型だったので、それをlong long に変更。 + (push は確認してから) diff -r 43c6da29d688 -r d8f499590d82 14/February/memo/03rd.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/14/February/memo/03rd.txt Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,71 @@ +2014/02/03 (Mon) + [program] + とりあえず、manager->allocate の内部実装を int -> long long に変更した。 + regex_mas 2GB 以上の file を読み込ますと、mmap と divide read の違いで結果が違ってしまう。 -> 多分、ちゃんと読み込みされていないのでは?? + + grep -c "doing" 2g.txt -> 5209072 + ./regex -file 2g.txt -sw doing -cpu 4 -> 5209072 + ./regex -file 2g.txt -sw doing -cpu 4 -dr -> 5190577 + + ./regex -file 3g.txt -sw doing -cpu 4 -> 7799680 + ./regex -file 3g.txt -sw doing -cpu 4 -dr -> 5190577 + + やっぱり 2GB の壁くさい + + segmentation fault が起こらないということは、ちゃんと allocate はされているっぽい。 + ということは、やはり read 関係のどこかで 2GB 制限がかかってるのではないか。 + (API を int -> long long にかえないといけない部分がまだ存在すると思われる。 + + divide read mode 時、wbuf の address の動きが怪しい + long だと MAX が約2GB。つまりどこかで long long にしないとこれは直らない。 + + read_run 内の + read->set_outData(0,w->file_mmap + w->read_task_number*w->read_division_size, w->read_division_size); + 第二引数 の値がおかしくなっていることが発覚 + + 実行結果 + + ---------------------- + set_outData buf : 0x24367a000 + w->file_mmap : 0x1c467a000 + w->read_task_number : 127 + w->read_division_size : 16777216 + ---------------------- + [read No 105 : wbuf addr 0x22d67a000] + [read No 106 : wbuf addr 0x22e67a000] + [read No 107 : wbuf addr 0x22f67a000] + ・・・ + [read No 120 : wbuf addr 0x23c67a000] + [read No 121 : wbuf addr 0x23d67a000] + ---------------------- + set_outData buf : 0x14467a000 + w->file_mmap : 0x1c467a000 + w->read_task_number : 128 + w->read_division_size : 16777216 + ---------------------- + ---------------------- + set_outData buf : 0x14567a000 + w->file_mmap : 0x1c467a000 + w->read_task_number : 129 + w->read_division_size : 16777216 + ---------------------- + + 再実行 + [read No 124 : wbuf addr 0x24067a000] + [read No 125 : wbuf addr 0x24167a000] + [read No 126 : wbuf addr 0x24267a000] + [read No 127 : wbuf addr 0x24367a000] + [read No 128 : wbuf addr 0x14467a000] + [read No 129 : wbuf addr 0x14567a000] + [read No 130 : wbuf addr 0x14667a000] + 876543210 + 16^8 = 2^4^8 = 2^32 + + Address が 2^32 分落ちてしまっている。 + (オーバーフローしている) + + 原因究明 + (char*)w->file_mmap + (int)w->read_task_number*(int)w->read_division_size + (int)w->read_task_number*(int)w->read_division_size + + int に 2GB 以上の数値を突っ込んでいたので、オーバーフローしていた diff -r 43c6da29d688 -r d8f499590d82 14/February/memo/04th.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/14/February/memo/04th.txt Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,144 @@ +2014/02/04 (Tue) + [ゼミ] + ・大きいサイズのファイルに番号をつける + ・この番号がintになっていたことによってオーバーフロー + ・longに直したら動くようになった + + ・10GBのデータをmmmapがreadしてるだけ + + ・メモリをallocateしなければならない + + mmap の話 + ・実メモリをallocateまではしていない + ・ページテーブルエントリーしている + ・ページテーブルエントリーの大きさは + ・virtualメモリの上半分下半分 + ・4k(12bit)(最近は8k(52bit)2^52) + ・2^50 -> 実メモリには収まらない + ・10GBは割り振らないといけない + ・10GB / 4k -> 2.5MB (ページテーブルエントリー) + ・仮想メモリ上に割り振る(どうせ全部使わないから実メモリ上には割り振らない) + + ・MMU(メモリ マネジメント ユニット) : 仮想アドレスを物理アドレスに変換する + ・ページテーブル : 仮想アドレスと物理アドレスの対応表 + + ・mmapを分割すると何がいいのか + ・メモリよりも大きいファイルが使える + ・巨大なmmapには時間がかかる + ・ページテーブルエントリーを用意しないといけないから(仮想上に用意するとしても) + ・mmapの単位を小さくすればそれをする必要がなくなるから、速くなる + ・readよりもmmapを分割する方が速いってことが言える + + Cerium Taskで時間測定できるようになってたよー + 計測しなおし + + [program] + [実験環境] + firefly で計測 + 2*2.66 GHz, HHD 1TB, memory 16GB + 読み込んだ file size : 10740996168 Byte (10GB) + + 読み込んでから Task が終了するまでの時間を測定 + + divide read で一度に読み込む量 : 4*4096*1024 Byte + + + % ./fileread -file ../regex_mas/10gb.txt -cpu 12 -dr + [SPE_ANY] + mmap 0.194788 + 4*4096*1024 Byte 123.563726 + 4*4096 Byte 391.734989 + + [IO_0] + mmap 0.194788 + divide size + 4*4096*1024 Byte + 4*4096 Byte + + [結果] + [fileread] + CPU_TYPE SPE_ANY + mode , cpu_num, first(s), cache(s) + MMAP 1 + D_Read 1 + D_Read 2 + D_Read 3 + D_Read 4 + D_Read 5 + D_Read 6 + D_Read 7 + D_Read 8 101.228669 138.571596 + D_Read 9 + D_Read 10 130.651908 131.169506 + D_Read 11 + D_Read 12 139.237653 137.285821 + + CPU_TYPE IO_0 + MMAP 1 + D_Read 1 + D_Read 2 + D_Read 3 + D_Read 4 + D_Read 5 + D_Read 6 + D_Read 7 + D_Read 8 126.854166 120.156284 + D_Read 9 + D_Read 10 127.547397 129.866984 + D_Read 11 + D_Read 12 107.594404 125.348336 + + + [regex_mas(BM_search)] + CPU_TYPE SPE_ANY + mode , cpu_num, first(s), cache(s) + MMAP 1 102.260 38.466 + MMAP 2 + MMAP 3 + MMAP 4 + MMAP 5 + MMAP 6 + MMAP 7 + MMAP 8 + MMAP 9 + MMAP 10 + MMAP 11 + MMAP 12 81.961003 8.134885 + D_Read 1 + D_Read 2 + D_Read 3 + D_Read 4 + D_Read 5 + D_Read 6 + D_Read 7 + D_Read 8 101.228669 138.571596 + D_Read 9 + D_Read 10 130.651908 131.169506 + D_Read 11 + D_Read 12 139.237653 137.285821 + + CPU_TYPE IO_0 + MMAP 1 + MMAP 2 + MMAP 3 + MMAP 4 + MMAP 5 + MMAP 6 + MMAP 7 + MMAP 8 116.673263 8.048647 + MMAP 9 + MMAP 10 75.978887 8.139924 + MMAP 11 + MMAP 12 81.245613 8.200301 + D_Read 1 + D_Read 2 + D_Read 3 + D_Read 4 + D_Read 5 + D_Read 6 + D_Read 7 + D_Read 8 126.854166 120.156284 + D_Read 9 + D_Read 10 127.547397 129.866984 + D_Read 11 + D_Read 12 107.594404 125.348336 diff -r 43c6da29d688 -r d8f499590d82 14/February/memo/05th.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/14/February/memo/05th.txt Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,18 @@ +2014/02/05 (Wed) + + [Today's Goal] + DEBUG オプションから時間測定ができるようにしたい。 + (現在は 例題から時間をセットしている。) + + divide read と Task 実行の並列化 + + [memo] + kernel/schedule/SchedTask.cc:exec() + __debug(this->scheduler,"cpuid %ld %s\t0x%p time %lld\n",scheduler->id,(char *)(task_list[atask->command].name),(void*)list, list->task_end_time-list->task_start_time); + ここに Task の表示、時間表示を設定する debug option がある。 + + intelli J IDEA にかえようぜ?? わんちゃん + + とりあえず、__debug の引数がおかしかったので訂正 + + diff -r 43c6da29d688 -r d8f499590d82 14/February/memo/06th.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/14/February/memo/06th.txt Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,55 @@ +2014/02/06 (Thu) + [Today's goal] + divide read と Task 実行の並列化 + + [memo] + divide read と Task の並列実行時、様々なエラーがおこる + + * thread #1: tid = 0x35eb7c, 0x000000010000fb14 regex`FifoDmaManager::has_mail_from_host(this=0x0000000100112a00) + 20 at FifoDmaManager.cc:223, queue = 'com.apple.main-thread, stop reason = EXC_BAD_ACCESS (code=EXC_I386_GPFLT) + frame #0: 0x000000010000fb14 regex`FifoDmaManager::has_mail_from_host(this=0x0000000100112a00) + 20 at FifoDmaManager.cc:223 + 220 int + 221 FifoDmaManager::has_mail_from_host() + 222 { + -> 223 return mail_queue1->count(); + 224 } + 225 + 226 void + +* thread #6: tid = 0x35f41d, 0x00000001000089fc regex`SchedTask::exec(this=0x000000010052ab00) + 428 at SchedTask.cc:119, stop reason = EXC_BAD_ACCESS (code=EXC_I386_GPFLT) + frame #0: 0x00000001000089fc regex`SchedTask::exec(this=0x000000010052ab00) + 428 at SchedTask.cc:119 + 116 } else { + 117 run(this, read,write); + 118 } +-> 119 (*connector->end_dmawait_profile)(&connector->global_busy_time,&connector->start_time,&connector->stop_time); + 120 list->task_end_time = gettime(); + + + +regex(50295,0x1046f6000) malloc: *** error for object 0x10021c5d8: incorrect checksum for freed object - object was probably modified after being freed. +*** set a breakpoint in malloc_error_break to debug +match count : 40 +match count : 40 +[start exec No: 9] +[start exec No: 25] +match count : 40 +[start exec No: 10] +match count : 40 +[start exec No: 26] + + +frame #9: 0x0000000100007ed8 regex`SchedMail::next(this=0x0000000100218d70, scheduler=0x000000010050c170, p=0x0000000000000000) + 200 at SchedMail.cc:19 + 16 return new SchedExit(); + 17 } else { + 18 int dma_tag_switch = 0; +-> 19 return new SchedTaskList(params_addr, scheduler, dma_tag_switch); + 20 } + 21 } + + さて、どこから直したらいいのだろうか・・・ + + allocate(sizeof(w->read_file_size)) <- 型 size しかとれてねーよ(震え声 + (赤っ恥かきました) + allocate(w->read_file_size) <- これで allocate できたね(ニッコリ + + + make clean; make -j gpu parallel ではなくて gpu で TaskManager をコンパイルするときのコマンド diff -r 43c6da29d688 -r d8f499590d82 14/February/memo/07th.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/14/February/memo/07th.txt Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,46 @@ +2014/02/07 (Fri) + [Today's goal] + mmap を Task から 関数に変更 + 微調整 + 様々な測定 + + [memo] + + ファーストオーダーロジック + + ゲーテル + 不完全性定理 vlid  + 完全性定理 valid であればその論理の証明が存在する + + 強制法 + ↓ + 選択公理 + + 構成可能な集合(空集合を要素にもつ集合) + 構成可能な集合以外を含む集合も証明可能  + -> 強制法 forcing + + カテゴリ + A->B ->C + + A->C  + + ハイオーダーロジックは数式とか記号とかでの証明 + カテゴリをコンピュータサイエンスに応用できないか? + 「category theory for computing science」 + + 唯一まともなのは茂木健一郎「モナド」 + モナドはリフレクションだけが会ってレイフィケーションはない + + リフレクションはオブジェクトをメタオブイェクトに + ex:ユーザランドからカーネルに設定 limt とかなにか + レイフィケーションがメタオブジェクトからオブイェクトにする + ex:pidをとってくるとか + + OS: カーネルランドがメタオブイェクト、ユーザランドがオブジェクト + + ヨコテさんが作ったのがアイボとかに使われている OS + + 証明可能の後ろに「否定」をつけると矛盾が生じる + + DSはリフレクションとレイフィケーション両方あるようにつくる diff -r 43c6da29d688 -r d8f499590d82 14/February/memo/12th.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/14/February/memo/12th.txt Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,20 @@ +2014/02/12 (Wed) + + [memo] + 院試での卒論発表 + 質問された内容 + ・Broked Read 実装のメリット + ・IO 専用の thread を準備しているが、 priority を自分自身であげることができるのか + ・IO 専用 thread でどれだけ速くなったのか。 ->10秒ほどはやくなった。 + ・IO ネックになっているが、mmap と read 両方共結局同じ結果になりそうだが + -> mmap だと、Taskで読み込む範囲のreadしか行われない。 Task の数だけ read が発生する + -> Broked Read だと、複数Task 分だけ読み込むので、read の発生回数がmmap時よりすくなくなる。(要検証) + ・実メモリに読み込むとき、 swap が起こるかどうか。 + + ・ やはりどのぐらい改善されたかという数値を出すときには、パーセンテージのほうがよい。 + ・ IO_0 という CPU Type を追加したという話をした後の実験結果の見せ方が悪すぎた。 + 4 CPU と 12 CPU で比較していたが、IO_0 を 4 CPU 準備したと思われてもおかしくない。 + ・ もっとくわしく書くべきだった。 + mmap は 4 CPU (IO と Task が分離できないため) でいいが + Broked Read は IO 専用 CPU 1 + Task CPU 3 + のように詳しく記述する必要があった。 diff -r 43c6da29d688 -r d8f499590d82 14/February/memo/14th.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/14/February/memo/14th.txt Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,23 @@ +2014/02/14 (Fri) + + [memo] + mmap は仮想アドレスを取得する。 + ヒープ領域を伸ばせなくても、別の空き領域を自動的に取得してそこにメモリを確保する。 + -> しかし、連続じゃないということは、その領域を探すという段階にオーバーヘッドがでるのでは + + mmap は kernel の機能を利用するため、OS依存になる。 + (OS によって kernel がかわるため) + + *要検証 + Linux の malloc は + 128KB未満のメモリー要求に対してはヒープから割り当てる。(brk() でとってるらしい) + 128KB以上のメモリー要求に対してはmmapを使用する。 + らしい + -> あれ??つまり malloc は物理メモリアドレスを連続で確保しているわけではないので、遅くならね?? + -> 連続で格納されていなくても、断片的にすでに読み込まれているから早いのか?? + -> read 関数よりも、malloc の調整次第でもっと速くなるのでは + + + + [卒論] + いままでしてきた過程をすべて書くことによって説得力が徐々に湧いていくよね diff -r 43c6da29d688 -r d8f499590d82 14/February/memo/25th.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/14/February/memo/25th.txt Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,23 @@ +2014/02/25(Mon) + + [測定] + mmap のフラグの種類 + firefly 上で実験 + firefly+one ./regex -file 10gb.txt -sw doing -cpu 12 + + MAP_PRIVATE 155.736128 + MAP_SHARED 159.927492 + MAP_32BIT *** + MAP_ANONYMOUS *** + MAP_DENYWRITE *** + MAP_EXECUTABL *** + MAP_NORESERVE sf + MAP_LOCKED *** + MAP_GROWSDOWN *** + MAP_HUGETLB *** + MAP_LOCKED *** + MAP_STACK *** + MAP_UNINITIALIZED *** + + ほとんど実行できないじゃねーか!! + diff -r 43c6da29d688 -r d8f499590d82 14/February/memo/MMAPvsDivideRead.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/14/February/memo/MMAPvsDivideRead.txt Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,98 @@ +[program] + + mmap だと ramdam access なので DB だと使用されない -> read を使用している。 + + 実験環境をいろいろ変えてみよう + OSを変更してみる。(Linux など) + mmap の flag をかえてみる + priority 下げてみる?? + 様々なことをやってみよう + + [実験環境] + firefly で計測 + mac os X 10.9.1 + 2*2.66 GHz, HHD 1TB, memory 16GB + 読み込んだ file size : 10740996168 Byte (10GB) + + 読み込んでから Task が終了するまでの時間を測定 + + % ./regex -file 10gb.txt -sw doing -division 128 -block 48 -cpu 12 -br + [結果] + bm_search one task size 128k + task blocks 48 + CPUNUM + 1 + MMAP + second 35.713130 + IO BRead + 2 + MMAP 94.298429 94.268424 96.484658 + second 17.186720 + IO BRead 100.222430 100.458053 94.847105 + 3 + MMAP 129.450665 108.940161 106.512558 + second 12.161487 + SPE BRead 107.156623 + IO BRead 96.690044 98.422669 95.189016 + 4 + MMAP 135.155317 142.751540 148.916697 137.110170 147.350221 + second 12.102094 + SPE BRead 96.664415 + IO BRead 109.181394 97.955774 94.676133 94.508641 97.399619 + 8 + MMAP 174.250825 146.720434 147.433098 + second 6.942862 + IO BRead 90.398165 91.338648 101.322919 + 12 + MMAP 181.776079 148.274648 148.439857 147.485801 147.036413 + second 6.929711 + SPE BRead 111.674880 94.806148 106.796695 106.796695 95.730738 + IO BRead 95.656162 117.457584 96.305392 91.637826 94.680580 + + bm_search one task size 64k + task blocks 48 + 12 + MMAP 128.752630 130.268836 + IO BRead 97.779679 109.356311 + + bm_search one task size 256k + task blocks 48 + 12 + MMAP 166.577149 148.437492 + IO BRead 107.571059 99.907239 + + bm_search one task size 512k + task blocks 48 + 12 + MMAP 149.994577 138.402043 + IO BRead 94.069890 101.792784 + + bm_search one task size 128k + task blocks 24 + 12 + MMAP 153.115449 + IO BRead 98.620145 + + bm_search one task size 128k + task blocks 64 + 12 + MMAP 153.186823 + IO BRead 95.646812 + + bm_search one task size 256k + task blocks 64 + 12 + MMAP 147.430725 + IO BRead 94.544596 + + bm_search one task size 256k + task blocks 256 + 12 + MMAP 150.335210 + IO BRead 111.773256 + + fileread + file read one task size + 1024 * 128 * 48 cpu 1 93.605574 95.171400 + 1024 * 128 * 48 cpu 4 97.775177 97.714276 + 1024 * 256 * 256 cpu 4 98.261143 95.614298 diff -r 43c6da29d688 -r d8f499590d82 14/February/slide/04th.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/14/February/slide/04th.html Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,179 @@ + + + + + + + slide + + + + + + + + + +
    + + + +
    +

    + Cerium の並列処理向け I/O の設計と実装 +

    +

    + Masataka Kohagura +
    + 21st January , 2014 +

    +
    + +
    +

    研究背景と目的

    +

    + 近年のCPUのほとんどはマルチコアであり、それらの性能を引き出すためには並列プログラミングが必須となっている。そこで当研究室では Cerium Library の開発を行い、提供することによって並列プログラミングを容易にしている。 +

    +

    + 先行研究では Task の並列化によって、プログラム全体の処理速度は向上しているが、ファイル読み込み等の I/O に対して並列に Task が動作するようにはされていない。 +

    +

    + 現状では、ファイルを全て memory に mapping を行ってから Task が走るようになっているので、非常に大きいサイズのファイルを読み込むと、ファイルを memory に mapping するまでの時間がオーバーヘッドになってしまう。 +

    +

    + 本研究では I/O と Task の並列化の設計、実装によってプログラム全体の処理速度、処理効率を上げていく。 +

    +
    + +
    +

    + したこと +

    +
      + +
    • + 2GB 以上のファイルが読み込めなかった -> 修正 +
    • + +
    • + fileread をちょっとだけ測定 +
    • +
        +
    + + + +
    + +

    2GB 以上のファイルが読み込めなかった -> 修正

    +

    + manager->allocate(int) を使用したところ +

    +
    +if (divide_read_flag != 0) {
    +    printf("[divide read mode]\n");
    +    w->file_mmap = (char*)manager->allocate((long)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);
    +}
    +
    +

    + divide read をする前に manager->alocate にて memory を確保する。 + この領域に、分割して読み込んだ file を mapping していく。 +

    +
    + +
    +

    + kernel/ppe/TaskManagerImpl.h +

    +

    修正前

    + +
    +void* allocate(int size, int alignment)
    +{
    +#if defined(__SPU__) || ! defined(HAS_POSIX_MEMALIGN)
    +    buff =  malloc(size);
    +#else
    +    posix_memalign(&buff, alignment, size);
    +#endif
    +    return buff;
    +}
    +
    + +

    修正後

    +
    +void* allocate(long size, int alignment)
    +{
    +    ・・・
    +}
    +
    + +
    + +
    +

    + fileread +

    +

    + ファイルの読み込みだけを行うプログラム +

    +

    + firefly 上で実行
    + 2*2.66 GHz, HHD 1TB, memory 16GB
    + file size : 10740996168 Byte (約10GB) +

    + + + +
    + + + + + +
    modetime(s)
    mmap0.194788
    read_divide_size
    4*4096 Byte391.734989
    4*4096*1024 Byte123.563726
    + + +
    + + + diff -r 43c6da29d688 -r d8f499590d82 14/January/OUTLINE --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/14/January/OUTLINE Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,34 @@ +2014/01/31 (Fri) + [memo] + 論文の書き方について + +2014/01/29 (Wed) + [memo] + ブレードサーバの在処 + OS 研究会について + + [figure] + read 部分の set cpu を SPE_ANY or IO_0 でどうなるか計測 + io_speany が gnuplot の set Data グラフを作成 + +2014/01/23 (Thu) + [memo] + 1/22 の実験結果のまとめ + +2014/01/22 (Wed) + [memo] + 今後の実験方針 + 測定方法のまとめ + データとったよ!! (fileread,regex_mas) + ただし明日にデータを綺麗にまとめる + + +2014/01/21 (Tue) + [memo] + ゼミまとめ + Ceriumの並列処理向けI/Oの研究 へタイトルの変更 + 1/21時点でこれからさらにやること + + [slide] + regex_mas にて divide read を組み込めた (未検証) + 卒論目次のまとめ&訂正 diff -r 43c6da29d688 -r d8f499590d82 14/January/figure/figure.graffle --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/14/January/figure/figure.graffle Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,1402 @@ + + + + + ApplicationVersion + + com.omnigroup.OmniGraffle + 139.18.0.187838 + + CreationDate + 2014-01-13 17:39:20 +0000 + Creator + MasaKoha + GraphDocumentVersion + 8 + GuidesLocked + NO + GuidesVisible + YES + ImageCounter + 1 + LinksVisible + NO + MagnetsVisible + NO + MasterSheets + + ModificationDate + 2014-01-13 19:29:51 +0000 + Modifier + MasaKoha + NotesVisible + NO + OriginVisible + NO + PageBreaks + YES + PrintInfo + + NSBottomMargin + + float + 41 + + NSHorizonalPagination + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG + + NSLeftMargin + + float + 18 + + NSPaperSize + + size + {595.00000476837158, 842} + + NSPrintReverseOrientation + + int + 0 + + NSRightMargin + + float + 18 + + NSTopMargin + + float + 18 + + + ReadOnly + NO + Sheets + + + ActiveLayerIndex + 0 + AutoAdjust + + BackgroundGraphic + + Bounds + {{0, 0}, {559.00000476837158, 783}} + Class + SolidGraphic + ID + 2 + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + + BaseZoom + 0 + CanvasOrigin + {0, 0} + ColumnAlign + 1 + ColumnSpacing + 36 + DisplayScale + 1 0/72 in = 1.0000 in + GraphicsList + + + Bounds + {{71.928565979003906, 477.51139831542969}, {55, 14}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 67 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 IO_0} + VerticalPad + 0 + + + + Class + LineGraphic + Head + + ID + 60 + + ID + 66 + Points + + {405.8223936494694, 179.01708105298832} + {172.85713904244585, 188} + {127.59615182824227, 220.08866775349173} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + Pattern + 2 + TailArrow + 0 + + + Tail + + ID + 33 + + + + Class + LineGraphic + Head + + ID + 1 + + ID + 65 + Points + + {127.88466016905706, 260.02661401201084} + {182, 298} + {239.31517335379993, 260.01562539344866} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + Pattern + 2 + TailArrow + 0 + + + Tail + + ID + 60 + + + + Class + LineGraphic + Head + + ID + 62 + + ID + 64 + Points + + {99.428574466795965, 357.36155734788679} + {99.428574466795965, 408.40714100651519} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + Pattern + 2 + TailArrow + 0 + + + Tail + + ID + 61 + + + + Class + LineGraphic + Head + + ID + 61 + + ID + 63 + Points + + {99.428577429581708, 259.73941040039062} + {99.428577429581708, 316.99999379946178} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + Pattern + 2 + TailArrow + 0 + + + + + Bounds + {{43.999996185302734, 408.90715086493856}, {110.85714285714285, 39.361563517915329}} + Class + ShapedGraphic + ID + 62 + Shape + Circle + Style + + stroke + + Pattern + 2 + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 SchedTask} + VerticalPad + 0 + + + + Bounds + {{43.999996185303019, 317.49999381193857}, {110.85714285714285, 39.361563517915329}} + Class + ShapedGraphic + ID + 61 + Shape + Rectangle + Style + + stroke + + Pattern + 2 + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Sched} + + + + Bounds + {{43.999996185303019, 220.3778492433627}, {110.85714285714285, 39.361563517915329}} + Class + ShapedGraphic + ID + 60 + Shape + Rectangle + Style + + stroke + + Pattern + 2 + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 IOThread} + + + + Bounds + {{52.999996185303019, 226.59283295671781}, {110.85714285714285, 39.361563517915329}} + Class + ShapedGraphic + ID + 59 + Shape + Rectangle + Style + + stroke + + Pattern + 2 + + + + + Bounds + {{61.999996185303019, 232.80781667007324}, {110.85714285714285, 39.361563517915329}} + Class + ShapedGraphic + ID + 58 + Shape + Rectangle + Style + + stroke + + Pattern + 2 + + + + + Bounds + {{287.85714721679688, 448.76870727539062}, {55, 14}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 57 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 pipeline} + VerticalPad + 0 + + + + Class + LineGraphic + Head + + ID + 48 + + ID + 55 + Points + + {269.42856436630228, 357.86155972125096} + {269.42856436630228, 408.90714337987902} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 46 + + + + Bounds + {{420.92855834960938, 477.51139831542969}, {55, 14}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 53 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 GPU_0} + VerticalPad + 0 + + + + Bounds + {{241.92855834960938, 477.51139831542969}, {55, 14}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 52 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 SPE_0} + VerticalPad + 0 + + + + Class + LineGraphic + Head + + ID + 50 + + ID + 51 + Points + + {448.42857768049697, 260.23941277284547} + {448.42857768049697, 322.07980726992668} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 38 + + + + Bounds + {{393.00000000000028, 322.57980728149414}, {110.85714285714285, 39.361563517915329}} + Class + ShapedGraphic + ID + 50 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Sched} + + + + Class + LineGraphic + Head + + ID + 46 + + ID + 49 + Points + + {269.42858124427897, 260.23941277375479} + {269.42858124427897, 317.49999617282594} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 1 + + + + Bounds + {{214, 409.40715323830273}, {110.85714285714285, 39.361563517915329}} + Class + ShapedGraphic + ID + 48 + Shape + Circle + Style + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 SchedTask} + VerticalPad + 0 + + + + Bounds + {{214.00000000000028, 317.99999618530273}, {110.85714285714285, 39.361563517915329}} + Class + ShapedGraphic + ID + 46 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Sched} + + + + Class + LineGraphic + Head + + ID + 38 + + ID + 45 + Points + + {299.08385353030013, 260.01859785996538} + {357, 298.99999618530273} + {417.4799261062052, 260.01033075395998} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 1 + + + + Class + LineGraphic + Head + + ID + 1 + + ID + 44 + Points + + {410.05150468063027, 184.76761148692478} + {376, 190} + {311.78018111912928, 220.16527280798064} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 33 + + + + Class + LineGraphic + Head + + ID + 33 + + ID + 43 + Points + + {469.84807651804772, 133.61204509542438} + {470.85714285714306, 136} + {466.06586312209873, 156.77024974340137} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 32 + + + + Class + LineGraphic + Head + + ID + 32 + + ID + 42 + Points + + {415.6592286588338, 68.813305449413249} + {452, 73} + {456.77028210662797, 93.585287881626527} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 31 + + + + Class + LineGraphic + Head + + ID + 31 + + ID + 41 + Points + + {269.50114616224988, 93.947495173545306} + {276, 82.361563517915272} + {299.43280267715488, 73.910270690917969} + {312.3866130318894, 71.60115337282717} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 30 + + + + Class + LineGraphic + Head + + ID + 30 + + ID + 40 + Points + + {212.68407754871848, 68.785721218907781} + {232.00000000000028, 71} + {246.26327983506164, 94.037977435588928} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 29 + + + + Class + LineGraphic + Head + + ID + 29 + + ID + 39 + Points + + {58.88139085103527, 93.549841965712503} + {62, 75.3615635179153} + {106.87798027806939, 69.520485635476831} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 28 + + + + Bounds + {{393.00000000000023, 220.3778492433627}, {110.85714285714285, 39.361563517915329}} + Class + ShapedGraphic + ID + 38 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 GPUThread} + + + + Bounds + {{402.00000000000023, 226.59283295671781}, {110.85714285714285, 39.361563517915329}} + Class + ShapedGraphic + ID + 37 + Shape + Rectangle + + + Bounds + {{411.00000000000023, 232.80781667007324}, {110.85714285714285, 39.361563517915329}} + Class + ShapedGraphic + ID + 36 + Shape + Rectangle + + + Bounds + {{214.00000000000028, 220.3778492433627}, {110.85714285714285, 39.361563517915329}} + Class + ShapedGraphic + ID + 1 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 CPUThread} + + + + Bounds + {{223.00000000000028, 226.59283295671781}, {110.85714285714285, 39.361563517915329}} + Class + ShapedGraphic + ID + 34 + Shape + Rectangle + + + Bounds + {{406, 157.19217789367255}, {110.85714285714285, 39.361563517915329}} + Class + ShapedGraphic + ID + 33 + Shape + Circle + Style + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 TaskList} + VerticalPad + 0 + + + + Bounds + {{406, 94.006509439176284}, {110.85714285714285, 39.361563517915329}} + Class + ShapedGraphic + ID + 32 + Shape + Circle + Style + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 activeTask\ +Queue} + VerticalPad + 0 + + + + Bounds + {{307, 43.000003814697237}, {110.85714285714285, 39.361563517915329}} + Class + ShapedGraphic + ID + 31 + Shape + Circle + Style + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 setTaskList} + VerticalPad + 0 + + + + Bounds + {{203.00000095367432, 94.006514657980475}, {110.85714285714285, 39.361563517915329}} + Class + ShapedGraphic + ID + 30 + Shape + Circle + Style + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 HTask} + VerticalPad + 0 + + + + Bounds + {{104, 42.999999999999943}, {110.85714285714285, 39.361563517915329}} + Class + ShapedGraphic + ID + 29 + Shape + Circle + Style + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 TaskManager} + VerticalPad + 0 + + + + Bounds + {{0, 94.006511899469331}, {110.85714285714285, 39.361563517915329}} + Class + ShapedGraphic + ID + 28 + Shape + Circle + Style + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 CreateTask\ +spawn} + VerticalPad + 0 + + + + Bounds + {{232.00000000000028, 232.80781667007324}, {110.85714285714285, 39.361563517915329}} + Class + ShapedGraphic + ID + 35 + Shape + Rectangle + + + GridInfo + + HPages + 1 + KeepToScale + + Layers + + + Lock + NO + Name + レイヤー 1 + Print + YES + View + YES + + + LayoutInfo + + Animate + NO + circoMinDist + 18 + circoSeparation + 0.0 + layoutEngine + dot + neatoSeparation + 0.0 + twopiSeparation + 0.0 + + Orientation + 2 + PrintOnePage + + RowAlign + 1 + RowSpacing + 36 + SheetTitle + キャンバス 1 + UniqueID + 1 + VPages + 1 + + + ActiveLayerIndex + 0 + AutoAdjust + + BackgroundGraphic + + Bounds + {{0, 0}, {559.00000476837158, 783}} + Class + SolidGraphic + ID + 2 + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + + BaseZoom + 0 + CanvasOrigin + {0, 0} + ColumnAlign + 1 + ColumnSpacing + 36 + DisplayScale + 1 0/72 in = 1.0000 in + GraphicsList + + GridInfo + + HPages + 1 + KeepToScale + + Layers + + + Lock + NO + Name + レイヤー 1 + Print + YES + View + YES + + + LayoutInfo + + Animate + NO + circoMinDist + 18 + circoSeparation + 0.0 + layoutEngine + dot + neatoSeparation + 0.0 + twopiSeparation + 0.0 + + Orientation + 2 + PrintOnePage + + RowAlign + 1 + RowSpacing + 36 + SheetTitle + キャンバス 2 + UniqueID + 2 + VPages + 1 + + + SmartAlignmentGuidesActive + YES + SmartDistanceGuidesActive + YES + UseEntirePage + + WindowInfo + + CurrentSheet + 1 + ExpandedCanvases + + Frame + {{-5, 496}, {694, 922}} + ListView + + OutlineWidth + 142 + RightSidebar + + ShowRuler + + Sidebar + + SidebarWidth + 120 + VisibleRegion + {{0, 0}, {559, 783}} + Zoom + 1 + ZoomValues + + + キャンバス 1 + 1 + 1 + + + キャンバス 2 + 1 + 1 + + + + + diff -r 43c6da29d688 -r d8f499590d82 14/January/figure/io_speany.pdf Binary file 14/January/figure/io_speany.pdf has changed diff -r 43c6da29d688 -r d8f499590d82 14/January/figure/io_speany.plt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/14/January/figure/io_speany.plt Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,152 @@ +#!/usr/local/bin/gnuplot -persist +# +# +# G N U P L O T +# Version 4.2 patchlevel 6 +# last modified Sep 2009 +# System: Darwin 13.0.0 +# +# Copyright (C) 1986 - 1993, 1998, 2004, 2007 - 2009 +# Thomas Williams, Colin Kelley and many others +# +# Type `help` to access the on-line reference manual. +# The gnuplot FAQ is available from http://www.gnuplot.info/faq/ +# +# Send bug reports and suggestions to +# +# set terminal aqua 0 title "Figure 0" size 846,594 font "Times-Roman,14" noenhanced solid +# set output +unset clip points +set clip one +unset clip two +set bar 1.000000 +set border 31 front linetype -1 linewidth 1.000 +set xdata +set ydata +set zdata +set x2data +set y2data +set timefmt x "%d/%m/%y,%H:%M" +set timefmt y "%d/%m/%y,%H:%M" +set timefmt z "%d/%m/%y,%H:%M" +set timefmt x2 "%d/%m/%y,%H:%M" +set timefmt y2 "%d/%m/%y,%H:%M" +set timefmt cb "%d/%m/%y,%H:%M" +set boxwidth +set style fill empty border +set style rectangle back fc lt -3 fillstyle solid 1.00 border -1 +set dummy x,y +set format x "% g" +set format y "% g" +set format x2 "% g" +set format y2 "% g" +set format z "% g" +set format cb "% g" +set angles radians +set grid nopolar +set grid xtics nomxtics ytics nomytics noztics nomztics \ + nox2tics nomx2tics noy2tics nomy2tics nocbtics nomcbtics +set grid layerdefault linetype 0 linewidth 1.000, linetype 0 linewidth 1.000 +set key title "" +set key inside right top vertical Right noreverse enhanced autotitles nobox +set key noinvert samplen 4 spacing 1 width 0 height 0 +unset label +unset arrow +set style increment default +unset style line +unset style arrow +set style histogram clustered gap 2 title offset character 0, 0, 0 +unset logscale +set offsets 0, 0, 0, 0 +set pointsize 1 +set encoding default +unset polar +unset parametric +unset decimalsign +set view 60, 30, 1, 1 +set samples 100, 100 +set isosamples 10, 10 +set surface +unset contour +set clabel '%8.3g' +set mapping cartesian +set datafile separator whitespace +unset hidden3d +set cntrparam order 4 +set cntrparam linear +set cntrparam levels auto 5 +set cntrparam points 5 +set size ratio 0 1,1 +set origin 0,0 +set style data points +set style function lines +set xzeroaxis linetype -2 linewidth 1.000 +set yzeroaxis linetype -2 linewidth 1.000 +set zzeroaxis linetype -2 linewidth 1.000 +set x2zeroaxis linetype -2 linewidth 1.000 +set y2zeroaxis linetype -2 linewidth 1.000 +set ticslevel 0.5 +set mxtics default +set mytics default +set mztics default +set mx2tics default +set my2tics default +set mcbtics default +set xtics border in scale 1,0.5 mirror norotate offset character 0, 0, 0 +set xtics 1 norangelimit +set ytics border in scale 1,0.5 mirror norotate offset character 0, 0, 0 +set ytics autofreq norangelimit +set ztics border in scale 1,0.5 nomirror norotate offset character 0, 0, 0 +set ztics autofreq norangelimit +set nox2tics +set noy2tics +set cbtics border in scale 1,0.5 mirror norotate offset character 0, 0, 0 +set cbtics autofreq norangelimit +set title "" +set title offset character 0, 0, 0 font "" norotate +set timestamp bottom +set timestamp "" +set timestamp offset character 0, 0, 0 font "" norotate +set rrange [ * : * ] noreverse nowriteback # (currently [0.00000:10.0000] ) +set trange [ * : * ] noreverse nowriteback # (currently [-5.00000:5.00000] ) +set urange [ * : * ] noreverse nowriteback # (currently [-5.00000:5.00000] ) +set vrange [ * : * ] noreverse nowriteback # (currently [-5.00000:5.00000] ) +set xlabel "" +set xlabel offset character 0, 0, 0 font "" textcolor lt -1 norotate +set x2label "" +set x2label offset character 0, 0, 0 font "" textcolor lt -1 norotate +set xrange [ 1.00000 : 4.00000 ] noreverse nowriteback +set x2range [ * : * ] noreverse nowriteback # (currently [-10.0000:10.0000] ) +set ylabel "" +set ylabel offset character 0, 0, 0 font "" textcolor lt -1 rotate by 90 +set y2label "" +set y2label offset character 0, 0, 0 font "" textcolor lt -1 rotate by 90 +set yrange [ 0.00000 : 130.000 ] noreverse nowriteback +set y2range [ * : * ] noreverse nowriteback # (currently [-10.0000:10.0000] ) +set zlabel "" +set zlabel offset character 0, 0, 0 font "" textcolor lt -1 norotate +set zrange [ * : * ] noreverse nowriteback # (currently [-10.0000:10.0000] ) +set cblabel "" +set cblabel offset character 0, 0, 0 font "" textcolor lt -1 rotate by 90 +set cbrange [ * : * ] noreverse nowriteback # (currently [-10.0000:10.0000] ) +set zero 1e-08 +set lmargin -1 +set bmargin -1 +set rmargin -1 +set tmargin -1 +set locale "C" +set pm3d explicit at s +set pm3d scansautomatic +set pm3d interpolate 1,1 flush begin noftriangles nohidden3d corners2color mean +set palette positive nops_allcF maxcolors 0 gamma 1.5 color model RGB +set palette rgbformulae 7, 5, 15 +set colorbox default +set colorbox vertical origin screen 0.9, 0.2, 0 size screen 0.05, 0.6, 0 front bdefault +set loadpath +set fontpath +set xlabel "CPU_NUM" +set ylabel "ms" +set fit noerrorvariables +GNUTERM = "aqua" +plot "./io_speany.txt" using 1:2 title "MMAP & SPE_ANY" with lines,"./io_speany.txt" using 1:3 title "divide read & SPE_ANY" with lines,"./io_speany.txt" using 1:4 title "MMAP & IO_0" with lines,"./io_speany.txt" using 1:5 title "divide read & IO_0" with lines +# EOF diff -r 43c6da29d688 -r d8f499590d82 14/January/figure/io_speany.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/14/January/figure/io_speany.txt Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,4 @@ +1 102.260 82.814 102.824 84.670 +2 75.201 127.040 72.691 71.691 +3 60.065 77.703 60.065 68.778 +4 58.234 72.097 58.230 66.016 diff -r 43c6da29d688 -r d8f499590d82 14/January/figure/plot.gpi --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/14/January/figure/plot.gpi Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,147 @@ +#!/usr/local/bin/gnuplot -persist +# +# +# G N U P L O T +# Version 4.2 patchlevel 6 +# last modified Sep 2009 +# System: Darwin 12.4.0 +# +# Copyright (C) 1986 - 1993, 1998, 2004, 2007 - 2009 +# Thomas Williams, Colin Kelley and many others +# +# Type `help` to access the on-line reference manual. +# The gnuplot FAQ is available from http://www.gnuplot.info/faq/ +# +# Send bug reports and suggestions to +# +# set terminal x11 0 +# set output +unset clip points +set clip one +unset clip two +set bar 1.000000 +set border 31 front linetype -1 linewidth 1.000 +set xdata +set ydata +set zdata +set x2data +set y2data +set timefmt x "%d/%m/%y,%H:%M" +set timefmt y "%d/%m/%y,%H:%M" +set timefmt z "%d/%m/%y,%H:%M" +set timefmt x2 "%d/%m/%y,%H:%M" +set timefmt y2 "%d/%m/%y,%H:%M" +set timefmt cb "%d/%m/%y,%H:%M" +set boxwidth +set style fill empty border +set style rectangle back fc lt -3 fillstyle solid 1.00 border -1 +set dummy x,y +set format x "% g" +set format y "% g" +set format x2 "% g" +set format y2 "% g" +set format z "% g" +set format cb "% g" +set angles radians +unset grid +set key title "" +set key inside right top vertical Right noreverse enhanced autotitles nobox +set key noinvert samplen 4 spacing 1 width 0 height 0 +unset label +unset arrow +set style increment default +unset style line +unset style arrow +set style histogram clustered gap 2 title offset character 0, 0, 0 +unset logscale +set offsets 0, 0, 0, 0 +set pointsize 1 +set encoding default +unset polar +unset parametric +unset decimalsign +set view 60, 30, 1, 1 +set samples 100, 100 +set isosamples 10, 10 +set surface +unset contour +set clabel '%8.3g' +set mapping cartesian +set datafile separator whitespace +unset hidden3d +set cntrparam order 4 +set cntrparam linear +set cntrparam levels auto 5 +set cntrparam points 5 +set size ratio 0 1,1 +set origin 0,0 +set style data points +set style function lines +set xzeroaxis linetype -2 linewidth 1.000 +set yzeroaxis linetype -2 linewidth 1.000 +set zzeroaxis linetype -2 linewidth 1.000 +set x2zeroaxis linetype -2 linewidth 1.000 +set y2zeroaxis linetype -2 linewidth 1.000 +set ticslevel 0.5 +set mxtics default +set mytics default +set mztics default +set mx2tics default +set my2tics default +set mcbtics default +set xtics border in scale 1,0.5 mirror norotate offset character 0, 0, 0 +set xtics autofreq norangelimit +set ytics border in scale 1,0.5 mirror norotate offset character 0, 0, 0 +set ytics autofreq norangelimit +set ztics border in scale 1,0.5 nomirror norotate offset character 0, 0, 0 +set ztics autofreq norangelimit +set nox2tics +set noy2tics +set cbtics border in scale 1,0.5 mirror norotate offset character 0, 0, 0 +set cbtics autofreq norangelimit +set title "" +set title offset character 0, 0, 0 font "" norotate +set timestamp bottom +set timestamp "" +set timestamp offset character 0, 0, 0 font "" norotate +set rrange [ * : * ] noreverse nowriteback # (currently [0.00000:10.0000] ) +set trange [ * : * ] noreverse nowriteback # (currently [-5.00000:5.00000] ) +set urange [ * : * ] noreverse nowriteback # (currently [-5.00000:5.00000] ) +set vrange [ * : * ] noreverse nowriteback # (currently [-5.00000:5.00000] ) +set xlabel "CPU num" +set xlabel offset character 0, 0, 0 font "" textcolor lt -1 norotate +set x2label "" +set x2label offset character 0, 0, 0 font "" textcolor lt -1 norotate +set xrange [ 1.00000 : 12.0000 ] noreverse nowriteback +set x2range [ * : * ] noreverse nowriteback # (currently [-10.0000:10.0000] ) +set ylabel "time(ms)" +set ylabel offset character 0, 0, 0 font "" textcolor lt -1 rotate by 90 +set y2label "" +set y2label offset character 0, 0, 0 font "" textcolor lt -1 rotate by 90 +set yrange [ * : * ] noreverse nowriteback # (currently [-10.0000:10.0000] ) +set y2range [ * : * ] noreverse nowriteback # (currently [-10.0000:10.0000] ) +set zlabel "" +set zlabel offset character 0, 0, 0 font "" textcolor lt -1 norotate +set zrange [ * : * ] noreverse nowriteback # (currently [-10.0000:10.0000] ) +set cblabel "" +set cblabel offset character 0, 0, 0 font "" textcolor lt -1 rotate by 90 +set cbrange [ * : * ] noreverse nowriteback # (currently [-10.0000:10.0000] ) +set zero 1e-08 +set lmargin -1 +set bmargin -1 +set rmargin -1 +set tmargin -1 +set locale "C" +set pm3d explicit at s +set pm3d scansautomatic +set pm3d interpolate 1,1 flush begin noftriangles nohidden3d corners2color mean +set palette positive nops_allcF maxcolors 0 gamma 1.5 color model RGB +set palette rgbformulae 7, 5, 15 +set colorbox default +set colorbox vertical origin screen 0.9, 0.2, 0 size screen 0.05, 0.6, 0 front bdefault +set loadpath +set fontpath +set fit noerrorvariables +GNUTERM = "aqua" +plot "statistics.txt" using 1:2 w l title "MAX time", "statistics.txt" using 1:3 w l title "min time", "statistics.txt" using 1:4 w l title "average time" +# EOF diff -r 43c6da29d688 -r d8f499590d82 14/January/memo/08th.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/14/January/memo/08th.txt Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,22 @@ +Cerium 読み読み + kernel/ppe/CpuThreads.h + CpuThreads::~CpuThreads() にて cpu_num + io_num 分を send_mail 、 pthread_join 、 delete args[i].scheduler している。 + pthread_join は 指定 Threads が合流するまで動作をブロックし、その後 pthread_create したものを解放する。 + cpu_thread_arg_t をここで削除している。 + + CpuThreads::send_mail(int cpuid, int num, memaddr *data) CERIUM_GPU のときと条件が違う。今回は not CERIUM_GPU を見ていく。 + args[cpuid-id_offset].scheduler->mail_write_from_host(*data); + args は cpu_thread_arg_t であり、その中に宣言されている scheduler は MainScheduler である。 + scheduler->mail_write_from_host() は fifoDmaManager->mail_write_from_host(data) を返す。 + fifoDmaManager は・・・わからん・・・ + + CpuThreads::has_mail(int cpuid, int count, memaddr *ret) は args[cpuid-id_offset].scheduler->has_mail_from_host() が + 0 でないときに get_mail する。 + args[cpuid-id_offset].scheduler->has_mail_from_host() (FifoDmaManager::has_mail_from_host() )は + mail_queue->count() を返す。 + + MainScheduler.h は ManyCore/MainScheduler.h にある。 + + CpuThreads::cpu_thread_run(void *args) は SpeTaskManagerImpl を呼び出して、 c_scheduler ( Scheduler 型) に + cpuid 、 mincpu 、 maxcpu を格納する。それらを TaskManagerImpl::set_scheduler に 初期設定した c_scheduler を渡す。 + argt->wait->sem_v() で、準備完了したスレッドができるたんびに、セマフォに 1 加える。 diff -r 43c6da29d688 -r d8f499590d82 14/January/memo/21st.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/14/January/memo/21st.txt Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,73 @@ +・Ceriumの並列処理向けIOの研究 + +・研究内容 +・マルチコアCPUを活かすためには並列度を向上させていくのがCerium +・ファイル読み込み等のIO部分を並列に実装する部分を作成していく +・IOと並列処理の関係 +・この場合のIOもファイル +・1GBのファイルがあったらそれを10個、100個に分割して走らせる +・ファイル分割による並列 +・そういったものを自明に走らせる(1つめ) +・読み込みながら処理して、読み込み終わりで処理を終えたい +・読み込みと計算が同時に進む(2つめ) +・読み込み自体を並列する +・それらを実現するライブラリをつくりたい + +・正規表現はおまけ +・grepとかwcとか + +・したこと +・wcの部分、分割readが出来るようになった +・IOスレッドいまから動かす +・1つのファイルにたいしてmmapつかって +・メモリにtextデータ格納していた +・いまはreadを使って +・1度に読み込むのではなく、 +・あるサイズ単位で読み込ませていく? + +・読み込みと実際の計算をやる +・分割したファイル自体を並行実行する +・今回は1つしか書いてなかった +・読み込みながらちゃんと並列に計算できているか +・それを調べるには? +・表示した瞬間に測定できなくなる +・IOの並列度はそういうもの +・時間とlogだけで判断しなければならない + +・mmapと速度的にどうなのか? +・測定しないと駄目 + +・readする単位をでかくすれば早くなるはず +・最初に計算をするのが遅くなる +・最初に全部読み込むことになったらバランスが悪くなる +・最初だけ小さくしてあとから大きくするという工夫とか + +・ファイルはcacheに入ってしまう +・cacheの効果がどうなるか +・low read(ファイルを読み込むだけ)これで早くなっているはず +・read rootを回すだけと変わらなかったらそれの原因を確かめないといけない + +・readの代わりにmmapするという方法がある +・最初のタスクの時に同時に投入できる + +・mmapよりreadが早い・・・迷信? +・これがどうなのかを証明していく + +・ファイルサイズをメモリよりも大きくしないといけない +・100GBのデータを作って実験? +・fireflyだったら16GB以上 +・自機では4GB以上 + +・map reduceでまとめたい +・map reduceに似ていると言われる? + +・mmmapの解説 +・64bitアーキテクチャ +・read map よりも mmap がよいと言われている +・遅い時期があったため、遅いと言われている +・コピーしなくてすむからmmapはwriteの方が早いと言われている + +・評価(ベンチマーク) +・mmap、map reduceの解説をかく + +・卒論は、理解することをアピールするためにかく diff -r 43c6da29d688 -r d8f499590d82 14/January/memo/22nd.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/14/January/memo/22nd.txt Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,11 @@ +2014/01/22 (Wed) + + [今後の実験方針] + ・とりあえず memory 以上のファイルを生成してそれを噛ませばいちいち再起動しなくても測れるよね?? + ・Linux でも試してみよう (blade上でも試してみよう) hyper threading 込みの 24 Coreまで。 + ・パラメータ調整してどう実行結果に影響するのかも計測 + ・分割 read → 分割 mmap で書き換えて早くなるかどうか。 + + [実験] + ・kernel から cache を追い出すために再起動して実験という原始的なことをした。 + とりあえず、全部のデータをとったけど、もう 2:00 なので明日にデータをとりあえずまとめよう。 diff -r 43c6da29d688 -r d8f499590d82 14/January/memo/23rd.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/14/January/memo/23rd.txt Sun Mar 16 13:36:04 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, 33.418 + D_Read , 3, 68.778, 30.471 + D_Read , 4, 66.016, 30.357 diff -r 43c6da29d688 -r d8f499590d82 14/January/memo/29th.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/14/January/memo/29th.txt Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,14 @@ +2014/01/29 (Wed) + + ギックリ腰 4日目痛い・・・ + [実験環境] + blade sarver10 + one@bldsv10.cr.ie.u-ryukyu.ac.jp + memory 132GB !? + + [OS研究会 title] + kkb Cerium + masa Cerium による並列処理向け I/O の設計と実装 + kaito llvm + taitai OS + sugimoto Alice(?) diff -r 43c6da29d688 -r d8f499590d82 14/January/memo/31st.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/14/January/memo/31st.txt Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,7 @@ +2014/01/31 (Fri) + + [論文の書き方について] + 「序論で述べたとおり」と書くよりは、その内容をそのまま書いたほうがよい + ->全部丁寧に読むわけではなく、飛ばし読みするので + + subsubsection 使用するのは禁止!! diff -r 43c6da29d688 -r d8f499590d82 14/January/slide/14th.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/14/January/slide/14th.html Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,144 @@ + + + + + + + slide + + + + + + + + + +
    + + + +
    +

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

    +

    + Masataka Kohagura +
    + 14th January , 2014 +

    +
    + +
    +

    + 研究目的 +

    +

    + 当研究室では、CellやマルチコアCPUで並列プログラミングを可能にするCerium Task Managerを開発している。 +

    +

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

    +

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

    + +
    + +
    +

    + したこと +

    +
      + +
    • + マルチコアCPUの並列プログラミングの勉強 +
    • + +
    • + Ceriumのソース読み(ppe中心に) +
    • + +
        +
    + +
    +

    + 今後のスケジュール +

    +
      +
    • + 後期院試試験・2/12 +
    • + +
    • + 卒検発表・2/27,28 +
    • +
    +
    + + +
    + +

    + make が通らない ( TaskManager を parallel で make したとき) +

    +
    +%  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
    +
    + +
    + + + diff -r 43c6da29d688 -r d8f499590d82 14/January/slide/21st.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/14/January/slide/21st.html Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,177 @@ + + + + + + + slide + + + + + + + + + +
    + + + +
    +

    + Cerium の並列処理向け I/O の設計と実装 +

    +

    + Masataka Kohagura +
    + 21st January , 2014 +

    +
    + +
    +

    + 研究目的 +

    +

    + 当研究室では、CellやマルチコアCPUで並列プログラミングを可能にするCerium Task Managerを開発している。 +

    +

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

    +

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

    + + +
    + +
    +

    + したこと +

    +
      + +
    • + regex_mas に divide read の実装(未測定) - ちゃんと中身まで書こう +
    • +
        +
    + +
    +

    + 卒論 目次 +

    + +

    +第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 今後の課題
    +

    + +
    + +
    +

    + 今後のスケジュール +

    + +
      +
    • + 後期院試試験・2/12 +
    • + +
    • + 卒検発表・2/27,28 +
    • +
    +
    + + + +
    + +

    + make が通らない ( TaskManager を parallel で make したとき) +

    +
    +%  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
    +
    + +
    + + + diff -r 43c6da29d688 -r d8f499590d82 14/March/memo/16th.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/14/March/memo/16th.txt Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,20 @@ +2014/02/01 (Sat) + [program] + wait_for かけたいけど、どうしようか + + 現状 + divide read が完全に終わってから Task が走る + -> 読み込んでから実行してるしあまりはやくならねーよ + + 理想 + divide read しながら Task 走るのが一番の理想 + -> divide read が最初からちゃんと走るけど、 Task が追い越してしまうので + それをどう同期とろうか悩み中 + + 2GB 以上を取ろうとすると + regex(19797,0x7fff75dad310) malloc: *** mach_vm_map(size=18446744071569698816) failed (error code=3) + *** error: can't allocate region + *** set a breakpoint in malloc_error_break to debug + Can't allocate memory + + もしかして、allocate sizeに限界がある?? diff -r 43c6da29d688 -r d8f499590d82 14/March/slide/04th.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/14/March/slide/04th.html Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,179 @@ + + + + + + + slide + + + + + + + + + +
    + + + +
    +

    + Cerium の並列処理向け I/O の設計と実装 +

    +

    + Masataka Kohagura +
    + 21st January , 2014 +

    +
    + +
    +

    研究背景と目的

    +

    + 近年のCPUのほとんどはマルチコアであり、それらの性能を引き出すためには並列プログラミングが必須となっている。そこで当研究室では Cerium Library の開発を行い、提供することによって並列プログラミングを容易にしている。 +

    +

    + 先行研究では Task の並列化によって、プログラム全体の処理速度は向上しているが、ファイル読み込み等の I/O に対して並列に Task が動作するようにはされていない。 +

    +

    + 現状では、ファイルを全て memory に mapping を行ってから Task が走るようになっているので、非常に大きいサイズのファイルを読み込むと、ファイルを memory に mapping するまでの時間がオーバーヘッドになってしまう。 +

    +

    + 本研究では I/O と Task の並列化の設計、実装によってプログラム全体の処理速度、処理効率を上げていく。 +

    +
    + +
    +

    + したこと +

    +
      + +
    • + 2GB 以上のファイルが読み込めなかった -> 修正 +
    • + +
    • + fileread をちょっとだけ測定 +
    • +
        +
    + + + +
    + +

    2GB 以上のファイルが読み込めなかった -> 修正

    +

    + manager->allocate(int) を使用したところ +

    +
    +if (divide_read_flag != 0) {
    +    printf("[divide read mode]\n");
    +    w->file_mmap = (char*)manager->allocate((long)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);
    +}
    +
    +

    + divide read をする前に manager->alocate にて memory を確保する。 + この領域に、分割して読み込んだ file を mapping していく。 +

    +
    + +
    +

    + kernel/ppe/TaskManagerImpl.h +

    +

    修正前

    + +
    +void* allocate(int size, int alignment)
    +{
    +#if defined(__SPU__) || ! defined(HAS_POSIX_MEMALIGN)
    +    buff =  malloc(size);
    +#else
    +    posix_memalign(&buff, alignment, size);
    +#endif
    +    return buff;
    +}
    +
    + +

    修正後

    +
    +void* allocate(long size, int alignment)
    +{
    +    ・・・
    +}
    +
    + +
    + +
    +

    + fileread +

    +

    + ファイルの読み込みだけを行うプログラム +

    +

    + firefly 上で実行
    + 2*2.66 GHz, HHD 1TB, memory 16GB
    + file size : 10740996168 Byte (約10GB) +

    + + + +
    + + + + + +
    modetime(s)
    mmap0.194788
    read_divide_size
    4*4096 Byte391.734989
    4*4096*1024 Byte123.563726
    + + +
    + + + diff -r 43c6da29d688 -r d8f499590d82 14/March/slide/beatmake.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/14/March/slide/beatmake.html Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,86 @@ + + + + + + + slide + + + + + + + + + +
    + + + +
    +

    + 音階とコード進行 +

    +

    + Masataka Kohagura +
    + 21st January , 2014 +

    +
    + +
    +

    研究背景と目的

    +

    +

    +
    + +
    +

    + したこと +

    +
      + +
    • +
    • +
        +
    + + + + + diff -r 43c6da29d688 -r d8f499590d82 14/OUTLINE --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/14/OUTLINE Sun Mar 16 13:36:04 2014 +0900 @@ -0,0 +1,103 @@ +2014/02/24 (Mon) + [memo] + mmap の flag をいろいろかえてみて計測 (firefly上) + +2014/02/14 (Fri) + [Today's goal] + 論文 : それぞれの chapter の OUTLINE を書き上げる + + [memo] + mmap malloc について調べてみた + +2014/02/12 (Wed) + [memo] + 院試発表反省会 + +--------------------------------------------------------------------------- + +2014/02/08 (Sun) + [images] + blockread.png --> final/slide/images + +2014/02/07 (Fri) + [Today's goal] + mmap を Task から 関数に変更 + 微調整 + 様々な測定 + + [memo] + kono先生のよくわからない話シリーズ + +2014/02/06 (Thu) + [Today's goal] + divide read と Task 実行の並列化 + + [memo] + divide read と Task の並列実行時、様々なエラーがおこる + まさかの allocate miss + make clean; make -j gpu + +2014/02/05 (Wed) + [Today's goal] + DEBUG オプションから時間測定ができるようにしたい。 + (現在は 例題から時間をセットしている。) + + divide read と Task 実行の並列化 + + [memo] + +--------------------------------------------------------------------------- +2014/02/04 (Tue) + [memo] + firefly で BMsearch の測定 (途中) + +2014/02/03 (Mon) + [memo] + wbuf の address が 2GB 程度でおかしい挙動をする。それの調査。 + 2GB 以上でおかしくなっていた問題を解決。 + +2014/02/02 (Sun) + [memo] + manager->allocate まわりの修正 + +2014/02/01 (Sat) + [memo] + divide read と Task の同期について + allocate の問題があり (2GB 以上から) + +2014/01/31 (Fri) + [memo] + 論文の書き方について + +2014/01/29 (Wed) + [memo] + ブレードサーバの在処 + OS 研究会について + + [figure] + read 部分の set cpu を SPE_ANY or IO_0 でどうなるか計測 + io_speany が gnuplot の set Data グラフを作成 + +2014/01/23 (Thu) + [memo] + 1/22 の実験結果のまとめ + +--------------------------------------------------------------------------- + +2014/01/22 (Wed) + [memo] + 今後の実験方針 + 測定方法のまとめ + データとったよ!! (fileread,regex_mas) + ただし明日にデータを綺麗にまとめる + + +2014/01/21 (Tue) + [memo] + ゼミまとめ + Ceriumの並列処理向けI/Oの研究 へタイトルの変更 + 1/21時点でこれからさらにやること + + [slide] + regex_mas にて divide read を組み込めた (未検証) + 卒論目次のまとめ&訂正 diff -r 43c6da29d688 -r d8f499590d82 2013/April-2013/16th.html --- a/2013/April-2013/16th.html Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,154 +0,0 @@ - - - - - - - Presentation - - - - - - - - - -
    - - - -
    -

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

    -

    - Masataka Kohagura -
    - 16th April , 2013 -

    -
    - -
    -

    - 研究目的 -

    -

    - 本研究室では、Cell用に作られたCeriumにて並列プログラミングを行なっている。 -近年、マルチコアCPUが主流となっているが、それをフルに使用させるためにはプログラムの並列度を上げる必要がある。(続く) -

    -

    - 現在は正規表現を並列実装している段階である。 -

    -
    - -
    -

    - 今週までにしたこと -

    -

    - a*bが含まれている行を出力するようにした。 -

    - -

    - (*は任意の文字のゼロ個以上の繰り返し) -

    -
    - -
    -

    - Exec.cc -

    -
    -
    -
    -    for (; i < length; i++) {
    -        if (i_data[i] == 0x0A) {
    -    
    -            if (match_flag == true) {
    -                line_print(line_num,line_length,line_data);
    -            }   
    -            match_flag = false;
    -            line_length = 0;
    -            line_num++;
    -        } else {
    -            line_data[line_length] = i_data[i];
    -            line_length++;
    -              if (i_data[i] == 0x61) {
    -                  a_flag = true;
    -              }else if ((i_data[i] == 0x62) && (a_flag == true)) {
    -                  match_flag = true;
    -              }else if (i_data[i] == 0x20) {
    -                  a_flag = false;
    -              }   
    -        }   
    -    } 
    -
    -
    -
    -

    - line_print(line_num,line_length,line_data); -

    -
    -
    -void line_print(int _line_num,int _line_length,char *input_data){
    -
    -    printf("%d : ",_line_num);
    -    for (int k = 0; k < _line_length; k++) {
    -        printf("%c",input_data[k]);
    -    }   
    -    printf("\n");
    -}
    -
    -
    -
    - -
    -

    - 実行結果(分割されないような小さなファイル) -

    -
    -
    -[Masa]~%  ./regex -file b.txt                   [~/hg/Cerium/example/regex_mas]
    -1 : ab aaa dddd ssss abab
    -2 : ab bbbbbbbbbb aaaaaaa
    -4 : ab aaaab 
    -        
    -

    - 実行結果(分割されるようなファイル) -

    -
    -[Masa]~%  ./regex -file c.txt                   [~/hg/Cerium/example/regex_mas]
    -1 : Pakistan who've volunteered to join private militias, called lashkars. These groups have vowed to help Pakistan's military in fighting the Taliban.
    -5 : Pakistani military officials credit the lashkars with helping chase the Taliban out of Swat Valley and neighboring districts once infested with the militants.
    -6 : Pakistan who've volunteered to join private militias, called lashkars. These groups have vowed to help Pakistan's military in fighting the Taliban.
    -[中略]
    -196 : Pakistan who've volunteered to join private militias, called lashkars. These groups have vowed to help Pakistan's military in fighting the Taliban.
    -200 : Pakistani military officials credit the lashkars with helping chase the Taliban out of Swat Valley and neighboring districts once infested with the militants.
    -1 : red to join private militias, called lashkars. These groups have vowed to help Pakistan's military in fighting the Taliban.
    -5 : Pakistani military officials credit the lashkars with helping chase the Taliban out of Swat Valley and neighboring districts once infested with the militants.
    -        
    -
    -
    - - - diff -r 43c6da29d688 -r d8f499590d82 2013/April-2013/2nd.html --- a/2013/April-2013/2nd.html Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,133 +0,0 @@ - - - - - - - Presentation - - - - - - - - - -
    - - - -
    -

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

    -

    - Masataka Kohagura -
    - 2nd April , 2013 -

    -
    - -
    -

    - 研究目的 -

    -

    - 本研究室では、Cell用に作られたCeriumにて並列プログラミングを行なっている。 -近年、マルチコアCPUが主流となっているが、それをフルに使用させるためには並列プログラミングの並列度を上げる必要がある。(続く) -

    -

    - 現在は正規表現を並列実装している段階である。 -

    -
    - -
    -

    - 今週までにしたこと -

    -

    - a*bが含まれている単語数と行数をカウントするようにした。 -

    -

    - Print.ccで、データの受け渡しの様子の確認。 -

    -
    - -
    -

    - Exec.cc -

    -
    -
    -   for (; i < length; i++) {
    -        if (i_data[i] == 0x61) {
    -            word_head_a_flag = true;
    -        } else if ((i_data[i] == 0x62) && (word_head_a_flag == true)){
    -            word_flag = true;
    -            line_flag = true;
    -            word_head_a_flag = true;
    -        } else if (i_data[i] == 0x20) { //空白 
    -            word_num += word_flag;
    -            word_flag = false;
    -            word_head_a_flag = false;
    -        } else if (i_data[i] == 0x0A) { // 改行
    -            line_num += line_flag;
    -            word_num += word_flag;
    -            line_flag = false;
    -            word_flag = false;
    -            word_head_a_flag = false;
    -        }   
    -    }   
    -
    -
    -
    - -
    -

    - 実行結果(分割されないような小さなファイル) -

    -
    -
    -[Masa]~%  ./regex -file b.txt                   [~/hg/Cerium/example/regex_mas]
    -file size 75
    -fix 4096byte file size 4096
    -w 7ffc43a07440
    -dvision_size 4096
    -task_num 1
    -out_task_num 1
    -out size 32
    -SPE include 'a*b' 3 lines. 5 words. 
    -start sum
    -3 5 
    -Time: 0.000424
    -        
    -
    -SPE include 'a*b' 3 lines. 5 words. 
    -        
    -
    -
    - -
    - - - diff -r 43c6da29d688 -r d8f499590d82 2013/April-2013/30th.html --- a/2013/April-2013/30th.html Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,155 +0,0 @@ - - - - - - - 2013-04-30 - - - - - - - - - -
    - - - -
    -

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

    -

    - Masataka Kohagura -
    - 16th April , 2013 -

    -
    - -
    -

    - 研究目的 -

    -

    - 本研究室では、Cell用に作られたCeriumにて並列プログラミングを行なっている。 -近年、マルチコアCPUが主流となっているが、それをフルに使用させるためにはプログラムの並列度を上げる必要がある。(続く) -

    -

    - 現在は正規表現を並列実装している段階である。 -

    -
    - -
    -

    - 今週までにしたこと -

    -

    - a*bが含まれている行を出力するようにした。 -

    - -

    - (*は任意の文字のゼロ個以上の繰り返し) -

    -
    - -
    -

    - Exec.cc -

    -
    -
    -
    -    for (; i < length; i++) {
    -        if (i_data[i] == 0x0A) {
    -    
    -            if (match_flag == true) {
    -                line_print(line_num,line_length,line_data);
    -            }   
    -            match_flag = false;
    -            line_length = 0;
    -            line_num++;
    -        } else {
    -            line_data[line_length] = i_data[i];
    -            line_length++;
    -              if (i_data[i] == 0x61) {
    -                  a_flag = true;
    -              }else if ((i_data[i] == 0x62) && (a_flag == true)) {
    -                  match_flag = true;
    -              }else if (i_data[i] == 0x20) {
    -                  a_flag = false;
    -              }   
    -        }   
    -    } 
    -
    -
    -
    -

    - line_print(line_num,line_length,line_data); -

    -
    -
    -void line_print(int _line_num,int _line_length,char *input_data){
    -
    -    printf("%d : ",_line_num);
    -    for (int k = 0; k < _line_length; k++) {
    -        printf("%c",input_data[k]);
    -    }   
    -    printf("\n");
    -}
    -
    -
    -
    - -
    -

    - 実行結果(分割されないような小さなファイル) -

    -
    -
    -[Masa]~%  ./regex -file b.txt                   [~/hg/Cerium/example/regex_mas]
    -1 : ab aaa dddd ssss abab
    -2 : ab bbbbbbbbbb aaaaaaa
    -4 : ab aaaab 
    -        
    -

    - 実行結果(分割されるようなファイル) -

    -
    -[Masa]~%  ./regex -file c.txt                   [~/hg/Cerium/example/regex_mas]
    -1 : Pakistan who've volunteered to join private militias, called lashkars. These groups have vowed to help Pakistan's military in fighting the Taliban.
    -5 : Pakistani military officials credit the lashkars with helping chase the Taliban out of Swat Valley and neighboring districts once infested with the militants.
    -6 : Pakistan who've volunteered to join private militias, called lashkars. These groups have vowed to help Pakistan's military in fighting the Taliban.
    -[中略]
    -196 : Pakistan who've volunteered to join private militias, called lashkars. These groups have vowed to help Pakistan's military in fighting the Taliban.
    -200 : Pakistani military officials credit the lashkars with helping chase the Taliban out of Swat Valley and neighboring districts once infested with the militants.
    -1 : red to join private militias, called lashkars. These groups have vowed to help Pakistan's military in fighting the Taliban.
    -5 : Pakistani military officials credit the lashkars with helping chase the Taliban out of Swat Valley and neighboring districts once infested with the militants.
    -        
    -
    -
    - - - diff -r 43c6da29d688 -r d8f499590d82 2013/April-2013/9th.html --- a/2013/April-2013/9th.html Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,128 +0,0 @@ - - - - - - - Presentation - - - - - - - - - -
    - - - -
    -

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

    -

    - Masataka Kohagura -
    - 9th April , 2013 -

    -
    - -
    -

    - 研究目的 -

    -

    - 本研究室では、Cell用に作られたCeriumにて並列プログラミングを行なっている。 -近年、マルチコアCPUが主流となっているが、それをフルに使用させるためには並列プログラミングの並列度を上げる必要がある。(続く) -

    -

    - 現在は正規表現を並列実装している段階である。 -

    -
    - -
    -

    - 今週までにしたこと -

    -

    - a*bが含まれている行を出力するようにした。 -

    -
    - -
    -

    - Exec.cc -

    -
    -
    -
    -    for (; i < length; i++) {
    -        if (i_data[i] == 0x0A) {
    -               
    -            if (match_flag == true) {
    -                printf("%d : ",line_num);
    -                for (int k = 0; k < line_i; k++) {
    -                    printf("%c",line_data[k]);
    -                }   
    -                printf("\n");
    -            }   
    -            match_flag = false;
    -            line_i = 0;
    -            line_num++;
    -
    -        } else {
    -          line_data[line_i] = i_data[i];
    -          line_i++;
    -              if (i_data[i] == 0x61) {
    -                  a_flag = true;
    -              }else if ((i_data[i] == 0x62) && (a_flag == true)) {
    -                  match_flag = true;
    -              }else if (i_data[i] == 0x20) {
    -                  a_flag = false;
    -              }   
    -        }   
    -    } 
    -
    -
    -
    -
    - -
    -

    - 実行結果(分割されないような小さなファイル) -

    -
    -
    -[Masa]~%  ./regex -file b.txt                   [~/hg/Cerium/example/regex_mas]
    -1 : ab aaa dddd ssss abab
    -2 : ab bbbbbbbbbb aaaaaaa
    -4 : ab aaaab 
    -        
    -
    -
    - -
    - - - diff -r 43c6da29d688 -r d8f499590d82 2013/April-2013/LT-DTM.html --- a/2013/April-2013/LT-DTM.html Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,154 +0,0 @@ - - - - - - - LT大会-DTM - - - - - - - - - -
    - - - -
    -

    - Let's enjoy DTM! -

    -

    - 古波倉 正隆@B4 -

    -
    - -
    -

    - 自己紹介 -

    -

    - 2008年入学 現在に至る -

    -

    - twitter
    - @masamasa_massa -

    -
    - -
    -

    - 曲作り(DTM)のキッカケ -

    -

    - ・音ゲ大好き(KONAMI系音ゲ) -

    -

    - ・本当はバンドをやりたかった -

    -

    - ・DTMだと一人で曲をつくれるじゃん! -

    -

    - ・beatmaniaIIDXのような曲をつくりたい! -

    -
    - -
    -

    - What's DTM?? -

    -

    - DTM(DeskTop Music)
    - ※和製英語なので外国人には通じません -

    -

    - PCやタブレット、スマートフォンなどで曲を作ること -

    -
    - -
    -

    - 最低限必要なもの -

    -

    - ・DAW(Digital Audio Workstation) -

    -
    - -
    -

    - 主なDAW ※価格は価格.com調べ -

    -

    - windows -

    -
    -
    -        ・Cubase(¥49,800~¥78,070)
    -        ・Sonar(¥58,315~¥65,480)
    -        ・FLstudio(¥25,365~¥36,750)
    -        
    -

    - Mac -

    -
    -        ・Cubase
    -        ・Logic(¥17000)
    -        ・GarageBand(Mac付属)
    -        
    -
    -
    - -
    -

    - GarageBandならタダ! -

    -
    -
    -

    - (仮)DTMerの集い -

    -

    - 毎月1回の活動 -

    -

    - DTMの技術交換を行なっていく(進行形) -

    -

    - 場所も毎回変わります -

    -
    - -
    -

    - end -

    -
    - - - - - diff -r 43c6da29d688 -r d8f499590d82 2013/April-2013/LT-fear.html --- a/2013/April-2013/LT-fear.html Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,154 +0,0 @@ - - - - - - - LT大会-DTM - - - - - - - - - -
    - - - -
    -

    - 本当にあった大学の怖い話 -

    -

    - 古波倉 正隆@B4 -

    -
    - -
    -

    - 自己紹介 -

    -

    - 2008年入学 現在に至る -

    -

    - twitter
    - @masamasa_massa -

    -
    - -
    -

    - 聞いたことありませんか? -

    -

    - 「壺を買いませんか?」「この絵素晴らしいでしょ?この絵にはね、すばらしい効果があって・・・」 -

    -

    - ・本当はバンドをやりたかった -

    -

    - ・DTMだと一人で曲をつくれるじゃん! -

    -

    - ・beatmaniaIIDXのような曲をつくりたい! -

    -
    - -
    -

    - What's DTM?? -

    -

    - DTM(DeskTop Music)
    - ※和製英語なので外国人には通じません -

    -

    - PCやタブレット、スマートフォンなどで曲を作ること -

    -
    - -
    -

    - 最低限必要なもの -

    -

    - ・DAW(Digital Audio Workstation) -

    -
    - -
    -

    - 主なDAW ※価格は価格.com調べ -

    -

    - windows -

    -
    -
    -        ・Cubase(¥49,800~¥78,070)
    -        ・Sonar(¥58,315~¥65,480)
    -        ・FLstudio(¥25,365~¥36,750)
    -        
    -

    - Mac -

    -
    -        ・Cubase
    -        ・Logic(¥17000)
    -        ・GarageBand(Mac付属)
    -        
    -
    -
    - -
    -

    - GarageBandならタダ! -

    -
    -
    -

    - (仮)DTMerの集い -

    -

    - 毎月1回の活動 -

    -

    - DTMの技術交換を行なっていく(進行形) -

    -

    - 場所も毎回変わります -

    -
    - -
    -

    - end -

    -
    - - - - - diff -r 43c6da29d688 -r d8f499590d82 2013/Aug-2013/20th.html --- a/2013/Aug-2013/20th.html Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,134 +0,0 @@ - - - - - - - 2013-08-20 - - - - - - - - - -
    - - - -
    -

    - 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
    -
    -
    - - diff -r 43c6da29d688 -r d8f499590d82 2013/Aug-2013/6th.html --- a/2013/Aug-2013/6th.html Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,142 +0,0 @@ - - - - - - - 2013-08-06 - - - - - - - - - -
    - - - -
    -

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

    -

    - Masataka Kohagura -
    - 6th July , 2013 -

    -
    - -
    -

    - 研究目的 -

    -

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

    -

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

    -

    - 様々な並列処理のプログラムを実装することでプログラムに慣れ、 -

    -
    - -
    -

    - 今週のしたこと -

    -

    - ・regex_masのバグ取り - ("doing"という単語が本来は27856個存在するはずだが、このプログラムだと27854個と2個不足した状態で出力された。) -

    -

    - ・時間測定 -

    -
    - -
    -

    main.ccの修正

    -

    修正前

    -
    -t_exec[k]->set_param(0,(memaddr)offset);
    -t_exec[k]->set_param(1,(memaddr)set_one_task_length);
    -if(size != w->size){
    -    t_exec[k]->set_inData(0,w->file_mmap + a*w->division_size, size+EXTRA_LENGTH);
    -}else{
    -    t_exec[k]->set_inData(0,w->file_mmap + a*w->division_size, size);
    -}   
    -t_exec[k]->set_outData(0,w->o_data + a*w->out_size, w->division_out_size);
    -      
    -

    修正後

    -
    -t_exec[k]->set_param(0,(memaddr)offset);
    -if(size != w->size){
    -    t_exec[k]->set_param(1,(memaddr)set_one_task_length+EXTRA_LENGTH);
    -    t_exec[k]->set_inData(0,w->file_mmap + a*w->division_size, size+EXTRA_LENGTH);
    -}else{
    -    t_exec[k]->set_param(1,(memaddr)set_one_task_length);
    -    t_exec[k]->set_inData(0,w->file_mmap + a*w->division_size, size);
    -}   
    -t_exec[k]->set_outData(0,w->o_data + a*w->out_size, w->division_out_size);
    -      
    -
    - -
    -

    時間測定(参考程度に)

    - - -

    mac pro上での測定

    -

    Cerium APIでの計測

    - - - -
    - - - - - - - - - -
    cpu_numtime(ms)
    138.752
    219.347
    410.028
    85.393
    104.502
    114.198-5.977
    125.585
    -
    - -

    - ・10回ほど手動で実行して、それの中央値をとっているだけ。 -

    -

    - ・現在集計スクリプトを作成中。 -

    -

    - ・cpu_num = 11のとき実行するたんびにバラバラになる。 -

    - -
    - - diff -r 43c6da29d688 -r d8f499590d82 2013/Aug-2013/graph_regexCeriumPower.eps --- a/2013/Aug-2013/graph_regexCeriumPower.eps Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,703 +0,0 @@ -%!PS-Adobe-2.0 -%%Title: 0000.eps -%%Creator: gnuplot 4.2 patchlevel 6 -%%CreationDate: Sun Aug 18 16:32:10 2013 -%%DocumentFonts: (atend) -%%BoundingBox: 50 50 554 770 -%%Orientation: Landscape -%%Pages: (atend) -%%EndComments -%%BeginProlog -/gnudict 256 dict def -gnudict begin -% -% The following 6 true/false flags may be edited by hand if required -% The unit line width may also be changed -% -/Color true def -/Blacktext false def -/Solid false def -/Dashlength 1 def -/Landscape true def -/Level1 false def -/Rounded false def -/TransparentPatterns false def -/gnulinewidth 5.000 def -/userlinewidth gnulinewidth def -% -/vshift -46 def -/dl1 { - 10.0 Dashlength mul mul - Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if -} def -/dl2 { - 10.0 Dashlength mul mul - Rounded { currentlinewidth 0.75 mul add } if -} def -/hpt_ 31.5 def -/vpt_ 31.5 def -/hpt hpt_ def -/vpt vpt_ def -Level1 {} { -/SDict 10 dict def -systemdict /pdfmark known not { - userdict /pdfmark systemdict /cleartomark get put -} if -SDict begin [ - /Title (0000.eps) - /Subject (gnuplot plot) - /Creator (gnuplot 4.2 patchlevel 6 ) - /Author (MasaKoha) -% /Producer (gnuplot) -% /Keywords () - /CreationDate (Sun Aug 18 16:32:10 2013) - /DOCINFO pdfmark -end -} ifelse -% -% Gnuplot Prolog Version 4.2 (August 2006) -% -/M {moveto} bind def -/L {lineto} bind def -/R {rmoveto} bind def -/V {rlineto} bind def -/N {newpath moveto} bind def -/Z {closepath} bind def -/C {setrgbcolor} bind def -/f {rlineto fill} bind def -/vpt2 vpt 2 mul def -/hpt2 hpt 2 mul def -/Lshow {currentpoint stroke M 0 vshift R - Blacktext {gsave 0 setgray show grestore} {show} ifelse} def -/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R - Blacktext {gsave 0 setgray show grestore} {show} ifelse} def -/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R - Blacktext {gsave 0 setgray show grestore} {show} ifelse} def -/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def - /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def -/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} - {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def -/BL {stroke userlinewidth 2 mul setlinewidth - Rounded {1 setlinejoin 1 setlinecap} if} def -/AL {stroke userlinewidth 2 div setlinewidth - Rounded {1 setlinejoin 1 setlinecap} if} def -/UL {dup gnulinewidth mul /userlinewidth exch def - dup 1 lt {pop 1} if 10 mul /udl exch def} def -/PL {stroke userlinewidth setlinewidth - Rounded {1 setlinejoin 1 setlinecap} if} def -% Default Line colors -/LCw {1 1 1} def -/LCb {0 0 0} def -/LCa {0 0 0} def -/LC0 {1 0 0} def -/LC1 {0 1 0} def -/LC2 {0 0 1} def -/LC3 {1 0 1} def -/LC4 {0 1 1} def -/LC5 {1 1 0} def -/LC6 {0 0 0} def -/LC7 {1 0.3 0} def -/LC8 {0.5 0.5 0.5} def -% Default Line Types -/LTw {PL [] 1 setgray} def -/LTb {BL [] LCb DL} def -/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def -/LT0 {PL [] LC0 DL} def -/LT1 {PL [4 dl1 2 dl2] LC1 DL} def -/LT2 {PL [2 dl1 3 dl2] LC2 DL} def -/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def -/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def -/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def -/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def -/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def -/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def -/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def -/Dia {stroke [] 0 setdash 2 copy vpt add M - hpt neg vpt neg V hpt vpt neg V - hpt vpt V hpt neg vpt V closepath stroke - Pnt} def -/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V - currentpoint stroke M - hpt neg vpt neg R hpt2 0 V stroke - } def -/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M - 0 vpt2 neg V hpt2 0 V 0 vpt2 V - hpt2 neg 0 V closepath stroke - Pnt} def -/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M - hpt2 vpt2 neg V currentpoint stroke M - hpt2 neg 0 R hpt2 vpt2 V stroke} def -/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M - hpt neg vpt -1.62 mul V - hpt 2 mul 0 V - hpt neg vpt 1.62 mul V closepath stroke - Pnt} def -/Star {2 copy Pls Crs} def -/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M - 0 vpt2 neg V hpt2 0 V 0 vpt2 V - hpt2 neg 0 V closepath fill} def -/TriUF {stroke [] 0 setdash vpt 1.12 mul add M - hpt neg vpt -1.62 mul V - hpt 2 mul 0 V - hpt neg vpt 1.62 mul V closepath fill} def -/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M - hpt neg vpt 1.62 mul V - hpt 2 mul 0 V - hpt neg vpt -1.62 mul V closepath stroke - Pnt} def -/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M - hpt neg vpt 1.62 mul V - hpt 2 mul 0 V - hpt neg vpt -1.62 mul V closepath fill} def -/DiaF {stroke [] 0 setdash vpt add M - hpt neg vpt neg V hpt vpt neg V - hpt vpt V hpt neg vpt V closepath fill} def -/Pent {stroke [] 0 setdash 2 copy gsave - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat - closepath stroke grestore Pnt} def -/PentF {stroke [] 0 setdash gsave - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat - closepath fill grestore} def -/Circle {stroke [] 0 setdash 2 copy - hpt 0 360 arc stroke Pnt} def -/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def -/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def -/C1 {BL [] 0 setdash 2 copy moveto - 2 copy vpt 0 90 arc closepath fill - vpt 0 360 arc closepath} bind def -/C2 {BL [] 0 setdash 2 copy moveto - 2 copy vpt 90 180 arc closepath fill - vpt 0 360 arc closepath} bind def -/C3 {BL [] 0 setdash 2 copy moveto - 2 copy vpt 0 180 arc closepath fill - vpt 0 360 arc closepath} bind def -/C4 {BL [] 0 setdash 2 copy moveto - 2 copy vpt 180 270 arc closepath fill - vpt 0 360 arc closepath} bind def -/C5 {BL [] 0 setdash 2 copy moveto - 2 copy vpt 0 90 arc - 2 copy moveto - 2 copy vpt 180 270 arc closepath fill - vpt 0 360 arc} bind def -/C6 {BL [] 0 setdash 2 copy moveto - 2 copy vpt 90 270 arc closepath fill - vpt 0 360 arc closepath} bind def -/C7 {BL [] 0 setdash 2 copy moveto - 2 copy vpt 0 270 arc closepath fill - vpt 0 360 arc closepath} bind def -/C8 {BL [] 0 setdash 2 copy moveto - 2 copy vpt 270 360 arc closepath fill - vpt 0 360 arc closepath} bind def -/C9 {BL [] 0 setdash 2 copy moveto - 2 copy vpt 270 450 arc closepath fill - vpt 0 360 arc closepath} bind def -/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill - 2 copy moveto - 2 copy vpt 90 180 arc closepath fill - vpt 0 360 arc closepath} bind def -/C11 {BL [] 0 setdash 2 copy moveto - 2 copy vpt 0 180 arc closepath fill - 2 copy moveto - 2 copy vpt 270 360 arc closepath fill - vpt 0 360 arc closepath} bind def -/C12 {BL [] 0 setdash 2 copy moveto - 2 copy vpt 180 360 arc closepath fill - vpt 0 360 arc closepath} bind def -/C13 {BL [] 0 setdash 2 copy moveto - 2 copy vpt 0 90 arc closepath fill - 2 copy moveto - 2 copy vpt 180 360 arc closepath fill - vpt 0 360 arc closepath} bind def -/C14 {BL [] 0 setdash 2 copy moveto - 2 copy vpt 90 360 arc closepath fill - vpt 0 360 arc} bind def -/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill - vpt 0 360 arc closepath} bind def -/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto - neg 0 rlineto closepath} bind def -/Square {dup Rec} bind def -/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def -/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def -/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def -/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def -/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def -/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def -/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill - exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def -/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def -/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill - 2 copy vpt Square fill Bsquare} bind def -/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def -/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def -/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill - Bsquare} bind def -/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill - Bsquare} bind def -/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def -/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill - 2 copy vpt Square fill Bsquare} bind def -/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill - 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def -/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def -/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def -/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def -/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def -/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def -/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def -/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def -/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def -/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def -/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def -/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def -/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def -/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def -/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def -/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def -/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def -/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def -/DiaE {stroke [] 0 setdash vpt add M - hpt neg vpt neg V hpt vpt neg V - hpt vpt V hpt neg vpt V closepath stroke} def -/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M - 0 vpt2 neg V hpt2 0 V 0 vpt2 V - hpt2 neg 0 V closepath stroke} def -/TriUE {stroke [] 0 setdash vpt 1.12 mul add M - hpt neg vpt -1.62 mul V - hpt 2 mul 0 V - hpt neg vpt 1.62 mul V closepath stroke} def -/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M - hpt neg vpt 1.62 mul V - hpt 2 mul 0 V - hpt neg vpt -1.62 mul V closepath stroke} def -/PentE {stroke [] 0 setdash gsave - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat - closepath stroke grestore} def -/CircE {stroke [] 0 setdash - hpt 0 360 arc stroke} def -/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def -/DiaW {stroke [] 0 setdash vpt add M - hpt neg vpt neg V hpt vpt neg V - hpt vpt V hpt neg vpt V Opaque stroke} def -/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M - 0 vpt2 neg V hpt2 0 V 0 vpt2 V - hpt2 neg 0 V Opaque stroke} def -/TriUW {stroke [] 0 setdash vpt 1.12 mul add M - hpt neg vpt -1.62 mul V - hpt 2 mul 0 V - hpt neg vpt 1.62 mul V Opaque stroke} def -/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M - hpt neg vpt 1.62 mul V - hpt 2 mul 0 V - hpt neg vpt -1.62 mul V Opaque stroke} def -/PentW {stroke [] 0 setdash gsave - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat - Opaque stroke grestore} def -/CircW {stroke [] 0 setdash - hpt 0 360 arc Opaque stroke} def -/BoxFill {gsave Rec 1 setgray fill grestore} def -/Density { - /Fillden exch def - currentrgbcolor - /ColB exch def /ColG exch def /ColR exch def - /ColR ColR Fillden mul Fillden sub 1 add def - /ColG ColG Fillden mul Fillden sub 1 add def - /ColB ColB Fillden mul Fillden sub 1 add def - ColR ColG ColB setrgbcolor} def -/BoxColFill {gsave Rec PolyFill} def -/PolyFill {gsave Density fill grestore grestore} def -/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def -% -% PostScript Level 1 Pattern Fill routine for rectangles -% Usage: x y w h s a XX PatternFill -% x,y = lower left corner of box to be filled -% w,h = width and height of box -% a = angle in degrees between lines and x-axis -% XX = 0/1 for no/yes cross-hatch -% -/PatternFill {gsave /PFa [ 9 2 roll ] def - PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate - PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec - gsave 1 setgray fill grestore clip - currentlinewidth 0.5 mul setlinewidth - /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def - 0 0 M PFa 5 get rotate PFs -2 div dup translate - 0 1 PFs PFa 4 get div 1 add floor cvi - {PFa 4 get mul 0 M 0 PFs V} for - 0 PFa 6 get ne { - 0 1 PFs PFa 4 get div 1 add floor cvi - {PFa 4 get mul 0 2 1 roll M PFs 0 V} for - } if - stroke grestore} def -% -/languagelevel where - {pop languagelevel} {1} ifelse - 2 lt - {/InterpretLevel1 true def} - {/InterpretLevel1 Level1 def} - ifelse -% -% PostScript level 2 pattern fill definitions -% -/Level2PatternFill { -/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} - bind def -/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def -<< Tile8x8 - /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} ->> matrix makepattern -/Pat1 exch def -<< Tile8x8 - /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke - 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} ->> matrix makepattern -/Pat2 exch def -<< Tile8x8 - /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L - 8 8 L 8 0 L 0 0 L fill} ->> matrix makepattern -/Pat3 exch def -<< Tile8x8 - /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L - 0 12 M 12 0 L stroke} ->> matrix makepattern -/Pat4 exch def -<< Tile8x8 - /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L - 0 -4 M 12 8 L stroke} ->> matrix makepattern -/Pat5 exch def -<< Tile8x8 - /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L - 0 12 M 8 -4 L 4 12 M 10 0 L stroke} ->> matrix makepattern -/Pat6 exch def -<< Tile8x8 - /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L - 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} ->> matrix makepattern -/Pat7 exch def -<< Tile8x8 - /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L - 12 0 M -4 8 L 12 4 M 0 10 L stroke} ->> matrix makepattern -/Pat8 exch def -<< Tile8x8 - /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L - -4 0 M 12 8 L -4 4 M 8 10 L stroke} ->> matrix makepattern -/Pat9 exch def -/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def -/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def -/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def -/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def -/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def -/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def -/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def -} def -% -% -%End of PostScript Level 2 code -% -/PatternBgnd { - TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse -} def -% -% Substitute for Level 2 pattern fill codes with -% grayscale if Level 2 support is not selected. -% -/Level1PatternFill { -/Pattern1 {0.250 Density} bind def -/Pattern2 {0.500 Density} bind def -/Pattern3 {0.750 Density} bind def -/Pattern4 {0.125 Density} bind def -/Pattern5 {0.375 Density} bind def -/Pattern6 {0.625 Density} bind def -/Pattern7 {0.875 Density} bind def -} def -% -% Now test for support of Level 2 code -% -Level1 {Level1PatternFill} {Level2PatternFill} ifelse -% -/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont -dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall -currentdict end definefont pop -/MFshow { - { dup 5 get 3 ge - { 5 get 3 eq {gsave} {grestore} ifelse } - {dup dup 0 get findfont exch 1 get scalefont setfont - [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 - get exch 4 get {show} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq - {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 - get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div - dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get - show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop - pop aload pop M} ifelse }ifelse }ifelse } - ifelse } - forall} bind def -/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } - {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont - 6 get stringwidth pop add} {pop} ifelse} ifelse} forall} bind def -/MLshow { currentpoint stroke M - 0 exch R - Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def -/MRshow { currentpoint stroke M - exch dup MFwidth neg 3 -1 roll R - Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def -/MCshow { currentpoint stroke M - exch dup MFwidth -2 div 3 -1 roll R - Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def -/XYsave { [( ) 1 2 true false 3 ()] } bind def -/XYrestore { [( ) 1 2 true false 4 ()] } bind def -end -%%EndProlog -%%Page: 1 1 -gnudict begin -gsave -50 50 translate -0.100 0.100 scale -90 rotate -0 -5040 translate -0 setgray -newpath -(Helvetica) findfont 140 scalefont setfont -1.000 UL -LTb -770 448 M -63 0 V -6087 0 R --63 0 V -stroke -686 448 M -[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] -] -46.7 MRshow -1.000 UL -LTb -770 1185 M -63 0 V -6087 0 R --63 0 V -stroke -686 1185 M -[ [(Helvetica) 140.0 0.0 true true 0 ( 10)] -] -46.7 MRshow -1.000 UL -LTb -770 1923 M -63 0 V -6087 0 R --63 0 V -stroke -686 1923 M -[ [(Helvetica) 140.0 0.0 true true 0 ( 20)] -] -46.7 MRshow -1.000 UL -LTb -770 2660 M -63 0 V -6087 0 R --63 0 V -stroke -686 2660 M -[ [(Helvetica) 140.0 0.0 true true 0 ( 30)] -] -46.7 MRshow -1.000 UL -LTb -770 3397 M -63 0 V -6087 0 R --63 0 V -stroke -686 3397 M -[ [(Helvetica) 140.0 0.0 true true 0 ( 40)] -] -46.7 MRshow -1.000 UL -LTb -770 4135 M -63 0 V -6087 0 R --63 0 V -stroke -686 4135 M -[ [(Helvetica) 140.0 0.0 true true 0 ( 50)] -] -46.7 MRshow -1.000 UL -LTb -770 4872 M -63 0 V -6087 0 R --63 0 V -stroke -686 4872 M -[ [(Helvetica) 140.0 0.0 true true 0 ( 60)] -] -46.7 MRshow -1.000 UL -LTb -1329 448 M -0 63 V -0 4361 R -0 -63 V -stroke -1329 308 M -[ [(Helvetica) 140.0 0.0 true true 0 ( 2)] -] -46.7 MCshow -1.000 UL -LTb -2447 448 M -0 63 V -0 4361 R -0 -63 V -stroke -2447 308 M -[ [(Helvetica) 140.0 0.0 true true 0 ( 4)] -] -46.7 MCshow -1.000 UL -LTb -3565 448 M -0 63 V -0 4361 R -0 -63 V -stroke -3565 308 M -[ [(Helvetica) 140.0 0.0 true true 0 ( 6)] -] -46.7 MCshow -1.000 UL -LTb -4684 448 M -0 63 V -0 4361 R -0 -63 V -stroke -4684 308 M -[ [(Helvetica) 140.0 0.0 true true 0 ( 8)] -] -46.7 MCshow -1.000 UL -LTb -5802 448 M -0 63 V -0 4361 R -0 -63 V -stroke -5802 308 M -[ [(Helvetica) 140.0 0.0 true true 0 ( 10)] -] -46.7 MCshow -1.000 UL -LTb -6920 448 M -0 63 V -0 4361 R -0 -63 V -stroke -6920 308 M -[ [(Helvetica) 140.0 0.0 true true 0 ( 12)] -] -46.7 MCshow -1.000 UL -LTb -1.000 UL -LTb -770 4872 N -770 448 L -6150 0 V -0 4424 V --6150 0 V -Z stroke -LCb setrgbcolor -280 2660 M -currentpoint gsave translate 90 rotate 0 0 moveto -[ [(Helvetica) 140.0 0.0 true true 0 (time\(ms\))] -] -46.7 MCshow -grestore -LTb -LCb setrgbcolor -LTb -LCb setrgbcolor -3845 98 M -[ [(Helvetica) 140.0 0.0 true true 0 (CPU num)] -] -46.7 MCshow -LTb -LCb setrgbcolor -LTb -1.000 UP -1.000 UL -LTb -1.000 UL -LT0 -LTb -6269 4739 M -[ [(Helvetica) 140.0 0.0 true true 0 (MAX time)] -] -46.7 MRshow -LT0 -6353 4739 M -399 0 V -770 4828 M -1329 2618 L -559 -497 V -559 -166 V -559 -92 V -559 -173 V -560 -19 V -559 -130 V -559 -1 V -559 211 V -559 -153 V -559 -62 V -stroke -LT1 -LTb -6269 4599 M -[ [(Helvetica) 140.0 0.0 true true 0 (min time)] -] -46.7 MRshow -LT1 -6353 4599 M -399 0 V -770 3122 M -1329 1759 L -559 -414 V -559 -195 V -559 -126 V -559 -84 V -560 -70 V -559 -43 V -559 -37 V -559 -31 V -559 -18 V -559 15 V -stroke -LT2 -LTb -6269 4459 M -[ [(Helvetica) 140.0 0.0 true true 0 (average time)] -] -46.7 MRshow -LT2 -6353 4459 M -399 0 V -770 3311 M -1329 1855 L -559 -441 V -559 -219 V -559 -139 V -559 -93 V -560 -63 V -559 -51 V -559 -32 V -559 -14 V -559 30 V -559 18 V -stroke -LTb -770 4872 N -770 448 L -6150 0 V -0 4424 V --6150 0 V -Z stroke -1.000 UP -1.000 UL -LTb -stroke -grestore -end -showpage -%%Trailer -%%DocumentFonts: Helvetica -%%Pages: 1 diff -r 43c6da29d688 -r d8f499590d82 2013/Dec-2013/10th.html --- a/2013/Dec-2013/10th.html Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,183 +0,0 @@ - - - - - - - slide - - - - - - - - - -
    - - - -
    -

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

    -

    - Masataka Kohagura -
    - 10th December , 2013 -

    -
    - -
    -

    - 研究目的 -

    -

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

    -

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

    - -
    - -
    -

    - 今週のしたこと -

    -

    - ・検索文字列のハードコーディングの脱却
    -

    -
    - - - - -
    - -

    - main.cc:run_tasks内部(Taskへのデータ渡し) -

    -
    -Task *t_exec = 0;
    -
    -t_exec = task_array->next_task_array(TASK_EXEC,t_exec);
    -t_exec->set_inData(0,w->file_mmap + a*w->division_size, size);
    -t_exec->set_inData(1,w->search_word, w->search_word_len);
    -t_exec->set_inData(2,w->BMskip_table, 256);
    -
    - -

    - ppe/Exec.cc(Task内でのデータの受取) -

    -
    -unsigned char *i_data = (unsigned char *)s->get_input(rbuf,0);
    -unsigned char *search_word = (unsigned char *)s->get_input(rbuf,1);
    -int *skip_table = (int *)s->get_input(2);
    -
    -s->printf("[in Exec search word = %p\n",search_word);
    -
    - -
    - -
    -

    - 実行(アドレスの桁落ち(?))) -

    -
    -./regex -file c.txt -cpu 1 -sw doing
    -in TMmain  search_word    = 0x7fba99c1a090
    -in run start search_word    = 0x7fba99c1a090
    -in run tasks w->search_word = 0x7fba99c1a090
    -in Exec search word         =     0x99c1a090
    -zsh: segmentation fault  ./regex -file c.txt -cpu 1 -sw doing
    -
    - -
      -
    • - search_word のアドレスが上の桁から落ちている。skip_table(intの配列)でもセグフォが発生するので、skip_tableももしかしたらアドレスが同じように落ちているんじゃ・・・ -
    • -
    -
    - - -
    -

    - ppe/Exec.ccの修正 -

    -
    -unsigned char *i_data = (unsigned char *)s->get_inputAddr(0);
    -unsigned char *search_word = (unsigned char *)s->get_inputAddr(1);
    -int *skip_table = (int *)s->get_inputAddr(2);
    -
    -s->printf("in Exec search_word : %p\n",search_word);
    -    
    - -

    - 実行 -

    -
    -./regex -file c.txt -cpu 1 -sw doing
    -in run_tasks w->search_word Addr: 0x7f989b708280
    -in Exec search_word Addr        : 0x7f989b708280
    -HIT:27856
    -Time: 0.042276
    -
    -
  • - get_inputAddrだと正しくアドレスを受け渡しすることができた。 -
  • -
    - -
    -

    これからのすること

    -
      -
    • - シンヤさんのRegenのソース読み&実装 -
    • -
    • - 並列I/Oの実装
      - (例題:filereadにてI/Oの分割読み込みのプログラムを実装) -
    • -
    -
    - - - diff -r 43c6da29d688 -r d8f499590d82 2013/Dec-2013/17th.html --- a/2013/Dec-2013/17th.html Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,324 +0,0 @@ - - - - - - - slide - - - - - - - - - -
    - - - -
    -

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

    -

    - Masataka Kohagura -
    - 10th December , 2013 -

    -
    - -
    -

    - 研究目的 -

    -

    - 当研究室では、CellやマルチコアCPUで並列プログラミングを可能にするCerium Task Managerを開発している。 -

    -

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

    -

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

    - -
    - -
    -

    - 今週のしたこと -

    -
      - -
    • - read関数によるfileの順次読み込み
      - (読み込み部分をread()からpread()へ変更) -
    • - -
    • - Read Taskのブロック化
      - (1つずつ起動していたものを、ブロック単位で起動するようにした) -
    • - -
    • - MapReduce関数の整理 -
    • - -
        -
    - - - - -
    - -

    readからpreadへ

    -

    変更前

    -
    -int *fd = (int *)s->get_input(rbuf,0);  ///ファイルディスクリプタの受取
    -long readsize = (long)s->get_param(0);
    -long task_number = (long)s->get_param(1);
    -
    -char text[(long)readsize];
    -
    -read(*fd,text,(long)readsize);
    -
    -s->printf("[start task No. %d]\n",task_number);
    -s->printf("%s\n",text);
    -
    - -

    変更後

    -
    -pread(*fd, text, (long)read_size , division_size*task_number);
    -
    - -
    - -
    -

    - pread -

    - -
    -read(int fd, void *buf, size_t count);
    -
    - -
    -pread(int fd, void *buf, size_t count, off_t offset);
    -
    - -
      -
    • - fd:ファイルディスクリプタ -
    • -
    • - buf:readするDataの格納領域 -
    • -
    • - count:どれだけの量(byte)を読み込むか -
    • -
    • - offset:ファイルの先頭からどれだけの量(byte)を飛ばして読み込むのか -
    • -
    - -

    - read関数だと、Taskの起動する順番やタイミングによって同じ場所を読み込んだりしてしまう。read関数は読み込んだ後にファイルディスクリプタをずらしてしまうので、そのような現象が起こると考えられる。 -

    -

    - pread関数だと、ファイルディスクリプタを動かさずにoffsetを取ることで読み込む場所が替えることができる。これだと、上記の現象が起こらずにすむ。 -

    -
    - - -
    -

    - readでの読み込みの失敗例 -

    -
    -% ./fileread -file d.txt
    -filesize     : 16398
    -one_task_size: 16384
    -task_num     : 2
    -[start task No. 0]
    -firstaaaaaaaaaaaaaaaaaaaaaa...16380
    -doin
    -[start task No. 1]
    -firstaaaaaaaaa
    -    
    - -
    -[start task No. 0]
    -gxbaaabaaabab
    -[start task No. 1]
    -gxbaaabaaabab
    -    
    -
    - -
    -

    Read Taskのblock化

    -

    変更前

    -
    -run_start(TaskManager *manager,char *filename)
    -{
    -    HTask *read;
    -    int *fd = (int*)manager->allocate(sizeof(int));
    -
    -    if ((*fd=open(filename,O_RDONLY,0666))==0) {
    -        fprintf(stderr,"can't open %s\n",filename); 
    -    }
    -        ...
    -
    -    for(int task_number = 0; task_number < task_num; task_number++){
    -        read = manager->create_task(READ_TASK);
    -        read->set_cpu(spe_cpu);
    -
    -        [task settings(省略)]
    -
    -    }
    -}
    -    
    -
    - -
    -

    変更後

    -
    -run_start(TaskManager *manager,char *filename)
    -{
    -    int *fd = (int*)manager->allocate(sizeof(int));
    -
    -    if ((*fd=open(filename,O_RDONLY,0666))==0) {
    -        fprintf(stderr,"can't open %s\n",filename);
    -    }
    -
    -    if (fstat(*fd,sb)) {
    -        fprintf(stderr,"can't fstat %s\n",filename);
    -    }
    -        ...
    -
    -    FilereadPtr fr = (FilereadPtr)manager->allocate(sizeof(Fileread));
    -
    -    HTaskPtr run = manager->create_task(RUN_BLOCKS, (memaddr)&fr->self, sizeof(memaddr),0,0);
    -    run->spawn();
    -}
    -    
    -
    - -
    -

    RUN_BLOCKS

    -
    -SchedDefineTask1(RUN_BLOCKS,run16);
    -
    -run16(SchedTask *manager, void *in, void *out) {
    -
    -    FilereadPtr fr = (FilereadPtr)in;
    -    HTaskPtr wait;
    -
    -    for (int i = 0; (fr->left_size > 0) && (i < fr->task_blocks); i++) {
    -        HTaskPtr read = manager->create_task(Read_task);
    -        read->set_cpu(fr->cpu);
    -
    -        if (i == fr->task_blocks / 2) wait = read;
    -
    -        [task settings(省略)]
    -
    -    }
    -    return 0;
    -}
    -    
    - -
      -
    • - Taskを1個1個起動ではなくブロック単位で起動している理由は、メモリの再利用のためである。 -1個1個起動すると、その分のメモリが必要となり、Task数が多くなると肥大化する。 -ブロック単位で起動することでメモリを節約するとともに、メモリの書き換えが少なくて済むので高速化につながる。 -
    • -
    -
    - - -
    -

    Taskのブロック化の図(1)

    -

    word countでの実装

    -

    -

    - -
    -

    -
      -
    • - run16がブロック単位でTaskを起動する。word countでは48 Task/1block。 -
    • -
    • - ブロック内の処理が全て終わらないと、新しいブロックを生成することができない。
      - すべてのTaskが終わるまで待つので、オーバヘッドが起こる。 -
    • -
    -
    - -
    -

    Taskのブロック化の図(2)

    -

    filereadでの実装

    -
    - -
    -
      -
    • - run16でブロック単位を起動することは変わりはないが、1ブロックのTask数の半分がspawnすると新しいブロックを起動するようになっている。 -
    • -
    -
    - -
    -

    Map Reduce

    -

    -

    - -
    -

    -
      -
    • - スライド作成間に合わない・・・ -
    • -
    -
    - - diff -r 43c6da29d688 -r d8f499590d82 2013/Dec-2013/27th.html --- a/2013/Dec-2013/27th.html Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,144 +0,0 @@ - - - - - - - slide - - - - - - - - - -
    - - - -
    -

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

    -

    - Masataka Kohagura -
    - 27th December , 2013 -

    -
    - -
    -

    - 研究目的 -

    -

    - 当研究室では、CellやマルチコアCPUで並列プログラミングを可能にするCerium Task Managerを開発している。 -

    -

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

    -

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

    - -
    - -
    -

    - 今週のしたこと -

    -
      - -
    • - filereadにdivide read、mmap readの実装と計測 -
    • - -
        -
    - - - - -
    -

    測定結果

    - -

    Cerium APIでの計測

    -

    ・MacBook Air(Intel Core i5 1.7GHz、SSD 240GB)

    -

    divide read

    - - - -
    - - - - - -
    cpu_numtime(ms)
    149.751
    275.638
    362.832
    456.839
    - - - -

    mmap 0.131(ms)

    -

    ・firefly(6-Core Intel Xeon 2.66GHz、HDD 1TB)

    -

    divide read cpu_num=4 133.841(ms)

    -

    -

    -

    -

    - -
    - -
    -

    測定方法など

    -
      -
    • - もしかして、Taskが起動している表示も時間に入っているんでは?? -
    • -
    • - 実験方法は、プログラムを起動するたんびにPCの再起動をして、キャッシュに格納された対象のテキストファイルを消した。 -
    • -
    - - -
    - - diff -r 43c6da29d688 -r d8f499590d82 2013/Dec-2013/images/mapreduce.jpg Binary file 2013/Dec-2013/images/mapreduce.jpg has changed diff -r 43c6da29d688 -r d8f499590d82 2013/Dec-2013/images/new_run_task_blocks.jpg Binary file 2013/Dec-2013/images/new_run_task_blocks.jpg has changed diff -r 43c6da29d688 -r d8f499590d82 2013/Dec-2013/images/old_run_task_blocks.jpg Binary file 2013/Dec-2013/images/old_run_task_blocks.jpg has changed diff -r 43c6da29d688 -r d8f499590d82 2013/Dec-2013/images/thinkread.graffle --- a/2013/Dec-2013/images/thinkread.graffle Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,3924 +0,0 @@ - - - - - ApplicationVersion - - com.omnigroup.OmniGraffle - 139.18.0.187838 - - CreationDate - 2013-12-15 16:39:26 +0000 - Creator - MasaKoha - GraphDocumentVersion - 8 - GuidesLocked - NO - GuidesVisible - YES - ImageCounter - 1 - LinksVisible - NO - MagnetsVisible - NO - MasterSheets - - ModificationDate - 2013-12-18 14:12:30 +0000 - Modifier - MasaKoha - NotesVisible - NO - OriginVisible - NO - PageBreaks - YES - PrintInfo - - NSBottomMargin - - float - 41 - - NSHorizonalPagination - - coded - BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG - - NSLeftMargin - - float - 18 - - NSPaperSize - - size - {595.00000476837158, 842} - - NSPrintReverseOrientation - - int - 0 - - NSRightMargin - - float - 18 - - NSTopMargin - - float - 18 - - - ReadOnly - NO - Sheets - - - ActiveLayerIndex - 0 - AutoAdjust - - BackgroundGraphic - - Bounds - {{0, 0}, {559.00000476837158, 783}} - Class - SolidGraphic - ID - 2 - Style - - shadow - - Draws - NO - - stroke - - Draws - NO - - - - BaseZoom - 0 - CanvasOrigin - {0, 0} - ColumnAlign - 1 - ColumnSpacing - 36 - DisplayScale - 1 0/72 in = 1.0000 in - GraphicsList - - - Bounds - {{472.89771955289018, 482.85023355433225}, {22, 26.00001335144043}} - Class - ShapedGraphic - ID - 77 - Layer - 0 - Shape - Rectangle - Style - - stroke - - Pattern - 1 - - - - - Bounds - {{472.89771478513774, 397.85024428452454}, {22, 85.000022888183594}} - Class - ShapedGraphic - ID - 76 - Layer - 0 - Shape - Rectangle - Style - - stroke - - Width - 2 - - - - - Class - LineGraphic - ID - 75 - Layer - 0 - Points - - {408.14770858625468, 397.85024428452454} - {462.14770858625468, 397.85024428452454} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - - - Class - LineGraphic - ID - 67 - Layer - 0 - Points - - {408.1477219528195, 227.85025024414065} - {462.1477219528195, 227.85025024414065} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - - - Bounds - {{472.89772468866227, 312.85024428452476}, {22, 31}} - Class - ShapedGraphic - ID - 71 - Layer - 0 - Shape - Rectangle - Style - - stroke - - Pattern - 1 - - - - - Bounds - {{472.89773433766891, 227.85024428452462}, {22, 85}} - Class - ShapedGraphic - ID - 70 - Layer - 0 - Shape - Rectangle - Style - - stroke - - Width - 2 - - - - - Bounds - {{186.89773550211282, 616.14973508269327}, {95.870697021484375, 18}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 62 - Layer - 1 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fnil\fcharset128 HiraKakuProN-W3;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 : -\f1 \'83\'49\'81\'5b\'83\'6f\'81\'5b\'83\'77\'83\'62\'83\'68} - VerticalPad - 0 - - - - Bounds - {{158.39773518459938, 600.14971453503699}, {22, 50.000007629394531}} - Class - ShapedGraphic - ID - 61 - Layer - 1 - Shape - Rectangle - Style - - stroke - - Pattern - 1 - - - - - Bounds - {{180.39772097015566, 482.85025048094758}, {22, 26.00001335144043}} - Class - ShapedGraphic - ID - 60 - Layer - 1 - Shape - Rectangle - Style - - stroke - - Pattern - 1 - - - - - Bounds - {{277.8977213421, 468.85026454679235}, {22, 40}} - Class - ShapedGraphic - ID - 59 - Layer - 1 - Shape - Rectangle - Style - - stroke - - Pattern - 1 - - - - - AllowToConnect - - Class - LineGraphic - ID - 58 - Layer - 1 - Points - - {86.147716538575452, 508.85026454679235} - {473.37499342716364, 509.79698070415776} - - Style - - stroke - - HeadArrow - 0 - Legacy - - TailArrow - 0 - - - - - Bounds - {{375.397715781079, 313.85026454679246}, {22, 31}} - Class - ShapedGraphic - ID - 57 - Layer - 1 - Shape - Rectangle - Style - - stroke - - Pattern - 1 - - - - - Bounds - {{180.39770921762241, 287.85026454679246}, {22, 57}} - Class - ShapedGraphic - ID - 56 - Layer - 1 - Shape - Rectangle - Style - - stroke - - Pattern - 1 - - - - - Bounds - {{185.14773517552774, 563.52904193487211}, {234.25, 18}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 55 - Layer - 1 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fnil\fcharset128 HiraKakuProN-W3;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 : task -\f1 \'82\'cc\'8e\'9e\'8a\'d4\'8f\'c1\'94\'ef\'97\'ca(\'92\'b7\'82\'a2\'82\'d9\'82\'c7\'8e\'9e\'8a\'d4\'82\'aa\'82\'a9\'82\'a9\'82\'e9)} - VerticalPad - 0 - - - - Bounds - {{158.39773517552783, 547.52904193487211}, {22, 50}} - Class - ShapedGraphic - ID - 54 - Layer - 1 - Shape - Rectangle - Style - - stroke - - Width - 2 - - - - - Bounds - {{375.39772543008564, 397.85026454679235}, {22, 111}} - Class - ShapedGraphic - ID - 53 - Layer - 1 - Shape - Rectangle - Style - - stroke - - Width - 2 - - - - - Bounds - {{277.89771780069111, 397.85026454679235}, {22, 71}} - Class - ShapedGraphic - ID - 52 - Layer - 1 - Shape - Rectangle - Style - - stroke - - Width - 2 - - - - - Bounds - {{180.39771589334262, 397.85026454679235}, {22, 85}} - Class - ShapedGraphic - ID - 51 - Layer - 1 - Shape - Rectangle - Style - - stroke - - Width - 2 - - - - - Class - LineGraphic - ID - 50 - Layer - 1 - Points - - {310.64771923120259, 397.85026454679235} - {364.64771923120259, 397.85026454679235} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - - - Class - LineGraphic - ID - 49 - Layer - 1 - Points - - {213.14771684701688, 397.85026454679235} - {267.14771684701685, 397.85026454679235} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - - - Class - LineGraphic - ID - 48 - Layer - 1 - Points - - {91.133918242556391, 380.34701430737903} - {90.647716847017108, 397.85026454679235} - {171.14771684701694, 397.85026454679235} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - Tail - - ID - 47 - - - - Bounds - {{64.647716847017165, 343.85026454679235}, {54, 36}} - Class - ShapedGraphic - ID - 47 - Layer - 1 - Shape - Circle - Style - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 run16} - VerticalPad - 0 - - - - AllowConnections - NO - AllowToConnect - - Class - LineGraphic - ID - 38 - Layer - 1 - Points - - {86.147716847017108, 343.85026454679235} - {473.37499342716364, 343.85026454679235} - - Style - - stroke - - HeadArrow - 0 - Legacy - - TailArrow - 0 - - - - - Bounds - {{375.39772543008564, 228.85026454679246}, {22, 85}} - Class - ShapedGraphic - ID - 46 - Layer - 1 - Shape - Rectangle - Style - - stroke - - Width - 2 - - - - - Bounds - {{277.89771780069111, 228.85026454679246}, {22, 116}} - Class - ShapedGraphic - ID - 45 - Layer - 1 - Shape - Rectangle - Style - - stroke - - Width - 2 - - - - - Bounds - {{180.39771589334262, 228.85026454679246}, {22, 59}} - Class - ShapedGraphic - ID - 44 - Layer - 1 - Shape - Rectangle - Style - - stroke - - Width - 2 - - - - - Class - LineGraphic - ID - 43 - Layer - 1 - Points - - {310.64771923120259, 228.85026454679246} - {364.64771923120259, 228.85026454679246} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - - - Class - LineGraphic - ID - 31 - Layer - 1 - Points - - {213.14771684701688, 228.85026454679246} - {267.14771684701685, 228.85026454679246} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - - - Bounds - {{298.6477351755276, 132.85025813855003}, {78, 14}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 42 - Layer - 1 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 SPE} - VerticalPad - 0 - - - - Class - LineGraphic - ID - 36 - Layer - 1 - Points - - {91.133918242556391, 211.34701430737908} - {90.647716847017108, 228.85026454679246} - {171.14771684701694, 228.85026454679246} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - Tail - - ID - 28 - - - - Bounds - {{52.147716847017151, 132.85026454679235}, {78, 14}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 40 - Layer - 1 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 PPE} - VerticalPad - 0 - - - - Bounds - {{64.647716847017165, 174.8502645467924}, {54, 36}} - Class - ShapedGraphic - ID - 28 - Layer - 1 - Shape - Circle - Style - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 run16} - VerticalPad - 0 - - - - Bounds - {{52.147716847017151, 154.8502645467924}, {79, 368}} - Class - ShapedGraphic - ID - 1 - Layer - 1 - Shape - Rectangle - - - Bounds - {{136.39771780510648, 154.8502645467924}, {370.45455932617188, 368}} - Class - ShapedGraphic - ID - 41 - Layer - 1 - Shape - Rectangle - - - GridInfo - - HPages - 1 - KeepToScale - - Layers - - - Lock - NO - Name - レイヤー 2 - Print - YES - View - YES - - - Lock - NO - Name - レイヤー 1 - Print - YES - View - YES - - - LayoutInfo - - Animate - NO - circoMinDist - 18 - circoSeparation - 0.0 - layoutEngine - dot - neatoSeparation - 0.0 - twopiSeparation - 0.0 - - Orientation - 2 - PrintOnePage - - RowAlign - 1 - RowSpacing - 36 - SheetTitle - キャンバス 1 - UniqueID - 1 - VPages - 1 - - - ActiveLayerIndex - 0 - AutoAdjust - - BackgroundGraphic - - Bounds - {{0, 0}, {559.00000476837158, 783}} - Class - SolidGraphic - ID - 2 - Style - - shadow - - Draws - NO - - stroke - - Draws - NO - - - - BaseZoom - 0 - CanvasOrigin - {0, 0} - ColumnAlign - 1 - ColumnSpacing - 36 - DisplayScale - 1 0/72 in = 1.0000 in - GraphicsList - - - Bounds - {{323.58800241769859, 81.818180044820522}, {59.511379241943359, 14}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 88 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 N/2} - VerticalPad - 0 - - - - Class - LineGraphic - ID - 87 - Points - - {352.84371681843936, 105.44920980437733} - {352.84371681843936, 554.79643568546487} - - Style - - stroke - - HeadArrow - 0 - Legacy - - Pattern - 2 - TailArrow - 0 - - - - - Bounds - {{296.82354621650802, 457.44251462841873}, {59.511379241943359, 18}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 86 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} - VerticalPad - 0 - - - - Bounds - {{296.82355172575052, 285.11763241665454}, {59.511379241943359, 18}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 85 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} - VerticalPad - 0 - - - - Bounds - {{298.24144820536503, 398.7673908068133}, {59.511379241943359, 18}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 84 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} - VerticalPad - 0 - - - - Bounds - {{296.82355723499296, 175.44920828716823}, {59.511379241943359, 18}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 83 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} - VerticalPad - 0 - - - - Bounds - {{311.25430644417895, 125.63359133665227}, {19, 24}} - Class - ShapedGraphic - FitText - YES - Flow - Resize - FontInfo - - Color - - b - 0 - g - 0 - r - 0 - - Font - Helvetica - Size - 12 - - ID - 16 - Line - - ID - 12 - Offset - 5.6338024139404297 - Position - 0.49182999134063721 - RotationType - 2 - - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Align - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720 - -\f0\fs24 \cf0 N} - - Wrap - NO - - - Class - LineGraphic - ID - 12 - Points - - {149.48008882900899, 143.2673937505927} - {497.71874981084187, 143.2673937505927} - - Style - - stroke - - HeadArrow - DimensionArrow - HeadScale - 1.5000001192092896 - Legacy - - TailArrow - DimensionArrow - TailScale - 1.5000001192092896 - - - - - AllowConnections - NO - AllowToConnect - - Class - LineGraphic - ID - 82 - Points - - {153.8778240136084, 516.11764910595514} - {502.11646301367108, 516.11764910595514} - - Style - - stroke - - HeadArrow - 0 - Legacy - - TailArrow - 0 - - - - - AllowConnections - NO - AllowToConnect - - Class - LineGraphic - ID - 38 - Points - - {153.8778240136084, 351.11764399473344} - {503.10512424771485, 351.11764399473344} - - Style - - stroke - - HeadArrow - 0 - Legacy - - TailArrow - 0 - - - - - Bounds - {{461.36081580879494, 161.81284770098617}, {59.511379241943359, 36}} - Class - ShapedGraphic - ID - 81 - Shape - Circle - Style - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 spawn} - VerticalPad - 0 - - - - Bounds - {{363.86076520494328, 161.81284494636489}, {59.511379241943359, 36}} - Class - ShapedGraphic - ID - 80 - Shape - Circle - Style - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 spawn} - VerticalPad - 0 - - - - Bounds - {{232.62209618781247, 161.81284494636489}, {59.511379241943359, 36}} - Class - ShapedGraphic - ID - 79 - Shape - Circle - Style - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 spawn} - VerticalPad - 0 - - - - Bounds - {{135.12210937373897, 161.81284494636481}, {59.511379241943359, 36}} - Class - ShapedGraphic - ID - 78 - Shape - Circle - Style - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 spawn} - VerticalPad - 0 - - - - Class - LineGraphic - ControlPoints - - {-242.57527737123425, 42.263052871851983} - {47.779516050578962, -157.45229985397722} - - Head - - ID - 47 - - ID - 37 - Points - - {371.63893937465423, 192.47827332931541} - {85.988035236556158, 357.09611090561015} - - Style - - stroke - - Bezier - - HeadArrow - 0 - Legacy - - LineType - 1 - Pattern - 1 - TailArrow - Arrow - - - Tail - - ID - 80 - - - - Bounds - {{480.11647596063602, 490.11762730492507}, {22, 26.00001335144043}} - Class - ShapedGraphic - ID - 77 - Shape - Rectangle - Style - - stroke - - Pattern - 1 - - - - - Bounds - {{480.11647119288358, 405.11763803511735}, {22, 85.000022888183594}} - Class - ShapedGraphic - ID - 76 - Shape - Rectangle - Style - - stroke - - Width - 2 - - - - - Class - LineGraphic - ID - 75 - Points - - {415.36646499400052, 405.11763803511735} - {469.36646499400052, 405.11763803511735} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - - - Class - LineGraphic - ID - 67 - Points - - {415.36647836056534, 235.11764399473336} - {469.36647836056534, 235.11764399473336} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - - - Bounds - {{480.11648109640811, 320.11763803511758}, {22, 31}} - Class - ShapedGraphic - ID - 71 - Shape - Rectangle - Style - - stroke - - Pattern - 1 - - - - - Bounds - {{480.11649074541475, 235.11763803511732}, {22, 85}} - Class - ShapedGraphic - ID - 70 - Shape - Rectangle - Style - - stroke - - Width - 2 - - - - - Bounds - {{160.37782433112187, 623.41712883328603}, {95.870697021484375, 18}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 62 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fnil\fcharset128 HiraKakuProN-W3;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 : -\f1 \'83\'49\'81\'5b\'83\'6f\'81\'5b\'83\'77\'83\'62\'83\'68} - VerticalPad - 0 - - - - Bounds - {{131.8778240136084, 607.41710828562975}, {22, 50.000007629394531}} - Class - ShapedGraphic - ID - 61 - Shape - Rectangle - Style - - stroke - - Pattern - 1 - - - - - Bounds - {{153.87780979916471, 490.1176442315404}, {22, 26.00001335144043}} - Class - ShapedGraphic - ID - 60 - Shape - Rectangle - Style - - stroke - - Pattern - 1 - - - - - Bounds - {{251.3778101711091, 476.11765829738516}, {22, 40}} - Class - ShapedGraphic - ID - 59 - Shape - Rectangle - Style - - stroke - - Pattern - 1 - - - - - Bounds - {{382.61647218882484, 321.11765829738528}, {22, 31}} - Class - ShapedGraphic - ID - 57 - Shape - Rectangle - Style - - stroke - - Pattern - 1 - - - - - Bounds - {{153.87779804663143, 295.11765829738528}, {22, 57}} - Class - ShapedGraphic - ID - 56 - Shape - Rectangle - Style - - stroke - - Pattern - 1 - - - - - Bounds - {{158.62782400453676, 570.79643568546487}, {234.25, 18}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 55 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fnil\fcharset128 HiraKakuProN-W3;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 : task -\f1 \'82\'cc\'8e\'9e\'8a\'d4\'8f\'c1\'94\'ef\'97\'ca(\'92\'b7\'82\'a2\'82\'d9\'82\'c7\'8e\'9e\'8a\'d4\'82\'aa\'82\'a9\'82\'a9\'82\'e9)} - VerticalPad - 0 - - - - Bounds - {{131.87782400453688, 554.79643568546487}, {22, 50}} - Class - ShapedGraphic - ID - 54 - Shape - Rectangle - Style - - stroke - - Width - 2 - - - - - Bounds - {{382.61648183783149, 405.11765829738516}, {22, 111}} - Class - ShapedGraphic - ID - 53 - Shape - Rectangle - Style - - stroke - - Width - 2 - - - - - Bounds - {{251.37780662970022, 405.11765829738516}, {22, 71}} - Class - ShapedGraphic - ID - 52 - Shape - Rectangle - Style - - stroke - - Width - 2 - - - - - Bounds - {{153.87780472235164, 405.11765829738516}, {22, 85}} - Class - ShapedGraphic - ID - 51 - Shape - Rectangle - Style - - stroke - - Width - 2 - - - - - Class - LineGraphic - ID - 49 - Points - - {186.6278056760259, 405.11765829738516} - {240.6278056760259, 405.11765829738516} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - - - Class - LineGraphic - ID - 48 - Points - - {64.614007071565368, 387.61440805797184} - {64.127805676026057, 405.11765829738516} - {144.62780567602596, 405.11765829738516} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - Tail - - ID - 47 - - - - Bounds - {{38.127805676026171, 351.11765829738516}, {54, 36}} - Class - ShapedGraphic - ID - 47 - Shape - Circle - Style - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 run16} - VerticalPad - 0 - - - - Bounds - {{382.61648183783149, 236.11765829738516}, {22, 85}} - Class - ShapedGraphic - ID - 46 - Shape - Rectangle - Style - - stroke - - Width - 2 - - - - - Bounds - {{251.37780662970022, 236.11765829738516}, {22, 116}} - Class - ShapedGraphic - ID - 45 - Shape - Rectangle - Style - - stroke - - Width - 2 - - - - - Bounds - {{153.87780472235164, 236.11765829738516}, {22, 59}} - Class - ShapedGraphic - ID - 44 - Shape - Rectangle - Style - - stroke - - Width - 2 - - - - - Class - LineGraphic - ID - 31 - Points - - {186.6278056760259, 236.11765829738516} - {240.6278056760259, 236.11765829738516} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - - - Class - LineGraphic - ID - 36 - Points - - {64.799264137616888, 198.31152705493309} - {64.127805676026057, 236.11765829738516} - {144.62780567602596, 236.11765829738516} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - Tail - - ID - 28 - - - - Bounds - {{38.127811185268726, 161.81285064624362}, {54, 36}} - Class - ShapedGraphic - ID - 28 - Shape - Circle - Style - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 run16} - VerticalPad - 0 - - - - GridInfo - - HPages - 1 - KeepToScale - - Layers - - - Lock - NO - Name - レイヤー 1 - Print - YES - View - YES - - - LayoutInfo - - Animate - NO - circoMinDist - 18 - circoSeparation - 0.0 - layoutEngine - dot - neatoSeparation - 0.0 - twopiSeparation - 0.0 - - Orientation - 2 - PrintOnePage - - RowAlign - 1 - RowSpacing - 36 - SheetTitle - キャンバス 3 - UniqueID - 3 - VPages - 1 - - - ActiveLayerIndex - 0 - AutoAdjust - - BackgroundGraphic - - Bounds - {{0, 0}, {559.00000476837158, 783}} - Class - SolidGraphic - ID - 2 - Style - - shadow - - Draws - NO - - stroke - - Draws - NO - - - - BaseZoom - 0 - CanvasOrigin - {0, 0} - ColumnAlign - 1 - ColumnSpacing - 36 - DisplayScale - 1 0/72 in = 1.0000 in - GraphicsList - - - Bounds - {{414.58902482519841, 305.6818113673861}, {81.463137313527341, 14}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 96 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 DS \'d7 task num} - VerticalPad - 0 - - - - Bounds - {{414.58899663372097, 265.93180642115408}, {102.62709463610148, 28}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 95 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Align - 0 - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural - -\f0\fs24 \cf0 [src]\ -DS;} - VerticalPad - 0 - - - - Bounds - {{414.58901288490773, 226.1818059177501}, {102.62709463610148, 28}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 94 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Align - 0 - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural - -\f0\fs24 \cf0 [reduce]\ -task num;} - VerticalPad - 0 - - - - Bounds - {{414.58901288490773, 158.4318153856}, {102.62709463610148, 56}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 93 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Align - 0 - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural - -\f0\fs24 \cf0 [map]\ -task num;\ -inData = fileblocks;\ -outData = DS;} - VerticalPad - 0 - - - - Bounds - {{381.25165140818797, 132.6818248926082}, {169.30184092209089, 14}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 91 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 MapReduce(map,reduce,src)} - VerticalPad - 0 - - - - Bounds - {{342.58065570033455, 195.37814151235972}, {54, 27.310923056518021}} - Class - ShapedGraphic - FontInfo - - Color - - b - 1 - g - 1 - r - 1 - - - ID - 86 - Shape - Rectangle - Style - - fill - - Color - - b - 1 - g - 0 - r - 0 - - - stroke - - CornerRadius - 9 - - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf1 reduce} - - - - Bounds - {{209.03226449511959, 278.9032211541882}, {35.433071398293073, 27.310923056518021}} - Class - ShapedGraphic - FontInfo - - Color - - b - 1 - g - 1 - r - 1 - - - ID - 4 - Shape - Rectangle - Style - - fill - - Color - - b - 1 - g - 0 - r - 0 - - - stroke - - CornerRadius - 9 - - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf1 map} - - - - Bounds - {{54.14710661128008, 325.61288051677286}, {176.17548225077354, 14}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 84 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 DS : Data Segment} - VerticalPad - 0 - - - - Bounds - {{283.39545283481317, 106.86363399438146}, {81.463137313527341, 14}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 83 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 wait for DS} - VerticalPad - 0 - - - - Bounds - {{198.03687250105602, 55.451617495946792}, {81.463137313527341, 14}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 82 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 spawn DS} - VerticalPad - 0 - - - - Bounds - {{119.4133808163774, 48.451620044370891}, {81.463137313527341, 28}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 81 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 wait for\ -file read} - VerticalPad - 0 - - - - Bounds - {{163.22580748570621, 308.91351748596207}, {67.096776257692653, 14}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 80 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 NDRange} - VerticalPad - 0 - - - - Bounds - {{71.363640391243678, 308.91351625938393}, {67.096776257692653, 14}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 77 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Cerium} - VerticalPad - 0 - - - - AllowToConnect - - Class - LineGraphic - ID - 74 - Points - - {296.01295270085507, 242.85713117949874} - {334.45376543058995, 200.40907670886017} - - Style - - stroke - - HeadArrow - 0 - Legacy - - LineType - 1 - TailArrow - Arrow - - - - - AllowToConnect - - Class - LineGraphic - ID - 73 - Points - - {296.012939453125, 222.68906492237772} - {322.26889318336015, 195.3781418658597} - - Style - - stroke - - HeadArrow - 0 - Legacy - - LineType - 1 - TailArrow - Arrow - - - - - AllowToConnect - - Class - LineGraphic - ID - 72 - Points - - {296.012939453125, 149.57982474031505} - {322.26889206691266, 177.53436986178286} - - Style - - stroke - - HeadArrow - 0 - Legacy - - LineType - 1 - TailArrow - Arrow - - - - - AllowToConnect - - Class - LineGraphic - Head - - ID - 62 - - ID - 70 - Points - - {296.01295270085507, 132.35293481235658} - {332.65362554451821, 173.3691125906266} - - Style - - stroke - - HeadArrow - 0 - Legacy - - LineType - 1 - TailArrow - Arrow - - - - - Class - LineGraphic - Head - - ID - 52 - - ID - 69 - Points - - {241.53854534919614, 250.31756993685434} - {217.66214843123544, 258.26610870088587} - - Style - - stroke - - HeadArrow - 0 - Legacy - - LineType - 1 - TailArrow - FilledArrow - - - Tail - - ID - 60 - - - - Class - LineGraphic - Head - - ID - 51 - - ID - 68 - Points - - {241.51381074056448, 223.48834995274356} - {221.8007707746707, 224.64471774846484} - - Style - - stroke - - HeadArrow - 0 - Legacy - - LineType - 1 - TailArrow - FilledArrow - - - Tail - - ID - 59 - - - - Class - LineGraphic - Head - - ID - 50 - - ID - 67 - Points - - {241.5137715122259, 149.39141919916131} - {221.79501650826194, 148.24631021303301} - - Style - - stroke - - HeadArrow - 0 - Legacy - - LineType - 1 - TailArrow - FilledArrow - - - Tail - - ID - 55 - - - - Class - LineGraphic - Head - - ID - 28 - - ID - 66 - Points - - {241.53889079096032, 122.47707073995667} - {217.77328175917563, 114.50565797847987} - - Style - - stroke - - HeadArrow - 0 - Legacy - - LineType - 1 - TailArrow - FilledArrow - - - Tail - - ID - 54 - - - - Class - LineGraphic - Head - - ID - 52 - - ID - 65 - Points - - {135.78309208237317, 251.66514129682133} - {145.95500647600446, 242.49157754072635} - {166.50476087425747, 242.49157754072635} - {179.91179328770497, 253.75381661030801} - - Style - - stroke - - HeadArrow - 0 - Legacy - - LineType - 1 - TailArrow - Arrow - - - Tail - - ID - 47 - - - - Class - LineGraphic - Head - - ID - 51 - - ID - 64 - Points - - {134.20527519555171, 211.87321771059982} - {145.95500133828281, 200.09108506843228} - {166.50475573653577, 200.09108506843228} - {181.00556029920915, 213.63502338302834} - - Style - - stroke - - HeadArrow - 0 - Legacy - - LineType - 1 - TailArrow - Arrow - - - Tail - - ID - 46 - - - - Class - LineGraphic - ID - 63 - Points - - {134.41942429256443, 132.7240106271729} - {145.95501051682885, 122.04436660559479} - {166.50476491508184, 122.04436660559479} - {179.95714873375871, 134.49858041352468} - - Style - - stroke - - HeadArrow - 0 - Legacy - - LineType - 1 - TailArrow - Arrow - - - - - Class - LineGraphic - Head - - ID - 28 - - ID - 35 - Points - - {135.3778009979263, 92.569409030966554} - {146.91338722219072, 81.889765009388427} - {167.46314162044371, 81.889765009388427} - {180.91552543912059, 94.343978817318302} - - Style - - stroke - - HeadArrow - 0 - Legacy - - LineType - 1 - TailArrow - Arrow - - - Tail - - ID - 1 - - - - Bounds - {{317.32283941138019, 172.45455153311121}, {54, 27.954545768578228}} - Class - ShapedGraphic - ID - 62 - Shape - Circle - Style - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 print} - VerticalPad - 0 - - - - Bounds - {{242.01294811158195, 231.52324417680984}, {54, 19.295995712280273}} - Class - ShapedGraphic - ID - 60 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 DS} - - - - Bounds - {{242.01295270085504, 212.22725121374293}, {54, 19.295995712280273}} - Class - ShapedGraphic - ID - 59 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 DS} - - - - Class - LineGraphic - ID - 58 - Points - - {268.51289604331606, 172.4545309402823} - {268.51289604331606, 200.40907670886017} - - Style - - stroke - - HeadArrow - 0 - Legacy - - Pattern - 2 - TailArrow - 0 - - - - - Bounds - {{242.01293055815637, 141.34035452303868}, {54, 19.295995712280273}} - Class - ShapedGraphic - ID - 55 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 DS} - - - - Bounds - {{242.01293514742946, 122.04436155997175}, {54, 19.295995712280273}} - Class - ShapedGraphic - ID - 54 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 DS} - - - - Bounds - {{167.4631286562911, 252.00002560097147}, {54, 27.954545768578228}} - Class - ShapedGraphic - ID - 52 - Shape - Circle - Style - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 task} - VerticalPad - 0 - - - - Bounds - {{167.4631286562911, 212.22729275448108}, {54, 27.954545768578228}} - Class - ShapedGraphic - ID - 51 - Shape - Circle - Style - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 task} - VerticalPad - 0 - - - - Bounds - {{167.46314162044368, 132.68181868661952}, {54, 27.954545768578228}} - Class - ShapedGraphic - ID - 50 - Shape - Circle - Style - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 task} - VerticalPad - 0 - - - - Bounds - {{167.46314162044371, 92.909085840129094}, {54, 27.954545768578228}} - Class - ShapedGraphic - ID - 28 - Shape - Circle - Style - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 task} - VerticalPad - 0 - - - - Class - LineGraphic - ID - 48 - Points - - {119.41338245035273, 172.45454849370856} - {119.41338245035273, 200.40909426228643} - - Style - - stroke - - HeadArrow - 0 - Legacy - - Pattern - 2 - TailArrow - 0 - - - - - Bounds - {{92.913380338281044, 252.00000345826436}, {54, 27.954545768578228}} - Class - ShapedGraphic - ID - 47 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 file read} - - - - Bounds - {{92.913380338281044, 212.22725764762677}, {54, 27.954545768578228}} - Class - ShapedGraphic - ID - 46 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 file read} - - - - Bounds - {{92.913380338281016, 132.6818140973464}, {54, 27.954545768578228}} - Class - ShapedGraphic - ID - 45 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 file read} - - - - Bounds - {{92.913387222190721, 92.909088134765625}, {54, 27.954545768578228}} - Class - ShapedGraphic - ID - 1 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 file read} - - - - Bounds - {{54.147105803351636, 278.90323859126994}, {35.433071398293073, 14}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 44 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 FILE} - VerticalPad - 0 - - - - Class - LineGraphic - ID - 43 - Points - - {71.363636154281096, 251.99999188613256} - {71.363636154281096, 279.95453765471046} - - Style - - stroke - - HeadArrow - NegativeControls - Legacy - - TailArrow - NegativeControls - - - - - Class - LineGraphic - ID - 42 - Points - - {71.363636154281096, 212.22726337599352} - {71.363636154281096, 240.18180914457139} - - Style - - stroke - - HeadArrow - NegativeControls - Legacy - - TailArrow - NegativeControls - - - - - Class - LineGraphic - ID - 40 - Points - - {71.363636154281167, 172.45453970245089} - {71.363636154281167, 200.40908547102876} - - Style - - stroke - - HeadArrow - 0 - Legacy - - Pattern - 2 - TailArrow - 0 - - - - - Class - LineGraphic - ID - 39 - Points - - {71.363640990877897, 132.68181888993095} - {71.363640990877897, 160.63636465850922} - - Style - - stroke - - HeadArrow - NegativeControls - Legacy - - TailArrow - NegativeControls - - - - - Class - LineGraphic - ID - 38 - Points - - {71.363636154281224, 92.909091401691242} - {71.363636154281224, 120.86363717026947} - - Style - - stroke - - HeadArrow - NegativeControls - Legacy - - TailArrow - NegativeControls - - - - - Bounds - {{54.14710580335165, 85.806451759775086}, {102.62709463610148, 207.09678649902344}} - Class - ShapedGraphic - ID - 75 - Shape - Rectangle - - - Bounds - {{163.22581147304078, 85.806455546685811}, {67.096776257692653, 207.09678649902344}} - Class - ShapedGraphic - ID - 78 - Shape - Rectangle - - - GridInfo - - HPages - 1 - KeepToScale - - Layers - - - Lock - NO - Name - レイヤー 1 - Print - YES - View - YES - - - LayoutInfo - - Animate - NO - circoMinDist - 18 - circoSeparation - 0.0 - layoutEngine - dot - neatoSeparation - 0.0 - twopiSeparation - 0.0 - - Orientation - 2 - PrintOnePage - - RowAlign - 1 - RowSpacing - 36 - SheetTitle - キャンバス 2 - UniqueID - 2 - VPages - 1 - - - SmartAlignmentGuidesActive - YES - SmartDistanceGuidesActive - YES - UseEntirePage - - WindowInfo - - CurrentSheet - 2 - ExpandedCanvases - - - name - キャンバス 1 - - - Frame - {{115, 0}, {751, 878}} - ListView - - OutlineWidth - 142 - RightSidebar - - Sidebar - - SidebarWidth - 120 - VisibleRegion - {{28.571427197588086, 0.84033609404670839}, {530.25207534347305, 658.82349773261933}} - Zoom - 1.190000057220459 - ZoomValues - - - キャンバス 1 - 0.75999999046325684 - 0.77999997138977051 - - - キャンバス 2 - 1.190000057220459 - 1.4600000381469727 - - - キャンバス 3 - 1.1000000238418579 - 1.1599999666213989 - - - - - diff -r 43c6da29d688 -r d8f499590d82 2013/July-2013/000.png Binary file 2013/July-2013/000.png has changed diff -r 43c6da29d688 -r d8f499590d82 2013/July-2013/001.PNG Binary file 2013/July-2013/001.PNG has changed diff -r 43c6da29d688 -r d8f499590d82 2013/July-2013/002.PNG Binary file 2013/July-2013/002.PNG has changed diff -r 43c6da29d688 -r d8f499590d82 2013/July-2013/003.PNG Binary file 2013/July-2013/003.PNG has changed diff -r 43c6da29d688 -r d8f499590d82 2013/July-2013/004.PNG Binary file 2013/July-2013/004.PNG has changed diff -r 43c6da29d688 -r d8f499590d82 2013/July-2013/005.PNG Binary file 2013/July-2013/005.PNG has changed diff -r 43c6da29d688 -r d8f499590d82 2013/July-2013/006.PNG Binary file 2013/July-2013/006.PNG has changed diff -r 43c6da29d688 -r d8f499590d82 2013/July-2013/15th.html --- a/2013/July-2013/15th.html Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,105 +0,0 @@ - - - - - - - 2013-07-15 - - - - - - - - - -
    - - - -
    -

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

    -

    - Masataka Kohagura -
    - 16th July , 2013 -

    -
    - -
    -

    - 研究目的 -

    -

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

    -

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

    -

    - 現在、PCでの音楽制作環境においてマルチコア化の問題を抱えていることが多く、マルチコア化に対応したと謳ってる音源、DAW(音楽生成ソフト)も実際はシングルコアでしか動いていないことが多い。 - そして、PCによる音楽制作過程の中でマルチコアを活かせるようなソフトウェアを作成したい。 -

    -
    - -
    -

    - 考えている内容(並列かどうか疑問なものも含める) -

    -

    - ・ コード進行自動生成ツール - (進化計算?) -

    -

    - ・ソフトウェア・シンセサイザーのマルチコアによる音源生成 - (音声解析?) -

    -

    -

    -

    -

    -
    - -
    -

    現在

    -
    -

    - ・結果表示を、ポジションからマッチ数に変更。
    - (正確なマッチ数を表示させるためと、文字列サーチの時間を計測したいため) -

    - ・時間測定時をしようとした際にWikipediaのファイルのような大きなファイルを読み込むとデッドロックが起きる -

    -

    - ・set_inDataが上手くいかない
    - (Perlでソースを生成させる際に検索ワードを埋め込む方向にしようか検討中) -

    -
    - -
    - - - diff -r 43c6da29d688 -r d8f499590d82 2013/July-2013/23rd.html --- a/2013/July-2013/23rd.html Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,115 +0,0 @@ - - - - - - - 2013-07-23 - - - - - - - - - -
    - - - -
    -

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

    -

    - Masataka Kohagura -
    - 23th July , 2013 -

    -
    - -
    -

    - 研究目的 -

    -

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

    -

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

    -

    -現在、PCでの音楽制作環境においてマルチコア化の問題を抱えていることが多く、マルチコア化に対応したと謳ってる音源、DAW(音楽生成ソフト)も実際はシングルコアでしか動いていないことが多い。 - 現在の例題を通して、マルチコアプログラミングに慣れ、そして、PCによる音楽制作過程の中でマルチコアを活かせるようなソフトウェアを作成したい。 -

    -
    - -
    -

    今週したこと

    -
    -

    - bug fix
    - CPU_num > task_numになるとき結果が正しく返ってこなかったのを修正 -

    -

    - CPU数の指定で結果が違うところを修正中(継続中) -

    -
    - -
    -

    現在の状況

    -
    -

    - 本来、wikipediaのテキストファイルにある"doing"の文字列数を調べると 27856 個であった。
    - しかし、CPU数を1~8で実行したところ24000個しかカウントしきれていない。 -

    -

    - CPU数をありもしない個数(120)に設定したところ、27854個とカウントされた。
    -

    -

    - CPU数を1~8個で設定すると、周期的に正しい結果が返ってこない。 -

    - -
    - -
    -

    現在の状況

    -
    -

    - 本来、wikipediaのテキストファイルにある"doing"の文字列数を調べると 27856 個であった。
    - しかし、CPU数を1~8で実行したところ24000個しかカウントしきれていない。 -

    -

    - CPU数をありもしない個数(120)に設定したところ、27854個とカウントされた。
    -

    -

    - 1taskの結果が周期的に正しい結果が返ってこない。 -

    - -
    - - - - diff -r 43c6da29d688 -r d8f499590d82 2013/July-2013/GJ.html --- a/2013/July-2013/GJ.html Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,64 +0,0 @@ - - - - - - - Game Jam - - - - - - - - - -
    - - - -
    -

    - PCエンジン古波倉FIXed -
    -

    -

    -
    - 28th July , 2013 -

    -
    - -
    -
    HTML 文書の要素階層
    -
    - -
    -

    -
    - -
    -

    現在の状況

    - -
    - - - diff -r 43c6da29d688 -r d8f499590d82 2013/June-2013/11th.html --- a/2013/June-2013/11th.html Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,150 +0,0 @@ - - - - - - - 2013-06-11 - - - - - - - - - -
    - - - -
    -

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

    -

    - Masataka Kohagura -
    - 11th June , 2013 -

    -
    - -
    -

    - 研究目的 -

    -

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

    -

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

    -
    - -
    -

    - 今週したこと -

    -

    - ・word_countのソース読み
    - (タスクが複数読み込まれた場合どうなるかを重点に) -

    -

    - ・検索文字列中に割れたときの処理が正しく動くようにした。 - (ただし、タスクが複数存在するときのCPU数の問題は未解決) -

    -

    - ・出力結果にpositionの追加 -

    -

    - ・Ceriumのバージョンを過去のものに戻して動作することを確認 -

    -
    - -
    -

    実行結果

    -
    -[Masa]~%  ./regex -file d.txt -cpu 2
    -in Exec.cc
    -in Exec.cc
    -task num : 2
    -2595 a
    -16370 a
    -16384 a
    -0
    -      
    -
    - - - diff -r 43c6da29d688 -r d8f499590d82 2013/June-2013/18th.html --- a/2013/June-2013/18th.html Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,190 +0,0 @@ - - - - - - - 2013-06-18 - - - - - - - - - -
    - - - -
    -

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

    -

    - Masataka Kohagura -
    - 18th June , 2013 -

    -
    - -
    -

    - 研究目的 -

    -

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

    -

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

    -
    - -
    -

    - 今週までにしたこと -

    -

    - ・word_countのソース読み
    - (タスクが複数読み込まれた場合どうなるかを重点に) -

    -

    - ・検索文字列中に割れたときの処理が正しく動くようにした。 - (ただし、タスクが複数存在するときのCPU数の問題は未解決) -

    -

    - ・出力結果にpositionの追加 -

    -

    - ・Ceriumのバージョンを過去のものに戻して動作することを確認 -

    -
    - -
    -

    実行結果

    -
    -[Masa]~%  ./regex -file d.txt -cpu 2 
    -in Exec.cc
    -in Exec.cc
    -task num : 2
    -position
    -2 a
    -192 a
    -388 a
    -390 a
    -16389 a
    -      
    -

    - 出力結果の数字はマッチしたキーワードの先頭ポジション、アルファベットはマッチした先頭の文字を出力させている。
    -

    -

    - out_dataを1つのタスク当たり256個(position 128個、先頭文字128個)出力している。(固定) -

    -
    - -
    -

    - Print.cc -

    -
    -
    -static int 
    -run_print(SchedTask *s, void *rbuf, void *wbuf)
    -{
    -    WordCount *w = *(WordCount**)rbuf;
    -    unsigned long long *idata = w->o_data;
    -    unsigned int idata_task_num = w->out_size * w->out_task_num;
    - 
    -    s->printf("task num : %d\n",w->task_spwaned);
    -
    -    s->printf("position\n");
    -    for (int i = 0;i < idata_task_num ;i++) {
    -                                        
    -        if(idata[2*i] == 0x61){
    -            s->printf("%d ",(int)idata[2*i+1]);
    -            s->printf("%c\n",(unsigned char)idata[2*i]);
    -        }   
    -    return 0;
    -}
    -        
    -
    - -
    -

    - Exec.cc 一部 -

    -
    -
    -int BM_method(unsigned char *text,int *offset,int text_length,
    -              unsigned char *pattern,unsigned long long *match_string)
    -{
    -
    -    while ( i < text_len){
    -        int j = pattern_len - 1;
    -        while (text[i] == pattern[j]){
    -            if (j == 0){ 
    -                match_string[2*k] = text[i];
    -                int position = (long int)offset + i + 1;  
    -                match_string[2*k+1] = position;
    -
    -                k++;
    -            }   
    -            --i;
    -            --j;
    -        }   
    -        i = i + max((int)skip[(int)text[i]],pattern_len - j); 
    -    }   
    -    return 0;
    -}
    -      
    -
    -
    - -
    -

    - Exec.cc 一部 -

    -
    -
    -static int 
    -run(SchedTask *s, void *rbuf, void *wbuf)
    -{
    -    unsigned char *i_data = (unsigned char *)rbuf;
    -    unsigned long long *o_data = (unsigned long long*)wbuf;
    -    int length = (int)s->get_inputSize(0);
    -    int *offset = (int*)s->get_param(1);
    -    unsigned char search_word[] = "aba";
    -
    -    BM_method(i_data,offset,length,search_word,o_data);
    -    s->printf("in Exec.cc\n");
    -
    -
    -    return 0;
    -}
    -      
    -
    -
    - - diff -r 43c6da29d688 -r d8f499590d82 2013/June-2013/4th.html --- a/2013/June-2013/4th.html Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,131 +0,0 @@ - - - - - - - 2013-06-04 - - - - - - - - - -
    - - - -
    -

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

    -

    - Masataka Kohagura -
    - 4th June , 2013 -

    -
    - -
    -

    - 研究目的 -

    -

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

    -

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

    -
    - -
    -

    - 今週したこと -

    -

    - word_countのソース読み
    - (タスクが複数読み込まれた場合どうなるかを重点に) -

    -

    - 検索文字列中に割れたときの処理が正しく動くようにした。 - (ただし、タスクが複数存在するときの問題は未解決) -

    - -
    - - -
    -

    - 現在の問題点 -

    -

    - taskが複数生成されるとき、cpuの指定した個数によっては正しい結果が返ってこない。(word_countも同様) -

    -
    - - - diff -r 43c6da29d688 -r d8f499590d82 2013/May-2013/14th.html --- a/2013/May-2013/14th.html Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,111 +0,0 @@ - - - - - - - 2013-05-14 - - - - - - - - - -
    - - - -
    -

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

    -

    - Masataka Kohagura -
    - 14th May , 2013 -

    -
    - -
    -

    - 研究目的 -

    -

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

    -

    - 現在は正規表現を実装している段階であるが、「動的なコード生成を用いた正規表現マッチャの実装」で示されたオートマトンを並列実装する。これを実装することによって、Ceriumがオートマトンで表される問題に対して並列実装できることを証明する。 -

    -
    - -
    -

    - word_countのi_data o_data -

    -
    - word_count -
    -

    - o_dataは1つのタスク当たり4つの要素が吐き出される。
    - それらの配列をひとまとめにした配列をPrint.ccが読み込み、word_num、line_numの合計数、フラグ管理で正確にカウントできるようにされている。 -

    -
    - -
    -

    - regexのi_data o_data(予定) -

    -
    - regex -
    -

    - 問題点 -

    -

    - i_dataはword_countと同様にメモリに割り当てられた文字列である。それの先頭に検索したい文字列を入れて、プログラムが検索できるようにしたい。
    - 問題点として、o_dataがそのtask内でマッチしたラインの先頭アドレスを格納したいので、1task当たりのo_dataが可変長となる。 - o_dataのメモリをどう確保するべきなのか。 - 行の途中で分割されてしまった場合、flagをどう持たせたらいいのだろうか。 -

    -
    - -
    -

    - word_count/main.cc run_start() -

    -
    -
    -/* out用のdivision_size. statusが2つなので、あわせて16byteになるように、
    long long(4byte)を使用 */ - -w->division_out_size = sizeof(unsigned long long)*4; -int out_size = w->division_out_size*out_task_num; -w->o_data = (unsigned long long *)manager->allocate(out_size); -w->out_size = 4; -
    -
    - - - diff -r 43c6da29d688 -r d8f499590d82 2013/May-2013/21th.html --- a/2013/May-2013/21th.html Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,160 +0,0 @@ - - - - - - - 2013-05-21 - - - - - - - - - -
    - - - -
    -

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

    -

    - Masataka Kohagura -
    - 14th May , 2013 -

    -
    - -
    -

    - 研究目的 -

    -

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

    -

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

    -
    - -
    -

    - ボイヤームーア法とは(1) -

    -

    -

    -
    - BM1 -
    -

    - 検索したい文字列(pattern data)の長さをmとする。 -

    -

    - pattarn dataとtext dataを、pattern dataの末尾から比較を行なっていく。
    比較したtext dataの文字列がpattern dataの要素に含まれていない場合は、pattern dataをm個ずらし、再比較を行う。 -

    -
    - - -
    -

    - ボイヤームーア法とは(2) -

    -

    -

    -
    - BM1 -
    -

    - 比較したtext dataの文字がpattern dataの要素に含まれている場合は、pattern dataの末尾からその要素がどれだけ離れているかで決定される。この図であれば、末尾から2個離れているので、pattern dataを2個ずらし、最比較。 -

    -
    - -
    -

    - BM法をCで実装 -

    -
    -
    -int BM_method(char *text,char *pattern,unsigned long long *match_string){
    -    int skip[256];
    -    int i,j,text_len,pattern_len;
    -    int k = 0;
    -    text_len = strlen(text);
    -    pattern_len = strlen(pattern);
    -
    -    for (i = 0; i < 256; ++i){
    -        skip[i] = pattern_len;
    -    }
    -    for (i = 0; i < pattern_len-1 ; ++i){
    -        skip[(int)pattern[i]] = pattern_len - i - 1;
    -    }
    -
    -    i = pattern_len - 1;
    -    while ( i < text_len){
    -        j = pattern_len - 1;
    -        while (text[i] == pattern[j]){
    -            if (j == 0){
    -                match_string[k] = text[i];
    -                k++;
    -            }
    -            --i,--j;
    -        }
    -        i = i + max((int)skip[(int)text[i]],pattern_len - j);
    -    }
    -    return -1;
    -}
    -        
    -
    - -
    -

    - 分割時の処理について -

    -

    現在実装している処理

    -
    - sid -
    -

    - i_dataを1文字だけ多く取ってきて、abが分割されたときでも結果が返ってきてくれるように設定している。 -

    -
    - -
    -

    - 現在の問題点 -

    -

    - 分割回りで結果が返ってこない。(上手く処理されていない) -

    -

    - taskが2個以上になるとき、cpuの個数を2個以上に設定しないと結果が返ってこない。 -

    -
    - - - diff -r 43c6da29d688 -r d8f499590d82 2013/May-2013/28th.html --- a/2013/May-2013/28th.html Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,160 +0,0 @@ - - - - - - - 2013-05-21 - - - - - - - - - -
    - - - -
    -

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

    -

    - Masataka Kohagura -
    - 14th May , 2013 -

    -
    - -
    -

    - 研究目的 -

    -

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

    -

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

    -
    - -
    -

    - ボイヤームーア法とは(1) -

    -

    -

    -
    - BM1 -
    -

    - 検索したい文字列(pattern data)の長さをmとする。 -

    -

    - pattarn dataとtext dataを、pattern dataの末尾から比較を行なっていく。
    比較したtext dataの文字列がpattern dataの要素に含まれていない場合は、pattern dataをm個ずらし、再比較を行う。 -

    -
    - - -
    -

    - ボイヤームーア法とは(2) -

    -

    -

    -
    - BM1 -
    -

    - 比較したtext dataの文字がpattern dataの要素に含まれている場合は、pattern dataの末尾からその要素がどれだけ離れているかで決定される。この図であれば、末尾から2個離れているので、pattern dataを2個ずらし、最比較。 -

    -
    - -
    -

    - BM法をCで実装 -

    -
    -
    -int BM_method(char *text,char *pattern,unsigned long long *match_string){
    -    int skip[256];
    -    int i,j,text_len,pattern_len;
    -    int k = 0;
    -    text_len = strlen(text);
    -    pattern_len = strlen(pattern);
    -
    -    for (i = 0; i < 256; ++i){
    -        skip[i] = pattern_len;
    -    }
    -    for (i = 0; i < pattern_len-1 ; ++i){
    -        skip[(int)pattern[i]] = pattern_len - i - 1;
    -    }
    -
    -    i = pattern_len - 1;
    -    while ( i < text_len){
    -        j = pattern_len - 1;
    -        while (text[i] == pattern[j]){
    -            if (j == 0){
    -                match_string[k] = text[i];
    -                k++;
    -            }
    -            --i,--j;
    -        }
    -        i = i + max((int)skip[(int)text[i]],pattern_len - j);
    -    }
    -    return -1;
    -}
    -        
    -
    - -
    -

    - 分割時の処理について -

    -

    現在実装している処理

    -
    - sid -
    -

    - i_dataを1文字だけ多く取ってきて、abが分割されたときでも結果が返ってきてくれるように設定している。 -

    -
    - -
    -

    - 現在の問題点 -

    -

    - 分割回りで結果が返ってこない。(上手く処理されていない) -

    -

    - taskが2個以上になるとき、cpuの個数を2個以上に設定しないと結果が返ってこない。 -

    -
    - - - diff -r 43c6da29d688 -r d8f499590d82 2013/May-2013/7th.html --- a/2013/May-2013/7th.html Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,154 +0,0 @@ - - - - - - - 2013-05-07 - - - - - - - - - -
    - - - -
    -

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

    -

    - Masataka Kohagura -
    - 7th May , 2013 -

    -
    - -
    -

    - 研究目的 -

    -

    - 本研究室では、Cell用に作られたCeriumにて並列プログラミングを行なっている。 -近年、マルチコアCPUが主流となっているが、それをフルに使用させるためにはプログラムの並列度を上げる必要がある。(続く) -

    -

    - 現在は正規表現を並列実装している段階である。 -

    -
    - -
    -

    - 今週までにしたこと -

    -

    - C言語ポインタ完全制覇でポインタの勉強(半分ほど) -

    -

    - -

    -
    - -
    -

    - Exec.cc -

    -
    -
    -
    -    for (; i < length; i++) {
    -        if (i_data[i] == 0x0A) {
    -    
    -            if (match_flag == true) {
    -                line_print(line_num,line_length,line_data);
    -            }   
    -            match_flag = false;
    -            line_length = 0;
    -            line_num++;
    -        } else {
    -            line_data[line_length] = i_data[i];
    -            line_length++;
    -              if (i_data[i] == 0x61) {
    -                  a_flag = true;
    -              }else if ((i_data[i] == 0x62) && (a_flag == true)) {
    -                  match_flag = true;
    -              }else if (i_data[i] == 0x20) {
    -                  a_flag = false;
    -              }   
    -        }   
    -    } 
    -
    -
    -
    -

    - line_print(line_num,line_length,line_data); -

    -
    -
    -void line_print(int _line_num,int _line_length,char *input_data){
    -
    -    printf("%d : ",_line_num);
    -    for (int k = 0; k < _line_length; k++) {
    -        printf("%c",input_data[k]);
    -    }   
    -    printf("\n");
    -}
    -
    -
    -
    - -
    -

    - 実行結果(分割されないような小さなファイル) -

    -
    -
    -[Masa]~%  ./regex -file b.txt                   [~/hg/Cerium/example/regex_mas]
    -1 : ab aaa dddd ssss abab
    -2 : ab bbbbbbbbbb aaaaaaa
    -4 : ab aaaab 
    -        
    -

    - 実行結果(分割されるようなファイル) -

    -
    -[Masa]~%  ./regex -file c.txt                   [~/hg/Cerium/example/regex_mas]
    -1 : Pakistan who've volunteered to join private militias, called lashkars. These groups have vowed to help Pakistan's military in fighting the Taliban.
    -5 : Pakistani military officials credit the lashkars with helping chase the Taliban out of Swat Valley and neighboring districts once infested with the militants.
    -6 : Pakistan who've volunteered to join private militias, called lashkars. These groups have vowed to help Pakistan's military in fighting the Taliban.
    -[中略]
    -196 : Pakistan who've volunteered to join private militias, called lashkars. These groups have vowed to help Pakistan's military in fighting the Taliban.
    -200 : Pakistani military officials credit the lashkars with helping chase the Taliban out of Swat Valley and neighboring districts once infested with the militants.
    -1 : red to join private militias, called lashkars. These groups have vowed to help Pakistan's military in fighting the Taliban.
    -5 : Pakistani military officials credit the lashkars with helping chase the Taliban out of Swat Valley and neighboring districts once infested with the militants.
    -        
    -
    -
    - - - diff -r 43c6da29d688 -r d8f499590d82 2013/May-2013/BM.graffle --- a/2013/May-2013/BM.graffle Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1886 +0,0 @@ - - - - - ApplicationVersion - - com.omnigroup.OmniGraffle - 139.18.0.187838 - - CreationDate - 2013-05-20 12:36:29 +0000 - Creator - MasaKoha - GraphDocumentVersion - 8 - GuidesLocked - NO - GuidesVisible - YES - ImageCounter - 1 - LinksVisible - NO - MagnetsVisible - NO - MasterSheets - - ModificationDate - 2013-11-06 07:41:37 +0000 - Modifier - MasaKoha - NotesVisible - NO - OriginVisible - NO - PageBreaks - YES - PrintInfo - - NSBottomMargin - - float - 41 - - NSHorizonalPagination - - coded - BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG - - NSLeftMargin - - float - 18 - - NSPaperSize - - size - {594.99997329711914, 842} - - NSPrintReverseOrientation - - int - 0 - - NSRightMargin - - float - 18 - - NSTopMargin - - float - 18 - - - ReadOnly - NO - Sheets - - - ActiveLayerIndex - 0 - AutoAdjust - - BackgroundGraphic - - Bounds - {{0, 0}, {558.99997329711914, 783}} - Class - SolidGraphic - ID - 2 - Style - - shadow - - Draws - NO - - stroke - - Draws - NO - - - - BaseZoom - 0 - CanvasOrigin - {0, 0} - ColumnAlign - 1 - ColumnSpacing - 36 - DisplayScale - 1 0/72 in = 1.0000 in - GraphicsList - - - Bounds - {{13, 458.79013061523438}, {59.80935172478393, 12.561340860678181}} - Class - ShapedGraphic - ID - 74 - Layer - 0 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Input data} - VerticalPad - 0 - - - - Bounds - {{13, 333.54379272460938}, {59.80935172478393, 12.561340860678181}} - Class - ShapedGraphic - ID - 73 - Layer - 0 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Input data} - VerticalPad - 0 - - - - Bounds - {{12.999996774745885, 216.77022151682692}, {59.80935172478393, 12.561340860678181}} - Class - ShapedGraphic - ID - 72 - Layer - 0 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Input data} - VerticalPad - 0 - - - - Bounds - {{229.3141535266771, 403.79351165129901}, {36.171464554143206, 23.858390920443956}} - Class - ShapedGraphic - ID - 71 - Layer - 0 - Shape - Rectangle - Style - - stroke - - Pattern - 2 - - - - - Bounds - {{193.1426889725339, 403.79351165129901}, {36.171464554143206, 23.858390920443956}} - Class - ShapedGraphic - ID - 70 - Layer - 0 - Shape - Rectangle - Style - - stroke - - Pattern - 2 - - - - - Bounds - {{13.000000000000004, 409.44201054424752}, {59.80935172478393, 12.561340860678181}} - Class - ShapedGraphic - ID - 67 - Layer - 0 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 pattern data} - VerticalPad - 0 - - - - Bounds - {{336.56419508463085, 453.14160907955625}, {36.171464554143206, 23.858390920443956}} - Class - ShapedGraphic - ID - 65 - Layer - 0 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 c} - - - - Bounds - {{300.39273053048726, 453.14160907955625}, {36.171464554143206, 23.858390920443956}} - Class - ShapedGraphic - ID - 64 - Layer - 0 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 b} - - - - Bounds - {{264.221265976344, 453.14160907955625}, {36.171464554143206, 23.858390920443956}} - Class - ShapedGraphic - ID - 63 - Layer - 0 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 a} - - - - Bounds - {{228.04980142220114, 453.14160907955625}, {36.171464554143206, 23.858390920443956}} - Class - ShapedGraphic - ID - 62 - Layer - 0 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 b} - - - - Bounds - {{191.8783368680578, 453.14160907955625}, {36.171464554143206, 23.858390920443956}} - Class - ShapedGraphic - ID - 61 - Layer - 0 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 y} - - - - Bounds - {{155.70687231391449, 453.14160907955625}, {36.171464554143206, 23.858390920443956}} - Class - ShapedGraphic - ID - 60 - Layer - 0 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 x} - - - - Bounds - {{119.53540775977129, 453.14160907955625}, {36.171464554143206, 23.858390920443956}} - Class - ShapedGraphic - ID - 59 - Layer - 0 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 b} - - - - Bounds - {{83.363943205628104, 453.14160907955625}, {36.171464554143206, 23.858390920443956}} - Class - ShapedGraphic - ID - 58 - Layer - 0 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 a} - - - - Bounds - {{337.82853544585663, 403.79351165129901}, {36.171464554143206, 23.858390920443956}} - Class - ShapedGraphic - ID - 57 - Layer - 0 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 c} - - - - Bounds - {{301.65707089171354, 403.79351165129901}, {36.171464554143206, 23.858390920443956}} - Class - ShapedGraphic - ID - 56 - Layer - 0 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 b} - - - - Bounds - {{265.48560633757046, 403.79351165129901}, {36.171464554143206, 23.858390920443956}} - Class - ShapedGraphic - ID - 55 - Layer - 0 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 a} - - - - Bounds - {{300.39273053048726, 307.3403586276396}, {36.171464554143206, 16.150295392300524}} - Class - ShapedGraphic - ID - 54 - Layer - 0 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 \'94\'e4\'8a\'72} - VerticalPad - 0 - - - - Class - LineGraphic - ID - 53 - Layer - 0 - Points - - {282.30701306752206, 303.30278230402337} - {282.30701306752206, 327.89527753309926} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - FilledArrow - - - - - Bounds - {{13.000000000000004, 284.19566530701593}, {59.80935172478393, 12.561340860678181}} - Class - ShapedGraphic - ID - 49 - Layer - 0 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 pattern data} - VerticalPad - 0 - - - - Bounds - {{336.56419508463085, 327.8952638423242}, {36.171464554143206, 23.858390920443956}} - Class - ShapedGraphic - ID - 47 - Layer - 0 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 c} - - - - Bounds - {{300.39273053048726, 327.8952638423242}, {36.171464554143206, 23.858390920443956}} - Class - ShapedGraphic - ID - 46 - Layer - 0 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 b} - - - - Bounds - {{264.221265976344, 327.8952638423242}, {36.171464554143206, 23.858390920443956}} - Class - ShapedGraphic - ID - 45 - Layer - 0 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 a} - - - - Bounds - {{228.04980142220114, 327.8952638423242}, {36.171464554143206, 23.858390920443956}} - Class - ShapedGraphic - ID - 44 - Layer - 0 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 b} - - - - Bounds - {{191.8783368680578, 327.8952638423242}, {36.171464554143206, 23.858390920443956}} - Class - ShapedGraphic - ID - 43 - Layer - 0 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 y} - - - - Bounds - {{155.70687231391449, 327.8952638423242}, {36.171464554143206, 23.858390920443956}} - Class - ShapedGraphic - ID - 42 - Layer - 0 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 x} - - - - Bounds - {{119.53540775977129, 327.8952638423242}, {36.171464554143206, 23.858390920443956}} - Class - ShapedGraphic - ID - 41 - Layer - 0 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 b} - - - - Bounds - {{83.363943205628104, 327.8952638423242}, {36.171464554143206, 23.858390920443956}} - Class - ShapedGraphic - ID - 40 - Layer - 0 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 a} - - - - Bounds - {{265.48560633757046, 278.54713903251712}, {36.171464554143206, 23.858390920443956}} - Class - ShapedGraphic - ID - 39 - Layer - 0 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 c} - - - - Bounds - {{229.3141417834272, 278.54713903251712}, {36.171464554143206, 23.858390920443956}} - Class - ShapedGraphic - ID - 38 - Layer - 0 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 b} - - - - Bounds - {{193.14267722928395, 278.54713903251712}, {36.171464554143206, 23.858390920443956}} - Class - ShapedGraphic - ID - 37 - Layer - 0 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 a} - - - - Bounds - {{156.97121099753363, 158.94930447166053}, {36.171464554143206, 23.858390920443956}} - Class - ShapedGraphic - ID - 35 - Layer - 0 - Shape - Rectangle - Style - - stroke - - Pattern - 2 - - - - - Bounds - {{120.79974644339035, 158.94930447166053}, {36.171464554143206, 23.858390920443956}} - Class - ShapedGraphic - ID - 34 - Layer - 0 - Shape - Rectangle - Style - - stroke - - Pattern - 2 - - - - - Bounds - {{84.628281889247148, 158.94930447166053}, {36.171464554143206, 23.858390920443956}} - Class - ShapedGraphic - ID - 33 - Layer - 0 - Shape - Rectangle - Style - - stroke - - Pattern - 2 - - - - - Bounds - {{13.000000000000004, 164.59783074615936}, {59.80935172478393, 12.561340860678181}} - Class - ShapedGraphic - ID - 30 - Layer - 0 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 pattern data} - VerticalPad - 0 - - - - Bounds - {{336.56419508463085, 208.2974292814676}, {36.171464554143206, 23.858390920443956}} - Class - ShapedGraphic - ID - 28 - Layer - 0 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 c} - - - - Bounds - {{300.39273053048726, 208.2974292814676}, {36.171464554143206, 23.858390920443956}} - Class - ShapedGraphic - ID - 27 - Layer - 0 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 b} - - - - Bounds - {{264.221265976344, 208.2974292814676}, {36.171464554143206, 23.858390920443956}} - Class - ShapedGraphic - ID - 26 - Layer - 0 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 a} - - - - Bounds - {{228.04980142220114, 208.2974292814676}, {36.171464554143206, 23.858390920443956}} - Class - ShapedGraphic - ID - 25 - Layer - 0 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 b} - - - - Bounds - {{191.8783368680578, 208.2974292814676}, {36.171464554143206, 23.858390920443956}} - Class - ShapedGraphic - ID - 24 - Layer - 0 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 y} - - - - Bounds - {{155.70687231391449, 208.2974292814676}, {36.171464554143206, 23.858390920443956}} - Class - ShapedGraphic - ID - 23 - Layer - 0 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 x} - - - - Bounds - {{119.53540775977129, 208.2974292814676}, {36.171464554143206, 23.858390920443956}} - Class - ShapedGraphic - ID - 22 - Layer - 0 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 b} - - - - Bounds - {{83.363943205628104, 208.2974292814676}, {36.171464554143206, 23.858390920443956}} - Class - ShapedGraphic - ID - 21 - Layer - 0 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 a} - - - - Bounds - {{265.48560633757046, 158.94930447166053}, {36.171464554143206, 23.858390920443956}} - Class - ShapedGraphic - ID - 20 - Layer - 0 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 c} - - - - Bounds - {{229.3141417834272, 158.94930447166053}, {36.171464554143206, 23.858390920443956}} - Class - ShapedGraphic - ID - 19 - Layer - 0 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 b} - - - - Bounds - {{193.14267722928395, 158.94930447166053}, {36.171464554143206, 23.858390920443956}} - Class - ShapedGraphic - ID - 18 - Layer - 0 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 a} - - - - Bounds - {{191.8783368680578, 73.344586574203603}, {36.171464554143206, 16.150295392300524}} - Class - ShapedGraphic - ID - 17 - Layer - 1 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 \'94\'e4\'8a\'72} - VerticalPad - 0 - - - - Class - LineGraphic - Head - - ID - 8 - - ID - 16 - Layer - 1 - Points - - {173.79310548514576, 69.358390905516828} - {173.79409241666082, 93.848124824060051} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - FilledArrow - - - Tail - - ID - 4 - - - - Bounds - {{13.000000000000004, 50.648526274498657}, {59.80935172478393, 12.561340860678181}} - Class - ShapedGraphic - ID - 15 - Layer - 1 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 pattern data} - VerticalPad - 0 - - - - Bounds - {{12.999996774745885, 99.996648595073992}, {59.80935172478393, 12.561340860678181}} - Class - ShapedGraphic - ID - 14 - Layer - 1 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Input data} - VerticalPad - 0 - - - - Bounds - {{336.56419508463085, 94.348124809807118}, {36.171464554143206, 23.858390920443956}} - Class - ShapedGraphic - ID - 13 - Layer - 1 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 c} - - - - Bounds - {{300.39273053048726, 94.348124809807118}, {36.171464554143206, 23.858390920443956}} - Class - ShapedGraphic - ID - 12 - Layer - 1 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 b} - - - - Bounds - {{264.221265976344, 94.348124809807118}, {36.171464554143206, 23.858390920443956}} - Class - ShapedGraphic - ID - 11 - Layer - 1 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 a} - - - - Bounds - {{228.04980142220114, 94.348124809807118}, {36.171464554143206, 23.858390920443956}} - Class - ShapedGraphic - ID - 10 - Layer - 1 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 b} - - - - Bounds - {{191.8783368680578, 94.348124809807118}, {36.171464554143206, 23.858390920443956}} - Class - ShapedGraphic - ID - 9 - Layer - 1 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 y} - - - - Bounds - {{155.70687231391449, 94.348124809807118}, {36.171464554143206, 23.858390920443956}} - Class - ShapedGraphic - ID - 8 - Layer - 1 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 x} - - - - Bounds - {{119.53540775977129, 94.348124809807118}, {36.171464554143206, 23.858390920443956}} - Class - ShapedGraphic - ID - 7 - Layer - 1 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 b} - - - - Bounds - {{83.363943205628104, 94.348124809807118}, {36.171464554143206, 23.858390920443956}} - Class - ShapedGraphic - ID - 6 - Layer - 1 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 a} - - - - Bounds - {{155.70687231391449, 44.999999999999844}, {36.171464554143206, 23.858390920443956}} - Class - ShapedGraphic - ID - 4 - Layer - 1 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 c} - - - - Bounds - {{119.53540775977129, 44.999999999999844}, {36.171464554143206, 23.858390920443956}} - Class - ShapedGraphic - ID - 3 - Layer - 1 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 b} - - - - Bounds - {{83.363943205628104, 44.999999999999844}, {36.171464554143206, 23.858390920443956}} - Class - ShapedGraphic - ID - 1 - Layer - 1 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 a} - - - - GridInfo - - HPages - 1 - KeepToScale - - Layers - - - Lock - NO - Name - レイヤー 2 - Print - YES - View - YES - - - Lock - NO - Name - レイヤー 1 - Print - YES - View - YES - - - LayoutInfo - - Animate - NO - circoMinDist - 18 - circoSeparation - 0.0 - layoutEngine - dot - neatoSeparation - 0.0 - twopiSeparation - 0.0 - - Orientation - 2 - PrintOnePage - - RowAlign - 1 - RowSpacing - 36 - SheetTitle - キャンバス 1 - UniqueID - 1 - VPages - 1 - - - ActiveLayerIndex - 0 - AutoAdjust - - BackgroundGraphic - - Bounds - {{0, 0}, {558.99997329711914, 783}} - Class - SolidGraphic - ID - 2 - Style - - shadow - - Draws - NO - - stroke - - Draws - NO - - - - BaseZoom - 0 - CanvasOrigin - {0, 0} - ColumnAlign - 1 - ColumnSpacing - 36 - DisplayScale - 1 0/72 in = 1.0000 in - GraphicsList - - GridInfo - - HPages - 1 - KeepToScale - - Layers - - - Lock - NO - Name - レイヤー 1 - Print - YES - View - YES - - - LayoutInfo - - Animate - NO - circoMinDist - 18 - circoSeparation - 0.0 - layoutEngine - dot - neatoSeparation - 0.0 - twopiSeparation - 0.0 - - Orientation - 2 - PrintOnePage - - RowAlign - 1 - RowSpacing - 36 - SheetTitle - キャンバス 2 - UniqueID - 2 - VPages - 1 - - - SmartAlignmentGuidesActive - YES - SmartDistanceGuidesActive - YES - UseEntirePage - - WindowInfo - - CurrentSheet - 0 - ExpandedCanvases - - - name - キャンバス 1 - - - Frame - {{211, 102}, {693, 922}} - ListView - - OutlineWidth - 142 - RightSidebar - - ShowRuler - - Sidebar - - SidebarWidth - 120 - VisibleRegion - {{0, 0}, {558, 783}} - Zoom - 1 - ZoomValues - - - キャンバス 1 - 1 - 1 - - - キャンバス 2 - 1 - 1 - - - - - diff -r 43c6da29d688 -r d8f499590d82 2013/May-2013/BM1.jpg Binary file 2013/May-2013/BM1.jpg has changed diff -r 43c6da29d688 -r d8f499590d82 2013/May-2013/BM2.jpg Binary file 2013/May-2013/BM2.jpg has changed diff -r 43c6da29d688 -r d8f499590d82 2013/May-2013/regex001.jpg Binary file 2013/May-2013/regex001.jpg has changed diff -r 43c6da29d688 -r d8f499590d82 2013/May-2013/search_idata.jpg Binary file 2013/May-2013/search_idata.jpg has changed diff -r 43c6da29d688 -r d8f499590d82 2013/May-2013/think.graffle --- a/2013/May-2013/think.graffle Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9157 +0,0 @@ - - - - - ApplicationVersion - - com.omnigroup.OmniGraffle - 139.18.0.187838 - - CreationDate - 2013-05-13 01:49:18 +0000 - Creator - MasaKoha - GraphDocumentVersion - 8 - GuidesLocked - NO - GuidesVisible - YES - ImageCounter - 1 - LinksVisible - NO - MagnetsVisible - NO - MasterSheets - - ModificationDate - 2013-11-04 17:24:43 +0000 - Modifier - MasaKoha - NotesVisible - NO - OriginVisible - NO - PageBreaks - YES - PrintInfo - - NSBottomMargin - - float - 41 - - NSHorizonalPagination - - coded - BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG - - NSLeftMargin - - float - 18 - - NSPaperSize - - size - {595.00000476837158, 842} - - NSPrintReverseOrientation - - int - 0 - - NSRightMargin - - float - 18 - - NSTopMargin - - float - 18 - - - ReadOnly - NO - Sheets - - - ActiveLayerIndex - 0 - AutoAdjust - - BackgroundGraphic - - Bounds - {{0, 0}, {559.00000476837158, 783}} - Class - SolidGraphic - ID - 2 - Style - - shadow - - Draws - NO - - stroke - - Draws - NO - - - - BaseZoom - 0 - CanvasOrigin - {0, 0} - ColumnAlign - 1 - ColumnSpacing - 36 - DisplayScale - 1 0/72 in = 1.0000 in - GraphicsList - - - Bounds - {{166.09734173142019, 274.43551604345066}, {297.03609095092548, 21.718338326666476}} - Class - ShapedGraphic - ID - 60 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 o_data} - VerticalPad - 0 - - - - Bounds - {{418.2559190097079, 239.25452897621827}, {104.34080171503165, 21.718338326666476}} - Class - ShapedGraphic - ID - 59 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 tail_flag} - - - - Bounds - {{313.91511729467618, 239.25452897621827}, {104.34080171503165, 21.718338326666476}} - Class - ShapedGraphic - ID - 58 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 head_flag} - - - - Bounds - {{209.57431557964478, 239.25452897621827}, {104.34080171503165, 21.718338326666476}} - Class - ShapedGraphic - ID - 57 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 line_num} - - - - Bounds - {{105.23351386461309, 239.25452897621827}, {104.34080171503165, 21.718338326666476}} - Class - ShapedGraphic - ID - 56 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 word_num} - - - - Class - LineGraphic - ID - 55 - Points - - {313.64112089094914, 164.69288159732582} - {313.44777602217664, 176.30880144486926} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - - - Class - LineGraphic - ID - 54 - Points - - {459.41429886645676, 164.69288159732616} - {459.22095399768386, 176.30880144486954} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - - - Class - LineGraphic - ID - 47 - Points - - {169.26848444092224, 164.69288325306107} - {169.07513957214948, 176.30880310060439} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - - - Bounds - {{408.45209504496233, 202.27380040687777}, {100.83943254078623, 10.406312931781747}} - Class - ShapedGraphic - ID - 46 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 o_data[2]} - VerticalPad - 0 - - - - Bounds - {{264.19567509634192, 202.27380040687777}, {100.83943254078623, 10.406312931781747}} - Class - ShapedGraphic - ID - 45 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 o_data[1]} - VerticalPad - 0 - - - - Bounds - {{120.63954357040231, 202.57851040506876}, {100.83943254078623, 10.406312931781747}} - Class - ShapedGraphic - ID - 42 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 o_data[0]} - VerticalPad - 0 - - - - Bounds - {{495.57784247233337, 183.33560301713945}, {35.422184563871042, 10.406312931781747}} - Class - ShapedGraphic - ID - 41 - Shape - Rectangle - - - Bounds - {{460.15565790846222, 183.33560301713945}, {35.422184563871042, 10.406312931781747}} - Class - ShapedGraphic - ID - 40 - Shape - Rectangle - - - Bounds - {{424.73347334459083, 183.33560301713945}, {35.422184563871042, 10.406312931781747}} - Class - ShapedGraphic - ID - 39 - Shape - Rectangle - - - Bounds - {{389.31128878071991, 183.33560301713945}, {35.422184563871042, 10.406312931781747}} - Class - ShapedGraphic - ID - 38 - Shape - Rectangle - - - Bounds - {{350.03757744026279, 183.33560301713945}, {35.422184563871042, 10.406312931781747}} - Class - ShapedGraphic - ID - 37 - Shape - Rectangle - - - Bounds - {{314.61539754593497, 183.33560301713945}, {35.422184563871042, 10.406312931781747}} - Class - ShapedGraphic - ID - 36 - Shape - Rectangle - - - Bounds - {{279.19320831252054, 183.33560301713945}, {35.422184563871042, 10.406312931781747}} - Class - ShapedGraphic - ID - 35 - Shape - Rectangle - - - Bounds - {{243.77102374864933, 183.33560301713945}, {35.422184563871042, 10.406312931781747}} - Class - ShapedGraphic - ID - 34 - Shape - Rectangle - - - Bounds - {{204.4973241360205, 183.33560301713945}, {35.422184563871042, 10.406312931781747}} - Class - ShapedGraphic - ID - 32 - Shape - Rectangle - - - Bounds - {{169.07513957214945, 183.33560301713945}, {35.422184563871042, 10.406312931781747}} - Class - ShapedGraphic - ID - 31 - Shape - Rectangle - - - Bounds - {{133.65295500827841, 183.33560301713945}, {35.422184563871042, 10.406312931781747}} - Class - ShapedGraphic - ID - 30 - Shape - Rectangle - - - Bounds - {{98.230770444407312, 183.33560301713945}, {35.422184563871042, 10.406312931781747}} - Class - ShapedGraphic - ID - 29 - Shape - Rectangle - - - Bounds - {{408.45208027474257, 54.000000000000043}, {100.83943254078623, 10.406312931781747}} - Class - ShapedGraphic - ID - 27 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 i_data[2]} - VerticalPad - 0 - - - - Bounds - {{263.49539599736249, 54.000000000000043}, {100.83943254078623, 10.406312931781747}} - Class - ShapedGraphic - ID - 26 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 i_data[1]} - VerticalPad - 0 - - - - Bounds - {{120.63953323124863, 54.000000000000043}, {100.83943254078623, 10.406312931781747}} - Class - ShapedGraphic - ID - 24 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 i_data[0]} - VerticalPad - 0 - - - - Class - LineGraphic - Head - - ID - 5 - - ID - 23 - Points - - {458.7083443929946, 91.66536868829678} - {458.33496289011765, 123.37099289480994} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - Tail - - ID - 18 - - - - Class - LineGraphic - Head - - ID - 3 - - ID - 22 - Points - - {314.45192841921607, 91.66536862908039} - {314.07853427364222, 123.37099289478044} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - Tail - - ID - 17 - - - - Class - LineGraphic - Head - - ID - 1 - - ID - 21 - Points - - {170.19551244480397, 91.665368629080149} - {169.8221056573754, 123.37099289476522} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - Tail - - ID - 19 - - - - Bounds - {{98.230770444407369, 64.40631293178177}, {144.25641044029123, 26.75909039601024}} - Class - ShapedGraphic - ID - 19 - Shape - Rectangle - - - Bounds - {{386.74359132499018, 64.40631293178177}, {144.25641044029123, 26.75909039601024}} - Class - ShapedGraphic - ID - 18 - Shape - Rectangle - - - Bounds - {{242.4871808846986, 64.40631293178177}, {144.25641044029123, 26.75909039601024}} - Class - ShapedGraphic - ID - 17 - Shape - Rectangle - - - Bounds - {{407.75180643765373, 153.60328091848223}, {100.83943254078623, 10.406312931781747}} - Class - ShapedGraphic - ID - 9 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 task2} - VerticalPad - 0 - - - - Bounds - {{263.49539599736249, 153.60328091848223}, {100.83943254078623, 10.406312931781747}} - Class - ShapedGraphic - ID - 8 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 task1} - VerticalPad - 0 - - - - Bounds - {{119.23898555707092, 153.60328091848223}, {100.83943254078623, 10.406312931781747}} - Class - ShapedGraphic - ID - 7 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 task0} - VerticalPad - 0 - - - - Bounds - {{393.74632969587793, 123.87095825624895}, {128.85038602433804, 26.75909039601024}} - Class - ShapedGraphic - ID - 5 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Exec.cc} - - - - Bounds - {{249.48991925558653, 123.87095825624895}, {128.85038602433804, 26.75909039601024}} - Class - ShapedGraphic - ID - 3 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Exec.cc} - - - - Bounds - {{105.23350881529501, 123.87095825624895}, {128.85038602433804, 26.75909039601024}} - Class - ShapedGraphic - ID - 1 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Exec.cc} - - - - GridInfo - - HPages - 1 - KeepToScale - - Layers - - - Lock - NO - Name - レイヤー 1 - Print - YES - View - YES - - - LayoutInfo - - Animate - NO - circoMinDist - 18 - circoSeparation - 0.0 - layoutEngine - dot - neatoSeparation - 0.0 - twopiSeparation - 0.0 - - Orientation - 2 - PrintOnePage - - RowAlign - 1 - RowSpacing - 36 - SheetTitle - キャンバス 1 - UniqueID - 1 - VPages - 1 - - - ActiveLayerIndex - 0 - AutoAdjust - - BackgroundGraphic - - Bounds - {{0, 0}, {559.00000476837158, 783}} - Class - SolidGraphic - ID - 2 - Style - - shadow - - Draws - NO - - stroke - - Draws - NO - - - - BaseZoom - 0 - CanvasOrigin - {0, 0} - ColumnAlign - 1 - ColumnSpacing - 36 - DisplayScale - 1 0/72 in = 1.0000 in - GraphicsList - - - Bounds - {{91.777211387877031, 45.4982387852804}, {75.851677611962046, 14}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 79 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 File Mapping} - VerticalPad - 0 - - - - Class - LineGraphic - Head - - ID - 19 - - ID - 78 - Points - - {193.21365817272388, 61.47461348283251} - {167.62888113639107, 67.391304580686068} - {167.62888113639107, 95.652174243554427} - {183.52133405681661, 96.83472520571425} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - LineType - 1 - TailArrow - 0 - - - Tail - - ID - 76 - - - - Bounds - {{188.29796223038517, 41.537072501395862}, {87.462154268907966, 21.922326694922866}} - Class - ShapedGraphic - ID - 76 - Shape - RoundRect - Style - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 CPU} - - - - Bounds - {{204.3198281445209, 217.4530568936639}, {55.418429259239048, 11.323785466517156}} - Class - ShapedGraphic - ID - 75 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 16Byte} - VerticalPad - 0 - - - - Class - LineGraphic - ID - 74 - Points - - {183.54460075795888, 202.21012878417969} - {207.91652147262673, 209.82965319273984} - {253.43880264985867, 209.82965347627282} - {280.74845103595646, 202.79624604637672} - - Style - - stroke - - HeadArrow - 0 - Legacy - - LineType - 1 - Pattern - 1 - TailArrow - 0 - - - - - Bounds - {{399.37244049956104, 65.522933703317875}, {56.737915670173273, 11.323785466517156}} - Class - ShapedGraphic - ID - 73 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 16KByte} - VerticalPad - 0 - - - - Class - LineGraphic - ID - 35 - Points - - {380.57483778409625, 89.553741455078125} - {403.33089973236378, 82.520334308714951} - {450.17266732052991, 81.934217046518} - {477.06294938330444, 88.967624192881175} - - Style - - stroke - - HeadArrow - 0 - Legacy - - LineType - 1 - Pattern - 1 - TailArrow - 0 - - - - - Bounds - {{91.777203524429027, 228.30447137551886}, {75.851677611962046, 11.323785466517156}} - Class - ShapedGraphic - ID - 72 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Run Print Task} - VerticalPad - 0 - - - - Class - LineGraphic - Head - - ID - 68 - - ID - 71 - Points - - {427.97822455352735, 202.21013235807101} - {363.97709264777836, 223.04403212131712} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - - - Class - LineGraphic - Head - - ID - 68 - - ID - 70 - Points - - {232.13906526576829, 202.21013341164047} - {296.70643130093998, 223.07209770100303} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - - - Class - LineGraphic - ID - 69 - Points - - {330.00716184465017, 202.21013146972172} - {329.86675537808281, 223.54259064430931} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - - - Bounds - {{286.69291171083654, 223.00520687244222}, {87.462154268907966, 21.922326694922866}} - Class - ShapedGraphic - ID - 68 - Shape - RoundRect - Style - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 CPU} - - - - Bounds - {{183.5445970072681, 180.28780956948412}, {97.919585757581501, 21.922326694922866}} - Class - ShapedGraphic - ID - 67 - Shape - Rectangle - - - Bounds - {{379.38376852243135, 180.28780956948412}, {97.919585757581501, 21.922326694922866}} - Class - ShapedGraphic - ID - 66 - Shape - Rectangle - - - Bounds - {{281.46418276484945, 180.28780956948412}, {97.919585757581501, 21.922326694922866}} - Class - ShapedGraphic - ID - 65 - Shape - Rectangle - - - Bounds - {{98.187616281414165, 185.58708660010518}, {63.030852954947619, 11.323785466517156}} - Class - ShapedGraphic - ID - 64 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Output Data} - VerticalPad - 0 - - - - Bounds - {{81.221309312999878, 137.57041188280772}, {96.963460186910254, 22.647570933034313}} - Class - ShapedGraphic - ID - 63 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Run word_count Tasks} - VerticalPad - 0 - - - - Bounds - {{85.971957670336863, 94.853012244994673}, {87.462154268907966, 11.323785466517156}} - Class - ShapedGraphic - ID - 62 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Input Data} - VerticalPad - 0 - - - - Class - LineGraphic - ID - 55 - Points - - {330.24655140658194, 159.99272904662695} - {330.1067739987156, 181.22961307154088} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - Tail - - ID - 3 - - - - Class - LineGraphic - ID - 54 - Points - - {428.52701130786636, 159.99258488202554} - {429.05592404592272, 181.22961307154088} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - Tail - - ID - 5 - - - - Class - LineGraphic - ID - 47 - Points - - {232.29931260136789, 159.99271968946627} - {232.10829536772334, 181.22961442799834} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - Tail - - ID - 1 - - - - Class - LineGraphic - Head - - ID - 5 - - ID - 23 - Points - - {428.6811125722636, 111.97603294336717} - {428.37937986561576, 137.07044932298433} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - Tail - - ID - 18 - - - - Class - LineGraphic - Head - - ID - 3 - - ID - 22 - Points - - {330.76152681468193, 111.97603294336717} - {330.45979410803375, 137.07044932298433} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - Tail - - ID - 17 - - - - Class - LineGraphic - Head - - ID - 1 - - ID - 21 - Points - - {232.84194105710063, 111.97603294336717} - {232.5402083504527, 137.07044932298433} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - Tail - - ID - 19 - - - - Bounds - {{184.0199556047082, 89.553742372866907}, {97.919585757581501, 21.922326694922866}} - Class - ShapedGraphic - ID - 19 - Shape - Rectangle - - - Bounds - {{379.85912711987118, 89.553742372866907}, {97.919585757581501, 21.922326694922866}} - Class - ShapedGraphic - ID - 18 - Shape - Rectangle - - - Bounds - {{281.93954136228962, 89.553742372866907}, {97.919585757581501, 21.922326694922866}} - Class - ShapedGraphic - ID - 17 - Shape - Rectangle - - - Bounds - {{384.51049530476342, 137.57041319856171}, {87.462154268907966, 21.922326694922866}} - Class - ShapedGraphic - ID - 5 - Shape - RoundRect - Style - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 CPU} - - - - Bounds - {{286.5909095471813, 137.57041319856171}, {87.462154268907966, 21.922326694922866}} - Class - ShapedGraphic - ID - 3 - Shape - RoundRect - Style - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 CPU} - - - - Bounds - {{188.67132378960039, 137.57041319856171}, {87.462154268907966, 21.922326694922866}} - Class - ShapedGraphic - ID - 1 - Shape - RoundRect - Style - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 CPU} - - - - GridInfo - - HPages - 1 - KeepToScale - - Layers - - - Lock - NO - Name - レイヤー 1 - Print - YES - View - YES - - - LayoutInfo - - Animate - NO - circoMinDist - 18 - circoSeparation - 0.0 - layoutEngine - dot - neatoSeparation - 0.0 - twopiSeparation - 0.0 - - Orientation - 2 - PrintOnePage - - RowAlign - 1 - RowSpacing - 36 - SheetTitle - キャンバス 4 - UniqueID - 4 - VPages - 1 - - - ActiveLayerIndex - 0 - AutoAdjust - - BackgroundGraphic - - Bounds - {{0, 0}, {559.00000476837158, 783}} - Class - SolidGraphic - ID - 2 - Style - - shadow - - Draws - NO - - stroke - - Draws - NO - - - - BaseZoom - 0 - CanvasOrigin - {0, 0} - ColumnAlign - 1 - ColumnSpacing - 36 - DisplayScale - 1 0/72 in = 1.0000 in - GraphicsList - - - Class - LineGraphic - Head - - ID - 66 - - ID - 93 - Points - - {383.14307950771399, 187.50289916992188} - {383.28467165246735, 210.86679652191623} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - - - Class - LineGraphic - Head - - ID - 65 - - ID - 92 - Points - - {285.22427518036216, 187.50289960437431} - {285.36534306743778, 210.86679645109558} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - - - Class - LineGraphic - Head - - ID - 67 - - ID - 91 - Points - - {187.30554506832922, 187.50290008323137} - {187.44603890708765, 210.86679638120521} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - - - Bounds - {{35.756523312803239, 165.58057800267733}, {96.963460186910254, 22.647570933034313}} - Class - ShapedGraphic - ID - 90 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Run Regex Tasks} - VerticalPad - 0 - - - - Bounds - {{339.0457093045668, 165.58057931843132}, {87.462154268907966, 21.922326694922866}} - Class - ShapedGraphic - ID - 89 - Shape - RoundRect - Style - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 CPU} - - - - Bounds - {{241.1261235469847, 165.58057931843132}, {87.462154268907966, 21.922326694922866}} - Class - ShapedGraphic - ID - 88 - Shape - RoundRect - Style - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 CPU} - - - - Bounds - {{143.20653778940385, 165.58057931843132}, {87.462154268907966, 21.922326694922866}} - Class - ShapedGraphic - ID - 87 - Shape - RoundRect - Style - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 CPU} - - - - Bounds - {{40.507169061707678, 125.09363733549502}, {87.462154268907966, 11.323785466517156}} - Class - ShapedGraphic - ID - 86 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Input Data} - VerticalPad - 0 - - - - Class - LineGraphic - Head - - ID - 89 - - ID - 85 - Points - - {383.20959208751145, 142.21665438222391} - {382.92124849836671, 165.08061905177851} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - Tail - - ID - 81 - - - - Class - LineGraphic - Head - - ID - 88 - - ID - 84 - Points - - {285.29001604245963, 142.21665442305562} - {285.00169183051389, 165.08061905271219} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - Tail - - ID - 80 - - - - Class - LineGraphic - Head - - ID - 87 - - ID - 83 - Points - - {187.37044092040705, 142.21665442307602} - {187.08213792542355, 165.08061905366492} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - Tail - - ID - 82 - - - - Bounds - {{138.55516699607907, 119.79436746336725}, {97.919585757581501, 21.922326694922866}} - Class - ShapedGraphic - ID - 82 - Shape - Rectangle - - - Bounds - {{334.39433851124193, 119.79436746336725}, {97.919585757581501, 21.922326694922866}} - Class - ShapedGraphic - ID - 81 - Shape - Rectangle - - - Bounds - {{236.47475275366054, 119.79436746336725}, {97.919585757581501, 21.922326694922866}} - Class - ShapedGraphic - ID - 80 - Shape - Rectangle - - - Bounds - {{46.787771767849165, 259.38344914461209}, {75.851677611962046, 11.323785466517156}} - Class - ShapedGraphic - ID - 72 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Run Print Task} - VerticalPad - 0 - - - - Class - LineGraphic - Head - - ID - 68 - - ID - 71 - Points - - {382.98879279694745, 233.28911012716421} - {318.98766089119852, 254.12300989041029} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - - - Class - LineGraphic - Head - - ID - 68 - - ID - 70 - Points - - {187.14963350918845, 233.28911118073367} - {251.71699954436031, 254.15107547009626} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - - - Class - LineGraphic - ID - 69 - Points - - {285.01773008807027, 233.28910923881492} - {284.87732362150291, 254.62156841340249} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - - - Bounds - {{241.70347995425669, 254.08418464153539}, {87.462154268907966, 21.922326694922866}} - Class - ShapedGraphic - ID - 68 - Shape - RoundRect - Style - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 CPU} - - - - Bounds - {{138.55516525068828, 211.36678733857732}, {97.919585757581501, 21.922326694922866}} - Class - ShapedGraphic - ID - 67 - Shape - Rectangle - - - Bounds - {{334.39433676585145, 211.36678733857732}, {97.919585757581501, 21.922326694922866}} - Class - ShapedGraphic - ID - 66 - Shape - Rectangle - - - Bounds - {{236.47475100826964, 211.36678733857732}, {97.919585757581501, 21.922326694922866}} - Class - ShapedGraphic - ID - 65 - Shape - Rectangle - - - Bounds - {{53.198184524834303, 216.66606436919838}, {63.030852954947619, 11.323785466517156}} - Class - ShapedGraphic - ID - 64 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Output Data} - VerticalPad - 0 - - - - Bounds - {{35.756522913285586, 76.135163494270586}, {96.963460186910254, 22.647570933034313}} - Class - ShapedGraphic - ID - 63 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Run Read Tasks} - VerticalPad - 0 - - - - Class - LineGraphic - ID - 55 - Points - - {284.7817650068676, 98.557480658089872} - {284.64198759900114, 119.79436468300386} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - Tail - - ID - 3 - - - - Class - LineGraphic - ID - 54 - Points - - {383.0622249081519, 98.557336493488449} - {383.59113764620827, 119.79436468300386} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - Tail - - ID - 5 - - - - Class - LineGraphic - ID - 47 - Points - - {186.83452620165366, 98.557471300929166} - {186.64350896800912, 119.79436603946132} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - Tail - - ID - 1 - - - - Bounds - {{339.04570890504897, 76.135164810024577}, {87.462154268907966, 21.922326694922866}} - Class - ShapedGraphic - ID - 5 - Shape - RoundRect - Style - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 CPU} - - - - Bounds - {{241.12612314746704, 76.135164810024577}, {87.462154268907966, 21.922326694922866}} - Class - ShapedGraphic - ID - 3 - Shape - RoundRect - Style - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 CPU} - - - - Bounds - {{143.20653738988617, 76.135164810024577}, {87.462154268907966, 21.922326694922866}} - Class - ShapedGraphic - ID - 1 - Shape - RoundRect - Style - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 CPU} - - - - GridInfo - - HPages - 1 - KeepToScale - - Layers - - - Lock - NO - Name - レイヤー 1 - Print - YES - View - YES - - - LayoutInfo - - Animate - NO - circoMinDist - 18 - circoSeparation - 0.0 - layoutEngine - dot - neatoSeparation - 0.0 - twopiSeparation - 0.0 - - Orientation - 2 - PrintOnePage - - RowAlign - 1 - RowSpacing - 36 - SheetTitle - キャンバス 5 - UniqueID - 5 - VPages - 1 - - - ActiveLayerIndex - 0 - AutoAdjust - - BackgroundGraphic - - Bounds - {{0, 0}, {559.00000476837158, 783}} - Class - SolidGraphic - ID - 2 - Style - - shadow - - Draws - NO - - stroke - - Draws - NO - - - - BaseZoom - 0 - CanvasOrigin - {0, 0} - ColumnAlign - 1 - ColumnSpacing - 36 - DisplayScale - 1 0/72 in = 1.0000 in - GraphicsList - - - Bounds - {{334.39130494107997, 156.60871119983503}, {49.275362489103792, 18}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 89 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} - VerticalPad - 0 - - - - Bounds - {{334.26084897031581, 195.56522448919725}, {49.275362489103792, 18}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 88 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} - VerticalPad - 0 - - - - Bounds - {{334.26084442447291, 114.89855854958299}, {49.275362489103792, 18}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 87 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} - VerticalPad - 0 - - - - Bounds - {{334.2608444593975, 84.23188608069907}, {49.275362489103792, 18}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 86 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} - VerticalPad - 0 - - - - Bounds - {{334.26087017367945, 55.565213664202048}, {49.275362489103792, 18}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 85 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} - VerticalPad - 0 - - - - Bounds - {{397.30432570771831, 138.60871369358296}, {21.739131927490234, 54}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 84 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} - VerticalPad - 0 - - - - Bounds - {{432.55072162820414, 52.608687533630622}, {49.275362489103792, 23.913043975830078}} - Class - ShapedGraphic - ID - 60 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Print} - - - - Bounds - {{383.53625660737328, 192.60868467146548}, {49.275362489103792, 23.913043975830078}} - Class - ShapedGraphic - ID - 59 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 \uc0\u966 } - - - - Bounds - {{383.53622994821075, 81.275359974491167}, {49.275362489103792, 23.913043975830078}} - Class - ShapedGraphic - ID - 57 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 \uc0\u966 } - - - - Bounds - {{383.53622994821075, 52.608686852364372}, {49.275362489103792, 23.913043975830078}} - Class - ShapedGraphic - ID - 56 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Task} - - - - Bounds - {{383.53622994821075, 109.94203485811569}, {49.275362489103792, 23.913043975830078}} - Class - ShapedGraphic - ID - 55 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Task} - - - - Bounds - {{285.24638086108246, 192.6086853884571}, {49.275362489103792, 23.913043975830078}} - Class - ShapedGraphic - ID - 54 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Task} - - - - Bounds - {{299.01449806801548, 136.23188016739817}, {21.739131927490234, 54}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 53 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} - VerticalPad - 0 - - - - Bounds - {{285.24637670575191, 109.94203121298645}, {49.275362489103792, 23.913043975830078}} - Class - ShapedGraphic - ID - 52 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Task} - - - - Bounds - {{285.24637734550072, 52.608682985280268}, {49.275362489103792, 23.913043975830078}} - Class - ShapedGraphic - ID - 51 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Task} - - - - Bounds - {{285.24638086108223, 81.275358609459147}, {49.275362489103792, 23.913043975830078}} - Class - ShapedGraphic - ID - 50 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Task} - - - - Bounds - {{235.97102011391181, 192.60869094018645}, {49.275362489103792, 23.913043975830078}} - Class - ShapedGraphic - ID - 49 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Task} - - - - Bounds - {{249.73913732084486, 136.23188571912755}, {21.739131927490234, 54}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 48 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} - VerticalPad - 0 - - - - Bounds - {{235.97101595858126, 109.94203676471582}, {49.275362489103792, 23.913043975830078}} - Class - ShapedGraphic - ID - 47 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Task} - - - - Bounds - {{235.97101659833007, 52.608688537009655}, {49.275362489103792, 23.913043975830078}} - Class - ShapedGraphic - ID - 46 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Task} - - - - Bounds - {{235.97102011391155, 81.275364161188506}, {49.275362489103792, 23.913043975830078}} - Class - ShapedGraphic - ID - 45 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Task} - - - - Bounds - {{90.985939025878906, 52.608685112079655}, {143.38906860351562, 23.913043975830078}} - Class - ShapedGraphic - ID - 1 - Shape - Rectangle - Style - - stroke - - GapRatio - 0.5 - Width - 4 - - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 mmap} - - - - Bounds - {{36.23188297689962, 136.23188743869747}, {21.739131927490234, 54}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 44 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} - VerticalPad - 0 - - - - Bounds - {{22.463768193562018, 114.89855202614974}, {49.275362489103792, 14}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 43 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 CPU 2} - VerticalPad - 0 - - - - Bounds - {{22.463767386814681, 197.56521606445312}, {49.275362489103792, 14}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 42 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 CPU n} - VerticalPad - 0 - - - - Bounds - {{22.463768291513439, 86.231881494908663}, {49.275362489103792, 14}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 41 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 CPU 1} - VerticalPad - 0 - - - - Bounds - {{22.463764981997166, 57.565211909629944}, {49.275362489103792, 14}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 40 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 CPU 0} - VerticalPad - 0 - - - - Bounds - {{507.03126133303186, 30.130432522750308}, {26.086956611878463, 14}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 39 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 time} - VerticalPad - 0 - - - - Class - LineGraphic - ID - 38 - Points - - {88.144922561040545, 36.630433711552804} - {507.03126133303186, 36.630433711552804} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - - - GridInfo - - HPages - 1 - KeepToScale - - Layers - - - Lock - NO - Name - レイヤー 1 - Print - YES - View - YES - - - LayoutInfo - - Animate - NO - circoMinDist - 18 - circoSeparation - 0.0 - layoutEngine - dot - neatoSeparation - 0.0 - twopiSeparation - 0.0 - - Orientation - 2 - PrintOnePage - - RowAlign - 1 - RowSpacing - 36 - SheetTitle - キャンバス 6 - UniqueID - 6 - VPages - 1 - - - ActiveLayerIndex - 0 - AutoAdjust - - BackgroundGraphic - - Bounds - {{0, 0}, {559.00000476837158, 783}} - Class - SolidGraphic - ID - 2 - Style - - shadow - - Draws - NO - - stroke - - Draws - NO - - - - BaseZoom - 0 - CanvasOrigin - {0, 0} - ColumnAlign - 1 - ColumnSpacing - 36 - DisplayScale - 1 0/72 in = 1.0000 in - GraphicsList - - - Bounds - {{202.72800957201989, 71.6970157059841}, {49.275362489103792, 23.913043975830078}} - Class - ShapedGraphic - ID - 95 - Shape - Rectangle - Style - - stroke - - GapRatio - 0.5 - Width - 4 - - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 read} - - - - Bounds - {{202.46713784127704, 211.69702097911502}, {49.275362489103792, 23.913043975830078}} - Class - ShapedGraphic - ID - 94 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Task} - - - - Bounds - {{216.23525504821006, 155.32021575805612}, {21.739131927490234, 54}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 93 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} - VerticalPad - 0 - - - - Bounds - {{202.46713368594649, 129.0303668036444}, {49.275362489103792, 23.913043975830078}} - Class - ShapedGraphic - ID - 92 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Task} - - - - Bounds - {{202.46713784127675, 100.3636942001171}, {49.275362489103792, 23.913043975830078}} - Class - ShapedGraphic - ID - 91 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Task} - - - - Bounds - {{153.45266360579996, 71.6970157059841}, {49.275362489103792, 23.913043975830078}} - Class - ShapedGraphic - ID - 90 - Shape - Rectangle - Style - - stroke - - GapRatio - 0.5 - Width - 4 - - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 read} - - - - Bounds - {{300.88742091110942, 175.69704118637671}, {49.275362489103792, 18}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 89 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} - VerticalPad - 0 - - - - Bounds - {{300.75696494034526, 214.65355447573893}, {49.275362489103792, 18}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 88 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} - VerticalPad - 0 - - - - Bounds - {{300.75696039450236, 133.98688853612467}, {49.275362489103792, 18}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 87 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} - VerticalPad - 0 - - - - Bounds - {{300.75696042942695, 103.32021606724076}, {49.275362489103792, 18}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 86 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} - VerticalPad - 0 - - - - Bounds - {{300.7569861437089, 74.653543650743742}, {49.275362489103792, 18}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 85 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} - VerticalPad - 0 - - - - Bounds - {{363.8004416777477, 157.69704368012464}, {21.739131927490234, 54}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 84 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} - VerticalPad - 0 - - - - Bounds - {{399.04683759823354, 71.697017520172309}, {49.275362489103792, 23.913043975830078}} - Class - ShapedGraphic - ID - 60 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Print} - - - - Bounds - {{350.03237257740273, 211.69701465800716}, {49.275362489103792, 23.913043975830078}} - Class - ShapedGraphic - ID - 59 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 \uc0\u966 } - - - - Bounds - {{350.03234591824014, 71.697016838906066}, {49.275362489103792, 23.913043975830078}} - Class - ShapedGraphic - ID - 56 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Task} - - - - Bounds - {{350.03234591824014, 129.03036484465736}, {49.275362489103792, 23.913043975830078}} - Class - ShapedGraphic - ID - 55 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Task} - - - - Bounds - {{251.74249683111179, 211.69701537499878}, {49.275362489103792, 23.913043975830078}} - Class - ShapedGraphic - ID - 54 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Task} - - - - Bounds - {{265.51061403804499, 155.32021015393985}, {21.739131927490234, 54}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 53 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} - VerticalPad - 0 - - - - Bounds - {{251.74249267578125, 129.03036119952813}, {49.275362489103792, 23.913043975830078}} - Class - ShapedGraphic - ID - 52 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Task} - - - - Bounds - {{251.74249331553006, 71.697012971821962}, {49.275362489103792, 23.913043975830078}} - Class - ShapedGraphic - ID - 51 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Task} - - - - Bounds - {{251.74249683111151, 100.36368859600084}, {49.275362489103792, 23.913043975830078}} - Class - ShapedGraphic - ID - 50 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Task} - - - - Bounds - {{153.19179187505711, 211.69702097911502}, {49.275362489103792, 23.913043975830078}} - Class - ShapedGraphic - ID - 49 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Task} - - - - Bounds - {{166.95990908199013, 155.32021575805612}, {21.739131927490234, 54}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 48 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} - VerticalPad - 0 - - - - Bounds - {{153.19178771972656, 129.0303668036444}, {49.275362489103792, 23.913043975830078}} - Class - ShapedGraphic - ID - 47 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Task} - - - - Bounds - {{350.03232141560886, 100.36368327572926}, {49.275362489103792, 23.913043975830078}} - Class - ShapedGraphic - ID - 46 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Task} - - - - Bounds - {{153.19179187505682, 100.3636942001171}, {49.275362489103792, 23.913043975830078}} - Class - ShapedGraphic - ID - 45 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Task} - - - - Bounds - {{103.91641958445335, 71.697011318848681}, {49.275362489103792, 23.913043975830078}} - Class - ShapedGraphic - ID - 1 - Shape - Rectangle - Style - - stroke - - GapRatio - 0.5 - Width - 4 - - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 read} - - - - Bounds - {{52.003381296893394, 155.32020601607195}, {21.739131927490234, 54}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 44 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} - VerticalPad - 0 - - - - Bounds - {{38.2352665135558, 133.98687060352424}, {49.275362489103792, 14}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 43 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 CPU 2} - VerticalPad - 0 - - - - Bounds - {{38.235265706808462, 216.6535346418276}, {49.275362489103792, 14}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 42 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 CPU n} - VerticalPad - 0 - - - - Bounds - {{38.235266611507228, 105.32020007228316}, {49.275362489103792, 14}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 41 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 CPU 1} - VerticalPad - 0 - - - - Bounds - {{38.235263301990955, 76.653530487004431}, {49.275362489103792, 14}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 40 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 CPU 0} - VerticalPad - 0 - - - - Bounds - {{467.1875104424546, 49.21875496720898}, {26.086956611878463, 14}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 39 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 time} - VerticalPad - 0 - - - - Class - LineGraphic - ID - 38 - Points - - {103.9164208810343, 55.718752288927313} - {467.1875104424546, 55.718752288927313} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - - - GridInfo - - HPages - 1 - KeepToScale - - Layers - - - Lock - NO - Name - レイヤー 1 - Print - YES - View - YES - - - LayoutInfo - - Animate - NO - circoMinDist - 18 - circoSeparation - 0.0 - layoutEngine - dot - neatoSeparation - 0.0 - twopiSeparation - 0.0 - - Orientation - 2 - PrintOnePage - - RowAlign - 1 - RowSpacing - 36 - SheetTitle - キャンバス 7 - UniqueID - 7 - VPages - 1 - - - ActiveLayerIndex - 0 - AutoAdjust - - BackgroundGraphic - - Bounds - {{0, 0}, {559.00000476837158, 783}} - Class - SolidGraphic - ID - 2 - Style - - shadow - - Draws - NO - - stroke - - Draws - NO - - - - BaseZoom - 0 - CanvasOrigin - {0, 0} - ColumnAlign - 1 - ColumnSpacing - 36 - DisplayScale - 1 0/72 in = 1.0000 in - GraphicsList - - - Class - LineGraphic - ID - 64 - Points - - {49.653008513727684, 91.497634887695312} - {461.20685160676669, 133.6538510562402} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - Pattern - 1 - TailArrow - 0 - - - - - Class - LineGraphic - ID - 63 - Points - - {49.653018865890594, 93.809780484825737} - {305.25079808451972, 133.6538510562402} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - Pattern - 1 - TailArrow - 0 - - - - - Class - LineGraphic - Head - - ID - 1 - - ID - 62 - Points - - {47.903417325849574, 91.497634887695312} - {120.94606067102637, 139.08953779497651} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - Pattern - 1 - TailArrow - 0 - - - - - Bounds - {{20.999968723432573, 52.335470017596833}, {54, 39.162162780761719}} - Class - ShapedGraphic - ID - 61 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 search word} - - - - Bounds - {{147.6073101951589, 359.71503558963059}, {317.7853233477901, 31.784977547982319}} - Class - ShapedGraphic - ID - 60 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 o_data} - VerticalPad - 0 - - - - Bounds - {{212.95097580314038, 307.33545472841536}, {187.09803771972656, 31.784977547982319}} - Class - ShapedGraphic - ID - 56 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 match_line_head_addr} - - - - Class - LineGraphic - ID - 55 - Points - - {305.45764891346744, 199.10573300575697} - {305.25079808451972, 216.10573300575697} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - - - Class - LineGraphic - ID - 54 - Points - - {461.41370243571453, 199.10573300575737} - {461.20685160676669, 216.10573300575732} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - - - Class - LineGraphic - ID - 47 - Points - - {150.99997069003328, 199.10573542893991} - {150.79311986108556, 216.10573542893991} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - - - Bounds - {{406.89157225253325, 254.10573542893991}, {107.8834951456311, 15.229729729729716}} - Class - ShapedGraphic - ID - 46 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 o_data[2]} - VerticalPad - 0 - - - - Bounds - {{252.5582287466739, 254.10573542893991}, {107.8834951456311, 15.229729729729716}} - Class - ShapedGraphic - ID - 45 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 o_data[1]} - VerticalPad - 0 - - - - Bounds - {{98.974091783783237, 254.551681168686}, {107.8834951456311, 15.229729729729716}} - Class - ShapedGraphic - ID - 42 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 o_data[0]} - VerticalPad - 0 - - - - Bounds - {{500.10342314071136, 226.38951838792428}, {37.89657458552611, 15.229729729729716}} - Class - ShapedGraphic - ID - 41 - Shape - Rectangle - - - Bounds - {{462.20684855518527, 226.38951838792428}, {37.89657458552611, 15.229729729729716}} - Class - ShapedGraphic - ID - 40 - Shape - Rectangle - - - Bounds - {{424.31027396965919, 226.38951838792428}, {37.89657458552611, 15.229729729729716}} - Class - ShapedGraphic - ID - 39 - Shape - Rectangle - - - Bounds - {{386.413699384133, 226.38951838792428}, {37.89657458552611, 15.229729729729716}} - Class - ShapedGraphic - ID - 38 - Shape - Rectangle - - - Bounds - {{306.49998702496987, 227.49086828767901}, {37.89657458552611, 15.229729729729716}} - Class - ShapedGraphic - ID - 37 - Shape - Rectangle - - - Bounds - {{268.60341743517461, 227.49086828767901}, {37.89657458552611, 15.229729729729716}} - Class - ShapedGraphic - ID - 36 - Shape - Rectangle - - - Bounds - {{170.24140919339075, 226.38951248389023}, {37.89657458552611, 15.229729729729716}} - Class - ShapedGraphic - ID - 31 - Shape - Rectangle - - - Bounds - {{132.34483460786467, 226.38951248389023}, {37.89657458552611, 15.229729729729716}} - Class - ShapedGraphic - ID - 30 - Shape - Rectangle - - - Bounds - {{94.448260022338573, 226.38951248389023}, {37.89657458552611, 15.229729729729716}} - Class - ShapedGraphic - ID - 29 - Shape - Rectangle - - - Bounds - {{404.00697302107903, 37.105735428939965}, {107.8834951456311, 15.229729729729716}} - Class - ShapedGraphic - ID - 27 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 i_data[2]} - VerticalPad - 0 - - - - Bounds - {{248.92444874923459, 37.105735428939965}, {107.8834951456311, 15.229729729729716}} - Class - ShapedGraphic - ID - 26 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 i_data[1]} - VerticalPad - 0 - - - - Bounds - {{96.089497292923582, 37.105735428939965}, {107.8834951456311, 15.229729729729716}} - Class - ShapedGraphic - ID - 24 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 i_data[0]} - VerticalPad - 0 - - - - Class - LineGraphic - Head - - ID - 5 - - ID - 23 - Points - - {460.66043186378892, 91.997608797296408} - {460.25698524443328, 138.86251070923186} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - Tail - - ID - 18 - - - - Class - LineGraphic - Head - - ID - 3 - - ID - 22 - Points - - {306.32709853045554, 91.997608797296408} - {305.9236519110998, 138.86251070923186} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - Tail - - ID - 17 - - - - Class - LineGraphic - Head - - ID - 1 - - ID - 21 - Points - - {151.9937651971222, 91.997608797296408} - {151.59031857776631, 138.86251070923186} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - Tail - - ID - 19 - - - - Bounds - {{74.999970690033251, 52.335465158669571}, {154.33333333333334, 39.162162162162176}} - Class - ShapedGraphic - ID - 19 - Shape - Rectangle - - - Bounds - {{383.66663735669988, 52.335465158669571}, {154.33333333333334, 39.162162162162176}} - Class - ShapedGraphic - ID - 18 - Shape - Rectangle - - - Bounds - {{229.33330402336659, 52.335465158669571}, {154.33333333333334, 39.162162162162176}} - Class - ShapedGraphic - ID - 17 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 *.txt} - - - - Bounds - {{406.14236551203999, 182.87600569920977}, {107.8834951456311, 15.229729729729716}} - Class - ShapedGraphic - ID - 9 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 task2} - VerticalPad - 0 - - - - Bounds - {{251.80903217870659, 182.87600569920977}, {107.8834951456311, 15.229729729729716}} - Class - ShapedGraphic - ID - 8 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 task1} - VerticalPad - 0 - - - - Bounds - {{97.475698845373032, 182.87600569920977}, {107.8834951456311, 15.229729729729716}} - Class - ShapedGraphic - ID - 7 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 task0} - VerticalPad - 0 - - - - Bounds - {{391.15854674181355, 139.36249218569651}, {137.85113268608418, 39.162162162162176}} - Class - ShapedGraphic - ID - 5 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Exec.cc(3)} - - - - Bounds - {{236.82521340847998, 139.36249218569651}, {137.85113268608418, 39.162162162162176}} - Class - ShapedGraphic - ID - 3 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Exec.cc(2)} - - - - Bounds - {{82.491880075146483, 139.36249218569651}, {137.85113268608418, 39.162162162162176}} - Class - ShapedGraphic - ID - 1 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Exec.cc(1)} - - - - GridInfo - - HPages - 1 - KeepToScale - - Layers - - - Lock - NO - Name - レイヤー 1 - Print - YES - View - YES - - - LayoutInfo - - Animate - NO - circoMinDist - 18 - circoSeparation - 0.0 - layoutEngine - dot - neatoSeparation - 0.0 - twopiSeparation - 0.0 - - Orientation - 2 - PrintOnePage - - RowAlign - 1 - RowSpacing - 36 - SheetTitle - キャンバス 2 - UniqueID - 2 - VPages - 1 - - - ActiveLayerIndex - 0 - AutoAdjust - - BackgroundGraphic - - Bounds - {{0, 0}, {559.00000476837158, 783}} - Class - SolidGraphic - ID - 2 - Style - - shadow - - Draws - NO - - stroke - - Draws - NO - - - - BaseZoom - 0 - CanvasOrigin - {0, 0} - ColumnAlign - 1 - ColumnSpacing - 36 - DisplayScale - 1 0/72 in = 1.0000 in - GraphicsList - - - Class - LineGraphic - Head - - ID - 93 - - ID - 94 - Points - - {383.85364640780745, 114.447626257255} - {383.85366976513416, 166.30170137391778} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - - - Bounds - {{350.05206170895087, 166.80170136168312}, {67.603225704583608, 20.29505431042616}} - Class - ShapedGraphic - ID - 93 - Shape - RoundRect - Style - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Task} - - - - Bounds - {{417.65526804526382, 90.691558916786562}, {16.406452178955078, 20.29505431042616}} - Class - ShapedGraphic - ID - 92 - Shape - Rectangle - Style - - stroke - - Pattern - 1 - - - - - Class - LineGraphic - Head - - ID - 88 - - ID - 91 - Points - - {451.45687572231293, 87.730528335730213} - {451.45687572231293, 166.3017053286693} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - Tail - - ID - 90 - - - - Bounds - {{417.65525801352942, 66.935474010213539}, {67.603225704583608, 20.29505431042616}} - Class - ShapedGraphic - ID - 90 - Shape - Rectangle - - - Bounds - {{350.05203247070312, 90.691556957075377}, {67.603225170680432, 20.29505431042616}} - Class - ShapedGraphic - ID - 89 - Shape - Rectangle - - - Bounds - {{417.65527562514058, 166.80170534375981}, {67.603225067184425, 20.29505431042616}} - Class - ShapedGraphic - ID - 88 - Shape - RoundRect - Style - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Task} - - - - Class - LineGraphic - ID - 38 - Points - - {270.412916704358, 126.35653368362797} - {350.05202102193653, 126.35653368362797} - - Style - - stroke - - HeadArrow - 0 - Legacy - - Pattern - 1 - TailArrow - 0 - - - - - Class - LineGraphic - Head - - ID - 79 - - ID - 80 - Points - - {169.00807405463038, 114.44763858642513} - {169.00809741195707, 166.30171370308824} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - - - Bounds - {{135.20648935577375, 166.80171369085355}, {67.603225704583608, 20.29505431042616}} - Class - ShapedGraphic - ID - 79 - Shape - RoundRect - Style - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Task} - - - - Bounds - {{270.41291262057581, 66.935490293111201}, {16.406452178955078, 20.29505431042616}} - Class - ShapedGraphic - ID - 78 - Shape - Rectangle - Style - - stroke - - Pattern - 1 - - - - - Bounds - {{202.80969569208682, 90.691571245956823}, {16.406452178955078, 20.29505431042616}} - Class - ShapedGraphic - ID - 75 - Shape - Rectangle - Style - - stroke - - Pattern - 1 - - - - - Bounds - {{135.20644905757021, 66.935498915653014}, {16.406452178955078, 20.29505431042616}} - Class - ShapedGraphic - ID - 74 - Shape - Rectangle - Style - - stroke - - Pattern - 1 - - - - - Bounds - {{-2.4800783648970537e-10, 85.483870310292161}, {67.603220332591917, 5.9828174627037463}} - Class - ShapedGraphic - ID - 77 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Input Data} - VerticalPad - 0 - - - - Class - LineGraphic - Head - - ID - 59 - - ID - 68 - Points - - {236.61131267939129, 87.730540664900616} - {236.61131267939129, 166.30171765783984} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - Tail - - ID - 64 - - - - Class - LineGraphic - Head - - ID - 57 - - ID - 66 - Points - - {101.40482894442738, 87.730548238875741} - {101.40482894442738, 166.30172037478511} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - Tail - - ID - 65 - - - - Bounds - {{67.603221904672594, 66.935493944267563}, {67.603220332591917, 20.29505431042616}} - Class - ShapedGraphic - ID - 65 - Shape - Rectangle - - - Bounds - {{202.80968566035241, 66.935486339383942}, {67.603225704583608, 20.29505431042616}} - Class - ShapedGraphic - ID - 64 - Shape - Rectangle - - - Bounds - {{135.20646011752601, 90.691569286245652}, {67.603225170680432, 20.29505431042616}} - Class - ShapedGraphic - ID - 63 - Shape - Rectangle - - - Bounds - {{202.80970327196354, 166.80171767293032}, {67.603225067184425, 20.29505431042616}} - Class - ShapedGraphic - ID - 59 - Shape - RoundRect - Style - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Task} - - - - Bounds - {{67.603231418756508, 166.80172035896712}, {67.603225704583608, 20.29505431042616}} - Class - ShapedGraphic - ID - 57 - Shape - RoundRect - Style - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Task} - - - - GridInfo - - HPages - 1 - KeepToScale - - Layers - - - Lock - NO - Name - レイヤー 1 - Print - YES - View - YES - - - LayoutInfo - - Animate - NO - circoMinDist - 18 - circoSeparation - 0.0 - layoutEngine - dot - neatoSeparation - 0.0 - twopiSeparation - 0.0 - - Orientation - 2 - PrintOnePage - - RowAlign - 1 - RowSpacing - 36 - SheetTitle - キャンバス 3 - UniqueID - 3 - VPages - 1 - - - ActiveLayerIndex - 1 - AutoAdjust - - BackgroundGraphic - - Bounds - {{0, 0}, {559.00000476837158, 783}} - Class - SolidGraphic - ID - 2 - Style - - shadow - - Draws - NO - - stroke - - Draws - NO - - - - BaseZoom - 0 - CanvasOrigin - {0, 0} - ColumnAlign - 1 - ColumnSpacing - 36 - DisplayScale - 1 0/72 in = 1.0000 in - GraphicsList - - - Bounds - {{199.37968694890611, 49.198422967078471}, {51, 24}} - Class - ShapedGraphic - FitText - YES - Flow - Resize - FontInfo - - Color - - b - 0 - g - 0 - r - 0 - - Font - Helvetica - Size - 12 - - ID - 158 - Layer - 1 - Line - - ID - 157 - Offset - 5.6338024139404297 - Position - 0.49468076229095459 - RotationType - 2 - - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Align - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720 - -\f0\fs24 \cf0 L - s - 1} - - Wrap - NO - - - Class - LineGraphic - ID - 157 - Layer - 1 - Points - - {74.19355125617794, 66.832225381018901} - {378.80645771537775, 66.832225381018901} - - Style - - stroke - - HeadArrow - DimensionArrow - HeadScale - 1.5000001192092896 - Legacy - - TailArrow - DimensionArrow - TailScale - 1.5000001192092896 - - - - - Bounds - {{466.22263310395863, 172.07463586488399}, {67.603220332591889, 13.591787818248473}} - Class - ShapedGraphic - ID - 156 - Layer - 1 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} - VerticalPad - 0 - - - - Bounds - {{-1.1086501316981412e-07, 175.87913736930952}, {67.603220332591917, 5.9828174627037463}} - Class - ShapedGraphic - ID - 155 - Layer - 1 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Task1} - VerticalPad - 0 - - - - Bounds - {{-1.1086496343182262e-07, 148.27490804138313}, {67.603220332591917, 5.9828174627037463}} - Class - ShapedGraphic - ID - 154 - Layer - 1 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Task0} - VerticalPad - 0 - - - - Bounds - {{296.68463265950436, 66.832219349741379}, {17, 24}} - Class - ShapedGraphic - FitText - YES - Flow - Resize - FontInfo - - Color - - b - 0 - g - 0 - r - 0 - - Font - Helvetica - Size - 12 - - ID - 152 - Layer - 1 - Line - - ID - 151 - Offset - 5.6338024139404297 - Position - 0.49468076229095459 - RotationType - 2 - - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Align - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720 - -\f0\fs24 \cf0 s} - - Wrap - NO - - - Class - LineGraphic - ID - 151 - Layer - 1 - Points - - {233.11282722371749, 84.466021763681809} - {378.80639554040221, 84.466021763681809} - - Style - - stroke - - HeadArrow - DimensionArrow - HeadScale - 1.5000001192092896 - Legacy - - TailArrow - DimensionArrow - TailScale - 1.5000001192092896 - - - - - Bounds - {{158.72221488687128, 83.032363241135769}, {17, 24}} - Class - ShapedGraphic - FitText - YES - Flow - Resize - FontInfo - - Color - - b - 0 - g - 0 - r - 0 - - Font - Helvetica - Size - 12 - - ID - 16 - Layer - 1 - Line - - ID - 12 - Offset - 5.6338024139404297 - Position - 0.49468076229095459 - RotationType - 2 - - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Align - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720 - -\f0\fs24 \cf0 L} - - Wrap - NO - - - Class - LineGraphic - ID - 12 - Layer - 1 - Points - - {74.193549059554115, 100.6661656550762} - {262.25154226116922, 100.6661656550762} - - Style - - stroke - - HeadArrow - DimensionArrow - HeadScale - 1.5000001192092896 - Legacy - - TailArrow - DimensionArrow - TailScale - 1.5000001192092896 - - - - - Bounds - {{466.22263310395869, 116.86631632951934}, {67.603220332591889, 13.591787818248473}} - Class - ShapedGraphic - ID - 147 - Layer - 1 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} - VerticalPad - 0 - - - - Bounds - {{378.80639006071425, 112.70106277689568}, {87.416139607127036, 21.922237673181332}} - Class - ShapedGraphic - ID - 146 - Layer - 1 - Shape - Rectangle - Style - - stroke - - Pattern - 1 - - - - - Bounds - {{349.66772661482293, 112.70105990245703}, {29.138731100554878, 21.922237673181332}} - Class - ShapedGraphic - ID - 142 - Layer - 1 - Shape - Rectangle - Style - - stroke - - Pattern - 1 - - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 g} - - - - Bounds - {{320.52895653863021, 112.70106335661275}, {29.138731100554878, 21.922237673181332}} - Class - ShapedGraphic - ID - 141 - Layer - 1 - Shape - Rectangle - Style - - stroke - - Pattern - 1 - - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 n} - - - - Bounds - {{291.39025037132768, 112.70106335661275}, {29.138731100554878, 21.922237673181332}} - Class - ShapedGraphic - ID - 140 - Layer - 1 - Shape - Rectangle - Style - - stroke - - Pattern - 1 - - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 i} - - - - Bounds - {{262.25151732791704, 112.70105990245703}, {29.138731100554878, 21.922237673181332}} - Class - ShapedGraphic - ID - 139 - Layer - 1 - Shape - Rectangle - Style - - stroke - - Pattern - 1 - - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 o} - - - - Bounds - {{163.5596377938777, 144.47048672926633}, {67.603220332591889, 13.591787818248473}} - Class - ShapedGraphic - ID - 138 - Layer - 1 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} - VerticalPad - 0 - - - - Bounds - {{233.11281116061423, 112.70105990245703}, {29.138731100554878, 21.922237673181332}} - Class - ShapedGraphic - ID - 137 - Layer - 1 - Shape - Rectangle - Style - - stroke - - Pattern - 1 - - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 d} - - - - Bounds - {{163.5596377938777, 116.86631046290164}, {67.603220332591889, 13.591787818248473}} - Class - ShapedGraphic - ID - 136 - Layer - 1 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} - VerticalPad - 0 - - - - Bounds - {{437.08382455469155, 167.90941024522721}, {29.138713836669922, 21.922237673181332}} - Class - ShapedGraphic - ID - 133 - Layer - 1 - Shape - Rectangle - - - Bounds - {{407.94510747418957, 167.90941214175314}, {29.138713836669922, 21.922237673181332}} - Class - ShapedGraphic - ID - 132 - Layer - 1 - Shape - Rectangle - - - Bounds - {{378.80639745221657, 167.9094108455767}, {29.138713836669922, 21.922237673181332}} - Class - ShapedGraphic - ID - 131 - Layer - 1 - Shape - Rectangle - - - Bounds - {{349.66768170373228, 167.90940695704731}, {29.138713836669922, 21.922237673181332}} - Class - ShapedGraphic - ID - 130 - Layer - 1 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 g} - - - - Bounds - {{320.52895452008778, 167.90942557512369}, {29.138713836669922, 21.922237673181332}} - Class - ShapedGraphic - ID - 129 - Layer - 1 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 n} - - - - Bounds - {{291.39024449811455, 167.90942427894726}, {29.138713836669922, 21.922237673181332}} - Class - ShapedGraphic - ID - 128 - Layer - 1 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 i} - - - - Bounds - {{262.25152874962947, 167.90942039041789}, {29.138713836669922, 21.922237673181332}} - Class - ShapedGraphic - ID - 127 - Layer - 1 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 o} - - - - Bounds - {{349.66768129743144, 140.3052081769664}, {29.138713836669922, 21.922237673181332}} - Class - ShapedGraphic - ID - 123 - Layer - 1 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 g} - - - - Bounds - {{320.52897127545856, 140.30520688078994}, {29.138713836669922, 21.922237673181332}} - Class - ShapedGraphic - ID - 122 - Layer - 1 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 n} - - - - Bounds - {{291.39025552697427, 140.3052029922606}, {29.138713836669922, 21.922237673181332}} - Class - ShapedGraphic - ID - 121 - Layer - 1 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 i} - - - - Bounds - {{262.25153844647224, 140.30520488878653}, {29.138713836669922, 21.922237673181332}} - Class - ShapedGraphic - ID - 120 - Layer - 1 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 o} - - - - Bounds - {{233.11282842449918, 140.3052035926101}, {29.138713836669922, 21.922237673181332}} - Class - ShapedGraphic - ID - 119 - Layer - 1 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 d} - - - - Bounds - {{74.193548601308521, 111.19088566041445}, {87.416139607127036, 21.922237673181332}} - Class - ShapedGraphic - ID - 102 - Layer - 1 - Shape - Rectangle - Style - - stroke - - Pattern - 1 - - - - - Bounds - {{132.47097437176552, 140.30523771132886}, {29.138713836669922, 21.922237673181332}} - Class - ShapedGraphic - ID - 101 - Layer - 1 - Shape - Rectangle - - - Bounds - {{103.33226434979292, 140.30523641515236}, {29.138713836669922, 21.922237673181332}} - Class - ShapedGraphic - ID - 100 - Layer - 1 - Shape - Rectangle - - - Bounds - {{74.193548601308635, 140.305232526623}, {29.138713836669922, 21.922237673181332}} - Class - ShapedGraphic - ID - 99 - Layer - 1 - Shape - Rectangle - - - Bounds - {{7.8482846177507781e-07, 122.71560432584597}, {67.603220332591917, 5.9828174627037463}} - Class - ShapedGraphic - ID - 98 - Layer - 1 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Input Data} - VerticalPad - 0 - - - - GridInfo - - HPages - 1 - KeepToScale - - Layers - - - Lock - NO - Name - レイヤー 2 - Print - YES - View - NO - - - Lock - NO - Name - レイヤー 1 - Print - YES - View - YES - - - LayoutInfo - - Animate - NO - circoMinDist - 18 - circoSeparation - 0.0 - layoutEngine - dot - neatoSeparation - 0.0 - twopiSeparation - 0.0 - - Orientation - 2 - PrintOnePage - - RowAlign - 1 - RowSpacing - 36 - SheetTitle - semi - UniqueID - 8 - VPages - 1 - - - ActiveLayerIndex - 0 - AutoAdjust - - BackgroundGraphic - - Bounds - {{0, 0}, {559.00000476837158, 783}} - Class - SolidGraphic - ID - 2 - Style - - shadow - - Draws - NO - - stroke - - Draws - NO - - - - BaseZoom - 0 - CanvasOrigin - {0, 0} - ColumnAlign - 1 - ColumnSpacing - 36 - DisplayScale - 1 0/72 in = 1.0000 in - GraphicsList - - - Bounds - {{273.65003889882553, 201.54576519289398}, {162, 28}} - Class - ShapedGraphic - FitText - YES - Flow - Resize - FontInfo - - Color - - b - 0 - g - 0 - r - 0 - - Font - Helvetica - Size - 12 - - ID - 164 - Line - - ID - 163 - Offset - 5.6338024139404297 - Position - 0.49468076229095459 - RotationType - 2 - - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Align - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;\f1\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720 - -\f0\fs24 \cf0 \'96\'7b\'97\'88\'82\'cc -\f1 Task1 -\f0 \'82\'cc\'93\'c7\'82\'dd\'8d\'9e\'82\'dd\'94\'cd\'88\'cd} - - Wrap - NO - - - Class - LineGraphic - ID - 163 - Points - - {261.6213730715084, 221.17956760683441} - {449.67936627312343, 221.17956760683441} - - Style - - stroke - - HeadArrow - DimensionArrow - HeadScale - 1.5000001192092896 - Legacy - - TailArrow - DimensionArrow - TailScale - 1.5000001192092896 - - - - - Bounds - {{86.22221538064781, 201.54576519289384}, {162, 28}} - Class - ShapedGraphic - FitText - YES - Flow - Resize - FontInfo - - Color - - b - 0 - g - 0 - r - 0 - - Font - Helvetica - Size - 12 - - ID - 162 - Line - - ID - 161 - Offset - 5.6338024139404297 - Position - 0.49468076229095459 - RotationType - 2 - - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Align - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;\f1\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720 - -\f0\fs24 \cf0 \'96\'7b\'97\'88\'82\'cc -\f1 Task0 -\f0 \'82\'cc\'93\'c7\'82\'dd\'8d\'9e\'82\'dd\'94\'cd\'88\'cd} - - Wrap - NO - - - Class - LineGraphic - ID - 161 - Points - - {74.193549553330641, 221.17956760683427} - {262.25154275494572, 221.17956760683427} - - Style - - stroke - - HeadArrow - DimensionArrow - HeadScale - 1.5000001192092896 - Legacy - - TailArrow - DimensionArrow - TailScale - 1.5000001192092896 - - - - - Class - LineGraphic - ID - 160 - Points - - {261.62138032405335, 49.19842055057628} - {261.62138032405335, 280.58253206556373} - - Style - - stroke - - HeadArrow - 0 - Legacy - - TailArrow - 0 - Width - 3 - - - - - Bounds - {{320.52901282262371, 237.48911203919289}, {87.416139607127036, 36}} - Class - ShapedGraphic - ID - 159 - Shape - Rectangle - Style - - stroke - - CornerRadius - 9 - - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Task1} - - - - Bounds - {{124.51447493839382, 237.48909990036617}, {87.416139607127036, 36}} - Class - ShapedGraphic - ID - 4 - Shape - Rectangle - Style - - stroke - - CornerRadius - 9 - - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Task0} - - - - Bounds - {{199.37968705977113, 49.198422967078471}, {51, 24}} - Class - ShapedGraphic - FitText - YES - Flow - Resize - FontInfo - - Color - - b - 0 - g - 0 - r - 0 - - Font - Helvetica - Size - 12 - - ID - 158 - Line - - ID - 157 - Offset - 5.6338024139404297 - Position - 0.49468076229095459 - RotationType - 2 - - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Align - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720 - -\f0\fs24 \cf0 L - s - 1} - - Wrap - NO - - - Class - LineGraphic - ID - 157 - Points - - {74.193551367042957, 66.832225381018901} - {378.80645782624276, 66.832225381018901} - - Style - - stroke - - HeadArrow - DimensionArrow - HeadScale - 1.5000001192092896 - Legacy - - TailArrow - DimensionArrow - TailScale - 1.5000001192092896 - - - - - Bounds - {{466.22263321482365, 172.07463586488399}, {67.603220332591889, 13.591787818248473}} - Class - ShapedGraphic - ID - 156 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} - VerticalPad - 0 - - - - Bounds - {{297.18463277036938, 66.832219349741379}, {16, 24}} - Class - ShapedGraphic - FitText - YES - Flow - Resize - FontInfo - - Color - - b - 0 - g - 0 - r - 0 - - Font - Helvetica - Size - 12 - - ID - 152 - Line - - ID - 151 - Offset - 5.6338024139404297 - Position - 0.49468076229095459 - RotationType - 2 - - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Align - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720 - -\f0\fs24 \cf0 s} - - Wrap - NO - - - Class - LineGraphic - ID - 151 - Points - - {233.11282733458251, 84.466021763681809} - {378.80639565126722, 84.466021763681809} - - Style - - stroke - - HeadArrow - DimensionArrow - HeadScale - 1.5000001192092896 - Legacy - - TailArrow - DimensionArrow - TailScale - 1.5000001192092896 - - - - - Bounds - {{158.7222149977363, 83.032363241135769}, {17, 24}} - Class - ShapedGraphic - FitText - YES - Flow - Resize - FontInfo - - Color - - b - 0 - g - 0 - r - 0 - - Font - Helvetica - Size - 12 - - ID - 16 - Line - - ID - 12 - Offset - 5.6338024139404297 - Position - 0.49468076229095459 - RotationType - 2 - - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Align - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720 - -\f0\fs24 \cf0 L} - - Wrap - NO - - - Class - LineGraphic - ID - 12 - Points - - {74.193549170419132, 100.6661656550762} - {262.25154237203424, 100.6661656550762} - - Style - - stroke - - HeadArrow - DimensionArrow - HeadScale - 1.5000001192092896 - Legacy - - TailArrow - DimensionArrow - TailScale - 1.5000001192092896 - - - - - Bounds - {{466.2226332148237, 116.86631632951934}, {67.603220332591889, 13.591787818248473}} - Class - ShapedGraphic - ID - 147 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} - VerticalPad - 0 - - - - Bounds - {{378.80639017157927, 112.70106277689568}, {87.416139607127036, 21.922237673181332}} - Class - ShapedGraphic - ID - 146 - Shape - Rectangle - Style - - stroke - - Pattern - 1 - - - - - Bounds - {{349.66772672568794, 112.70105990245703}, {29.138731100554878, 21.922237673181332}} - Class - ShapedGraphic - ID - 142 - Shape - Rectangle - Style - - stroke - - Pattern - 1 - - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 g} - - - - Bounds - {{320.52895664949523, 112.70106335661275}, {29.138731100554878, 21.922237673181332}} - Class - ShapedGraphic - ID - 141 - Shape - Rectangle - Style - - stroke - - Pattern - 1 - - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 n} - - - - Bounds - {{291.3902504821927, 112.70106335661275}, {29.138731100554878, 21.922237673181332}} - Class - ShapedGraphic - ID - 140 - Shape - Rectangle - Style - - stroke - - Pattern - 1 - - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 i} - - - - Bounds - {{262.25151743878206, 112.70105990245703}, {29.138731100554878, 21.922237673181332}} - Class - ShapedGraphic - ID - 139 - Shape - Rectangle - Style - - stroke - - Pattern - 1 - - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 o} - - - - Bounds - {{163.55963790474271, 144.47048672926633}, {67.603220332591889, 13.591787818248473}} - Class - ShapedGraphic - ID - 138 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} - VerticalPad - 0 - - - - Bounds - {{233.11281127147925, 112.70105990245703}, {29.138731100554878, 21.922237673181332}} - Class - ShapedGraphic - ID - 137 - Shape - Rectangle - Style - - stroke - - Pattern - 1 - - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 d} - - - - Bounds - {{163.55963790474271, 116.86631046290164}, {67.603220332591889, 13.591787818248473}} - Class - ShapedGraphic - ID - 136 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 \'81\'45\'81\'45\'81\'45} - VerticalPad - 0 - - - - Bounds - {{437.08382466555656, 167.90941024522721}, {29.138713836669922, 21.922237673181332}} - Class - ShapedGraphic - ID - 133 - Shape - Rectangle - - - Bounds - {{407.94510758505459, 167.90941214175314}, {29.138713836669922, 21.922237673181332}} - Class - ShapedGraphic - ID - 132 - Shape - Rectangle - - - Bounds - {{378.80639756308159, 167.9094108455767}, {29.138713836669922, 21.922237673181332}} - Class - ShapedGraphic - ID - 131 - Shape - Rectangle - - - Bounds - {{349.6676818145973, 167.90940695704731}, {29.138713836669922, 21.922237673181332}} - Class - ShapedGraphic - ID - 130 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 g} - - - - Bounds - {{320.5289546309528, 167.90942557512369}, {29.138713836669922, 21.922237673181332}} - Class - ShapedGraphic - ID - 129 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 n} - - - - Bounds - {{291.39024460897957, 167.90942427894726}, {29.138713836669922, 21.922237673181332}} - Class - ShapedGraphic - ID - 128 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 i} - - - - Bounds - {{262.25152886049449, 167.90942039041789}, {29.138713836669922, 21.922237673181332}} - Class - ShapedGraphic - ID - 127 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 o} - - - - Bounds - {{349.66768140829646, 140.3052081769664}, {29.138713836669922, 21.922237673181332}} - Class - ShapedGraphic - ID - 123 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 g} - - - - Bounds - {{320.52897138632358, 140.30520688078994}, {29.138713836669922, 21.922237673181332}} - Class - ShapedGraphic - ID - 122 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 n} - - - - Bounds - {{291.39025563783929, 140.3052029922606}, {29.138713836669922, 21.922237673181332}} - Class - ShapedGraphic - ID - 121 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 i} - - - - Bounds - {{262.25153855733726, 140.30520488878653}, {29.138713836669922, 21.922237673181332}} - Class - ShapedGraphic - ID - 120 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 o} - - - - Bounds - {{233.1128285353642, 140.3052035926101}, {29.138713836669922, 21.922237673181332}} - Class - ShapedGraphic - ID - 119 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 d} - - - - Bounds - {{74.193548712173538, 111.19088566041445}, {87.416139607127036, 21.922237673181332}} - Class - ShapedGraphic - ID - 102 - Shape - Rectangle - Style - - stroke - - Pattern - 1 - - - - - Bounds - {{132.47097448263054, 140.30523771132886}, {29.138713836669922, 21.922237673181332}} - Class - ShapedGraphic - ID - 101 - Shape - Rectangle - - - Bounds - {{103.33226446065794, 140.30523641515236}, {29.138713836669922, 21.922237673181332}} - Class - ShapedGraphic - ID - 100 - Shape - Rectangle - - - Bounds - {{74.193548712173651, 140.305232526623}, {29.138713836669922, 21.922237673181332}} - Class - ShapedGraphic - ID - 99 - Shape - Rectangle - - - Bounds - {{8.9569347494489193e-07, 122.71560432584597}, {67.603220332591917, 5.9828174627037463}} - Class - ShapedGraphic - ID - 98 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Input Data} - VerticalPad - 0 - - - - GridInfo - - HPages - 1 - KeepToScale - - Layers - - - Lock - NO - Name - レイヤー 1 - Print - YES - View - YES - - - LayoutInfo - - Animate - NO - circoMinDist - 18 - circoSeparation - 0.0 - layoutEngine - dot - neatoSeparation - 0.0 - twopiSeparation - 0.0 - - Orientation - 2 - PrintOnePage - - RowAlign - 1 - RowSpacing - 36 - SheetTitle - semi3 - UniqueID - 9 - VPages - 1 - - - SmartAlignmentGuidesActive - YES - SmartDistanceGuidesActive - YES - UseEntirePage - - WindowInfo - - CurrentSheet - 8 - ExpandedCanvases - - - name - キャンバス 1 - - - name - semi - - - Frame - {{383, 72}, {814, 781}} - ListView - - OutlineWidth - 142 - RightSidebar - - ShowRuler - - Sidebar - - SidebarWidth - 120 - VisibleRegion - {{0, 0}, {561.1570071021149, 530.57849566945174}} - Zoom - 1.2100000381469727 - ZoomValues - - - キャンバス 1 - 1.0399999618530273 - 0.99000000953674316 - - - キャンバス 2 - 1.0399999618530273 - 1 - - - キャンバス 3 - 1.2400000095367432 - 1.2799999713897705 - - - キャンバス 4 - 1.3799999952316284 - 1.3400000333786011 - - - キャンバス 5 - 1.3799999952316284 - 1 - - - キャンバス 6 - 1.2799999713897705 - 1.2400000095367432 - - - キャンバス 7 - 1.2799999713897705 - 1 - - - semi - 1.0299999713897705 - 1 - - - semi3 - 1.2100000381469727 - 1.1799999475479126 - - - - - diff -r 43c6da29d688 -r d8f499590d82 2013/May-2013/word_count.jpg Binary file 2013/May-2013/word_count.jpg has changed diff -r 43c6da29d688 -r d8f499590d82 2013/May-2013/word_count_idata.jpg Binary file 2013/May-2013/word_count_idata.jpg has changed diff -r 43c6da29d688 -r d8f499590d82 2013/Nov-2013/12th.html --- a/2013/Nov-2013/12th.html Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,147 +0,0 @@ - - - - - - - 2013-11-12 - - - - - - - - - -
    - - - -
    -

    - 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 -

    -
    - - - - diff -r 43c6da29d688 -r d8f499590d82 2013/Nov-2013/19th.html --- a/2013/Nov-2013/19th.html Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,193 +0,0 @@ - - - - - - - 2013-11-19 - - - - - - - - - -
    - - - -
    -

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

    -

    - Masataka Kohagura -
    - 19th November , 2013 -

    -
    - -
    -

    - 研究目的 -

    -

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

    -

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

    -
    - -
    -

    - 今週のしたこと -

    -

    - ・検索文字列のハードコーディングの脱却
    -(set_inData,get_input絡みでバグ??) -

    -
    - - - - -
    -

    - WordCount.h -

    -
    -typedef struct wordCount {
    -    struct wordCount *self;
    -    int size;             // remaining file size
    -    int division_size;    // for each word count task
    -    (中略)
    -    unsigned char *search_word;
    -    int search_word_len;
    -    HTaskPtr t_print;
    -} WordCount;
    -
    -
    - -
    -

    - main.cc(task生成部分) -

    -
    -run_tasks(SchedTask *manager,…)
    -{
    -    …
    -    if(size != w->size){ //最後のタスクかどうかの判定
    -        t_exec[k]->set_param(0,&set_one_task_length + EXTRA_LENGTH);
    -        t_exec[k]->set_inData(0,w->file_mmap + a*w->division_size, size+EXTRA_LENGTH);
    -        t_exec[k]->set_inData(1,w->search_word, w->search_word_len); 
    -    }else{
    -        t_exec[k]->set_param(0,&set_one_task_length);
    -        t_exec[k]->set_inData(0,w->file_mmap + a*w->division_size, size);
    -        t_exec[k]->set_inData(1,w->search_word, w->search_word_len); 
    -    }
    -    …
    -}
    -
    - -
    - - -
    -

    - main.cc(task生成部分) -

    -
    -run_tasks(SchedTask *manager,…)
    -{
    -    …
    -    if(size != w->size){ //最後のタスクかどうかの判定
    -        t_exec[k]->set_param(0,&set_one_task_length + EXTRA_LENGTH);
    -        t_exec[k]->set_inData(0,w->file_mmap + a*w->division_size, size+EXTRA_LENGTH);
    -        t_exec[k]->set_inData(1,w->search_word, w->search_word_len); 
    -    }else{
    -        t_exec[k]->set_param(0,&set_one_task_length);
    -        t_exec[k]->set_inData(0,w->file_mmap + a*w->division_size, size);
    -        t_exec[k]->set_inData(1,w->search_word, w->search_word_len); 
    -    }
    -    …
    -}
    -
    - -
    - -
    -

    - 問題点 -

    -
  • - 複数の文字列をタスクに渡そうとすると、最初に渡す文字列に関しては渡せるが、後に渡す文字列がうまく渡らない。 -
  • -

    Exec.cc(get_input)

    -
    -run(SchedTask *s, void *rbuf, void *wbuf)
    -{
    -    unsigned char *i_data = (unsigned char *)s->get_input(rbuf,0);
    -    unsigned char *search_word = (unsigned char*)s->get_input(rbuf,1);
    -        …
    -    s->printf("[i_data]\n%s\n",i_data);
    -    s->printf("[search_word]\n%s\n",search_word);
    -
    -    return 0;
    -}
    -
    - -

    result

    -
    -(lldb) p i_data
    -(unsigned char *) $2 = 0x000000010202ca00 "aaa bbb …"
    -(lldb) p search_word
    -(unsigned char *) $3 = 0x000000010202ca00 "aaa bbb …"
    -
    -
  • 文字列を複数受け取ろうとすると、index(1)のアドレスがindex(0)のアドレスと同じ場所を示す
  • -
  • この時のi_data sizeは8byte、search_word sizeは6Byteである。
  • -
  • i_data size = search_word sizeにしても同様
  • - -
    - - - diff -r 43c6da29d688 -r d8f499590d82 2013/Nov-2013/IO.graffle --- a/2013/Nov-2013/IO.graffle Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1777 +0,0 @@ - - - - - ApplicationVersion - - com.omnigroup.OmniGraffle - 139.18.0.187838 - - CreationDate - 2013-11-08 15:04:16 +0000 - Creator - MasaKoha - GraphDocumentVersion - 8 - GuidesLocked - NO - GuidesVisible - YES - ImageCounter - 1 - LinksVisible - NO - MagnetsVisible - NO - MasterSheets - - ModificationDate - 2014-02-11 05:22:04 +0000 - Modifier - MasaKoha - NotesVisible - NO - OriginVisible - NO - PageBreaks - YES - PrintInfo - - NSBottomMargin - - float - 41 - - NSHorizonalPagination - - coded - BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG - - NSLeftMargin - - float - 18 - - NSPaperSize - - size - {594.99997329711914, 842} - - NSPrintReverseOrientation - - int - 0 - - NSPrinter - - coded - BAtzdHJlYW10eXBlZIHoA4QBQISEhAlOU1ByaW50ZXIAhIQITlNPYmplY3QAhZKEhIQITlNTdHJpbmcBlIQBKx1jaW5uYW1vbi5jci5pZS51LXJ5dWt5dS5hYy5qcIaG - - NSPrinterName - - string - cinnamon.cr.ie.u-ryukyu.ac.jp - - NSRightMargin - - float - 18 - - NSTopMargin - - float - 18 - - - ReadOnly - NO - Sheets - - - ActiveLayerIndex - 0 - AutoAdjust - - BackgroundGraphic - - Bounds - {{0, 0}, {558.99997329711914, 783}} - Class - SolidGraphic - ID - 2 - Style - - shadow - - Draws - NO - - stroke - - Draws - NO - - - - BaseZoom - 0 - CanvasOrigin - {0, 0} - ColumnAlign - 1 - ColumnSpacing - 36 - DisplayScale - 1 0/72 in = 1.0000 in - GraphicsList - - - Class - LineGraphic - Head - - ID - 19 - - ID - 21 - Points - - {108, 258.0860125058656} - {273.00000115247389, 258.44095033211607} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - - - Bounds - {{327, 214.74187050933961}, {62, 27.740259740259717}} - Class - ShapedGraphic - ID - 20 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fnil\fcharset128 HiraKakuProN-W3;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 mmap\ -read -\f1 \'91\'d2\'82\'bf} - VerticalPad - 0 - - - - Bounds - {{273.5, 246.51946687853183}, {72, 24}} - Class - ShapedGraphic - ID - 19 - Line - - ID - 7 - Position - 0.77464783191680908 - RotationType - 0 - - Shape - Rectangle - - - Bounds - {{112, 169.23051948051943}, {43, 12.136363636363631}} - Class - ShapedGraphic - ID - 18 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 read} - VerticalPad - 0 - - - - Class - LineGraphic - ID - 17 - Points - - {112, 161.78500197769753} - {155, 161.78500197769753} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - - - Bounds - {{220.50000190734863, 205.63961038961043}, {43, 12.136363636363631}} - Class - ShapedGraphic - ID - 16 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 read} - VerticalPad - 0 - - - - Class - LineGraphic - ID - 15 - Points - - {273.00000435882242, 198.55223679125726} - {101.74998664855957, 197.83766103944711} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - Tail - - ID - 14 - - - - Bounds - {{273.5, 186.70454049420047}, {72, 24}} - Class - ShapedGraphic - ID - 14 - Line - - ID - 7 - Position - 0.53169012069702148 - RotationType - 0 - - Shape - Rectangle - - - Bounds - {{211, 122.85226942037605}, {62, 27.740259740259717}} - Class - ShapedGraphic - ID - 13 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fnil\fcharset128 HiraKakuProN-W3;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 mmap\ -read -\f1 \'91\'d2\'82\'bf} - VerticalPad - 0 - - - - Bounds - {{165.5, 150.21843971253992}, {72, 24}} - Class - ShapedGraphic - ID - 12 - Line - - ID - 6 - Position - 0.38348999619483948 - RotationType - 0 - - Shape - Rectangle - - - Bounds - {{112, 114.61688311688314}, {43, 12.136363636363631}} - Class - ShapedGraphic - ID - 11 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 read} - VerticalPad - 0 - - - - Class - LineGraphic - ID - 10 - Points - - {165, 107.68181688360288} - {104, 107.68181688360288} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - Tail - - ID - 8 - - - - Bounds - {{86.5, 92.944805194805156}, {15, 204.58441558441552}} - Class - ShapedGraphic - ID - 9 - Shape - Rectangle - - - Bounds - {{165.5, 97.279214888811168}, {72, 20.805194805194791}} - Class - ShapedGraphic - ID - 8 - Shape - Rectangle - - - Class - LineGraphic - ID - 7 - Points - - {309.5, 67.805194805194816} - {309.5, 314} - - Style - - stroke - - HeadArrow - 0 - Legacy - - Pattern - 1 - TailArrow - 0 - - - - - Class - LineGraphic - ID - 6 - Points - - {201.5, 67.805194805194816} - {201.5, 314} - - Style - - stroke - - HeadArrow - 0 - Legacy - - Pattern - 1 - TailArrow - 0 - - - - - Class - LineGraphic - ID - 5 - Points - - {94, 68.30519479754814} - {94, 314} - - Style - - stroke - - HeadArrow - 0 - Legacy - - Pattern - 1 - TailArrow - 0 - - - Tail - - ID - 1 - - - - Bounds - {{274, 47.000000000000071}, {72, 20.805194805194791}} - Class - ShapedGraphic - ID - 4 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Task2} - - - - Bounds - {{166, 47.000000000000071}, {72, 20.805194805194791}} - Class - ShapedGraphic - ID - 3 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Task1} - - - - Bounds - {{58, 47.000000000000071}, {72, 20.805194805194791}} - Class - ShapedGraphic - ID - 1 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 mmap} - - - - GridInfo - - HPages - 1 - KeepToScale - - Layers - - - Lock - NO - Name - レイヤー 1 - Print - YES - View - YES - - - LayoutInfo - - Animate - NO - circoMinDist - 18 - circoSeparation - 0.0 - layoutEngine - dot - neatoSeparation - 0.0 - twopiSeparation - 0.0 - - Orientation - 2 - PrintOnePage - - RowAlign - 1 - RowSpacing - 36 - SheetTitle - キャンバス 1 - UniqueID - 1 - VPages - 1 - - - ActiveLayerIndex - 0 - AutoAdjust - - BackgroundGraphic - - Bounds - {{0, 0}, {558.99997329711914, 783}} - Class - SolidGraphic - ID - 2 - Style - - shadow - - Draws - NO - - stroke - - Draws - NO - - - - BaseZoom - 0 - CanvasOrigin - {0, 0} - ColumnAlign - 1 - ColumnSpacing - 36 - DisplayScale - 1 0/72 in = 1.0000 in - GraphicsList - - - Bounds - {{22.499984741210938, 127.40260124206543}, {72, 28}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 35 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 read\ -sequential} - VerticalPad - 0 - - - - Class - LineGraphic - Head - - ID - 32 - - ID - 34 - Points - - {130.49999689691816, 169.5312325488828} - {341.2499859369442, 170.27396241858597} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - Tail - - ID - 30 - - - - Class - LineGraphic - Head - - ID - 31 - - ID - 33 - Points - - {130.49998752207128, 113.66032095992918} - {199.12499912648832, 114.14487485748704} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - Tail - - ID - 29 - - - - Bounds - {{341.7499828338623, 159.99999912915223}, {72, 20.805194805194791}} - Class - ShapedGraphic - ID - 32 - Line - - ID - 7 - Position - 0.7164883017539978 - RotationType - 0 - - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Task2} - - - - Bounds - {{199.62498664855957, 103.99999997909968}, {72, 20.805194805194791}} - Class - ShapedGraphic - ID - 31 - Line - - ID - 6 - Position - 0.32541266083717346 - RotationType - 0 - - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Task1} - - - - Bounds - {{58, 159.00000103312175}, {72, 20.805194805194791}} - Class - ShapedGraphic - ID - 30 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 read2} - - - - Bounds - {{58, 103.00000103312175}, {72, 20.805194805194791}} - Class - ShapedGraphic - ID - 29 - Line - - ID - 5 - Position - 0.31604096293449402 - RotationType - 0 - - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 read1} - - - - Class - LineGraphic - ID - 7 - Points - - {377.7499828338623, 67.805191040039062} - {377.7499828338623, 211} - - Style - - stroke - - HeadArrow - 0 - Legacy - - Pattern - 1 - TailArrow - 0 - - - - - Class - LineGraphic - ID - 6 - Points - - {235.62498664855957, 67.805194805194816} - {235.62498664855957, 211} - - Style - - stroke - - HeadArrow - 0 - Legacy - - Pattern - 1 - TailArrow - 0 - - - - - Class - LineGraphic - ID - 5 - Points - - {94, 68.305194792047899} - {94, 211} - - Style - - stroke - - HeadArrow - 0 - Legacy - - Pattern - 1 - TailArrow - 0 - - - Tail - - ID - 1 - - - - Bounds - {{342.2499828338623, 47.000000000000071}, {72, 20.805194805194791}} - Class - ShapedGraphic - ID - 4 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Task2} - - - - Bounds - {{200.12498664855957, 47.000000000000071}, {72, 20.805194805194791}} - Class - ShapedGraphic - ID - 3 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Task1} - - - - Bounds - {{58, 47.000000000000071}, {72, 20.805194805194791}} - Class - ShapedGraphic - ID - 1 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 read} - - - - GridInfo - - HPages - 1 - KeepToScale - - Layers - - - Lock - NO - Name - レイヤー 1 - Print - YES - View - YES - - - LayoutInfo - - Animate - NO - circoMinDist - 18 - circoSeparation - 0.0 - layoutEngine - dot - neatoSeparation - 0.0 - twopiSeparation - 0.0 - - Orientation - 2 - PrintOnePage - - RowAlign - 1 - RowSpacing - 36 - SheetTitle - キャンバス 2 - UniqueID - 2 - VPages - 1 - - - ActiveLayerIndex - 0 - AutoAdjust - - BackgroundGraphic - - Bounds - {{0, 0}, {558.99997329711914, 783}} - Class - SolidGraphic - ID - 2 - Style - - shadow - - Draws - NO - - stroke - - Draws - NO - - - - BaseZoom - 0 - CanvasOrigin - {0, 0} - ColumnAlign - 1 - ColumnSpacing - 36 - DisplayScale - 1 0/72 in = 1.0000 in - GraphicsList - - - Class - LineGraphic - Head - - ID - 32 - - ID - 42 - Points - - {259.87499362330374, 235.46110035236225} - {452.62498539586136, 235.77001421298692} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - Tail - - ID - 40 - - - - Class - LineGraphic - Head - - ID - 31 - - ID - 41 - Points - - {126.99996802372655, 191.81541846816251} - {319.25001671748436, 193.98978259807495} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - Tail - - ID - 39 - - - - Bounds - {{187.3749942779541, 225.0000056413765}, {72, 20.805194805194791}} - Class - ShapedGraphic - ID - 40 - Line - - ID - 37 - Position - 0.57533562183380127 - RotationType - 0 - - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 read2} - - - - Bounds - {{54.5, 181.00000337447486}, {72, 20.805194805194791}} - Class - ShapedGraphic - ID - 39 - Line - - ID - 5 - Position - 0.2669852077960968 - RotationType - 0 - - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 read1} - - - - Bounds - {{149.75, 268.00000376515572}, {72, 28}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 38 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 read2\ -sequential} - VerticalPad - 0 - - - - Class - LineGraphic - ID - 37 - Points - - {223.3749942779541, 153.3051985572036} - {223.3749942779541, 296.00000376515572} - - Style - - stroke - - HeadArrow - 0 - Legacy - - Pattern - 1 - TailArrow - 0 - - - Tail - - ID - 36 - - - - Bounds - {{187.3749942779541, 132.00000376515578}, {72, 20.805194805194791}} - Class - ShapedGraphic - ID - 36 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 read2} - - - - Bounds - {{19, 218.23111147694772}, {72, 28}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 35 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 read1\ -sequential} - VerticalPad - 0 - - - - Bounds - {{453.12498474121094, 225.42591411877788}, {72, 20.805194805194791}} - Class - ShapedGraphic - ID - 32 - Line - - ID - 7 - Position - 0.57832038402557373 - RotationType - 0 - - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Task2} - - - - Bounds - {{319.74998474121094, 184.00000288656781}, {72, 20.805194805194791}} - Class - ShapedGraphic - ID - 31 - Line - - ID - 6 - Position - 0.29049518704414368 - RotationType - 0 - - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Task1} - - - - Class - LineGraphic - ID - 7 - Points - - {489.12498474121094, 153.30519480519479} - {489.12498474121094, 296.00000376515572} - - Style - - stroke - - HeadArrow - 0 - Legacy - - Pattern - 1 - TailArrow - 0 - - - Tail - - ID - 4 - - - - Class - LineGraphic - ID - 6 - Points - - {355.74998474121094, 152.80519857035054} - {355.74998474121094, 296.00000376515572} - - Style - - stroke - - HeadArrow - 0 - Legacy - - Pattern - 1 - TailArrow - 0 - - - - - Class - LineGraphic - ID - 5 - Points - - {90.5, 153.3051985572036} - {90.5, 296.00000376515572} - - Style - - stroke - - HeadArrow - 0 - Legacy - - Pattern - 1 - TailArrow - 0 - - - Tail - - ID - 1 - - - - Bounds - {{453.12498474121094, 132}, {72, 20.805194805194791}} - Class - ShapedGraphic - ID - 4 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Task2} - - - - Bounds - {{320.24998474121094, 132.00000376515578}, {72, 20.805194805194791}} - Class - ShapedGraphic - ID - 3 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Task1} - - - - Bounds - {{54.5, 132.00000376515578}, {72, 20.805194805194791}} - Class - ShapedGraphic - ID - 1 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 read1} - - - - GridInfo - - HPages - 1 - KeepToScale - - Layers - - - Lock - NO - Name - レイヤー 1 - Print - YES - View - YES - - - LayoutInfo - - Animate - NO - circoMinDist - 18 - circoSeparation - 0.0 - layoutEngine - dot - neatoSeparation - 0.0 - twopiSeparation - 0.0 - - Orientation - 2 - PrintOnePage - - RowAlign - 1 - RowSpacing - 36 - SheetTitle - キャンバス 3 - UniqueID - 3 - VPages - 1 - - - SmartAlignmentGuidesActive - YES - SmartDistanceGuidesActive - YES - UseEntirePage - - WindowInfo - - CurrentSheet - 2 - ExpandedCanvases - - Frame - {{1195, 292}, {693, 878}} - ListView - - OutlineWidth - 142 - RightSidebar - - ShowRuler - - Sidebar - - SidebarWidth - 120 - VisibleRegion - {{0, 0}, {558, 739}} - Zoom - 1 - ZoomValues - - - キャンバス 1 - 1 - 1 - - - キャンバス 2 - 1 - 1 - - - キャンバス 3 - 1 - 1 - - - - - diff -r 43c6da29d688 -r d8f499590d82 2013/Nov-2013/mmap.png Binary file 2013/Nov-2013/mmap.png has changed diff -r 43c6da29d688 -r d8f499590d82 2013/Nov-2013/multiread.png Binary file 2013/Nov-2013/multiread.png has changed diff -r 43c6da29d688 -r d8f499590d82 2013/Nov-2013/oneread.png Binary file 2013/Nov-2013/oneread.png has changed diff -r 43c6da29d688 -r d8f499590d82 2013/Oct-2013/1st.html --- a/2013/Oct-2013/1st.html Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,134 +0,0 @@ - - - - - - - 2013-10-01 - - - - - - - - - -
    - - - -
    -

    - Ceriumによる -
    - 正規表現の実装 -

    -

    - Masataka Kohagura -
    - 1st October , 2013 -

    -
    - -
    -

    - 研究目的 -

    -

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

    -

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

    -

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

    -
    - - -
    -

    mmapからfreadへの書き換え(1)

    -

    変更前

    -
    -static st_mmap_t
    -my_mmap(char *filename)
    -{
    -    int fd = -1; 
    -    int map = MAP_PRIVATE;
    -    st_mmap_t st_mmap;
    -    struct stat sb; 
    -
    -    if ((fd=open(filename,O_RDONLY,0666))==0) {
    -        fprintf(stderr,"can't open %s\n",filename);
    -    }   
    -
    -    if (fstat(fd,&sb)) {
    -        fprintf(stderr,"can't fstat %s\n",filename);
    -    }   
    -
    -    st_mmap.size = fix_byte(sb.st_size,4096);
    -
    -    st_mmap.file_mmap = (char*)mmap(NULL,st_mmap.size,PROT_READ,map,fd,(off_t)0);    if (st_mmap.file_mmap == (caddr_t)-1) {
    -        fprintf(stderr,"Can't mmap file\n");
    -        perror(NULL);
    -        exit(0);
    -    }       
    -    return st_mmap;
    -}
    -      
    -
    - -
    -

    mmapからfreadへの書き換え(2)

    -

    変更後

    -
    -my_fread(TaskManager *manager,char *filename)
    -{
    -    FILE *fd;
    -    st_mmap_t st_mmap;
    -    struct stat sb;
    -
    -    if ((fd=fopen(filename,"r"))==NULL) {
    -        fprintf(stderr,"can't open %s\n",filename);
    -    }
    -
    -    if (fstat(fileno(fd),&sb)) {
    -        fprintf(stderr,"can't fstat %s\n",filename);
    -    }
    -
    -    st_mmap.size = fix_byte(sb.st_size,4096);
    -
    -    st_mmap.file_mmap = (char*)manager->allocate(st_mmap.size);
    -    fread(st_mmap.file_mmap,st_mmap.size,1,fd);
    -    if (st_mmap.file_mmap == (caddr_t)-1) {
    -        fprintf(stderr,"Can't mmap file\n");
    -        perror(NULL);
    -        exit(0);
    -    }
    -    return st_mmap;
    -}
    -      
    -
    - - diff -r 43c6da29d688 -r d8f499590d82 2013/Oct-2013/22th.html --- a/2013/Oct-2013/22th.html Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,145 +0,0 @@ - - - - - - - 2013-10-22 - - - - - - - - - -
    - - - -
    -

    - Ceriumによる -
    - 正規表現の実装 -

    -

    - Masataka Kohagura -
    - 22th October , 2013 -

    -
    - -
    -

    - 研究目的 -

    -

    - 本研究室では、Cell用に作られたCeriumにて並列プログラミングを行なっている。Ceriumにて正規表現を実装し、既存の正規表現との処理速度、処理効率がどれだけ良くなるのかを測定する。 -

    -

    - 現在は文字列サーチをBM法(Boyer-Moore String Search Algorithm)にて実装している。 - I/O部分の読み込みの並列化、及びセミグループという、分割したファイルに対して並列処理をさせるような手法によって、効率化を図る。 -

    -
    - -
    -

    - 今週のしたこと -

    -

    - ・cのreadとlseekの動作確認 -

    -

    - ・新しい例題の作成:fileread - readとlseekを使って、Ceriumにて実装 -

    -
    - -
    -

    readとlseekの動作確認(1)

    -
    -for(loop_counter = 0; loop_counter < task_num - 1; loop_counter++){
    -    lseek(fd, loop_counter * ONE_TASK_READ_SIZE,SEEK_SET);
    -    read(fd,text,ONE_TASK_READ_SIZE + EXTRA_LENGTH);
    -    result_printf(loop_counter,text);
    -}
    -
    -lseek(fd, loop_counter * ONE_TASK_READ_SIZE,SEEK_SET);
    -read(fd,text,ONE_TASK_READ_SIZE);
    -result_printf(loop_counter,text);
    -      
    -

    ・lseekにて loop_counter * ONE_TASK_READ_SIZE 分読み込み部分をずらす。
    - SEEK_SETはファイルの先頭からを示している。 -

    -

    - ・readにて読み込んだファイルを ONE_TASK_READ_SIZE + EXTRA_LENGTH 分読み込む。 -

    - -
    - -
    -

    readとlseekの動作確認(2)

    -

    出力結果

    -
    -task size:71
    -task num:8
    --------1--------
    -This is a test f
    ------------------
    -
    --------2--------
    -test file that w
    ------------------
    -
    -・・・
    -
    --------10--------
    - that will be us
    ------------------
    -
    --------11--------
    - be used
    -l be us
    ------------------
    -
    -
    - -
    -

    fileread(1)

    -

    main.cc

    - -
    -
    -
    -
    - -
    -

    -

    fileread

    -
    -
    -
    -
    - - - diff -r 43c6da29d688 -r d8f499590d82 2013/Oct-2013/29th.html --- a/2013/Oct-2013/29th.html Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,167 +0,0 @@ - - - - - - - 2013-10-29 - - - - - - - - - -
    - - - -
    -

    - Ceriumによる -
    - 正規表現の実装 -

    -

    - Masataka Kohagura -
    - 29th October , 2013 -

    -
    - -
    -

    - 研究目的 -

    -

    - 本研究室では、Cell用に作られたCeriumにて並列プログラミングを行なっている。Ceriumにて正規表現を実装し、既存の正規表現との処理速度、処理効率がどれだけ良くなるのかを測定する。 -

    -

    - 現在は文字列サーチをBM法(Boyer-Moore String Search Algorithm)にて実装している。 - I/O部分の読み込みの並列化、及びセミグループという、分割したファイルに対して並列処理をさせるような手法によって、効率化を図る。 -

    -
    - -
    -

    - 今週のしたこと -

    -

    - ・cのreadとlseekの動作確認 -

    -

    - ・新しい例題の作成:fileread - readとlseekを使って、Ceriumにて実装 -

    -

    - ・現在はBM法のI/O部分をfilereadのように書き換えている段階。 -

    -
    - -
    -

    readとlseekの動作確認(1)

    -
    -for(i = 0; i < task_num - 1; i++){
    -    lseek(fd, i * ONE_TASK_READ_SIZE,SEEK_SET);
    -    read(fd,text,ONE_TASK_READ_SIZE + EXTRA_LENGTH);
    -    result_printf(i,text);
    -}
    -
    -lseek(fd, i * ONE_TASK_READ_SIZE,SEEK_SET);
    -read(fd,text,ONE_TASK_READ_SIZE);
    -result_printf(i,text);
    -      
    -

    ・lseekにて i * ONE_TASK_READ_SIZE 分読み込み部分をずらす。
    - SEEK_SETはファイルの先頭からを示している。 -

    -

    - ・readにて読み込んだファイルを ONE_TASK_READ_SIZE + EXTRA_LENGTH 分読み込む。 -

    -

    - ・セミグループを考慮した実装。 -

    - -
    - -
    -

    readとlseekの動作確認(2)

    -

    出力結果

    -
    -task size:71
    -task num:11
    --------1--------
    -This is a test f
    ------------------
    -
    --------2--------
    -test file that w
    ------------------
    -
    -・・・
    -
    --------10--------
    - that will be us
    ------------------
    -
    --------11--------
    - be used
    -l be us
    ------------------
    -
    -
    - -
    -

    -

    fileread

    - ソースにて -

    実行結果

    -
    -% ./fileread -cpu 4 -file c.txt
    -filesize     : 11524674
    -one_task_size: 16384
    -task_num     : 704
    -0 StartTask 276
    -[task No. 1]
    -[task No. 4]
    -[task No. 3]
    -[task No. 5]
    -[task No. 8]
    -[task No. 2]
    -[task No. 7]
    -[task No. 9]
    -・・・
    -[task No. 700]
    -[task No. 694]
    -[task No. 699]
    -[task No. 701]
    -[task No. 704]
    -[task No. 698]
    -[task No. 703]
    -[task No. 702]
    -Time: 0.007602
    -
    -
    -
    - - - diff -r 43c6da29d688 -r d8f499590d82 2013/Oct-2013/8th.html --- a/2013/Oct-2013/8th.html Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,196 +0,0 @@ - - - - - - - 2013-10-08 - - - - - - - - - -
    - - - -
    -

    - Ceriumによる -
    - 正規表現の実装 -

    -

    - Masataka Kohagura -
    - 8th October , 2013 -

    -
    - -
    -

    - 研究目的 -

    -

    - 本研究室では、Cell用に作られたCeriumにて並列プログラミングを行なっている。Ceriumにて正規表現を実装し、既存の正規表現との処理速度、処理効率がどれだけ良くなるのかを測定する。 -

    -

    - 現在は文字列サーチ(Boyer-Moore String Search Algorithm)を実装している。 - セミグループという、分割したファイルに対して並列処理をさせるような手法によって、効率化を測る。 -

    -
    - -
    -

    - 今週のしたこと -

    -

    - mmapからfreadに変更していたものを、readに変更。 -

    -

    - ・シンヤさんのRegenを動かしてみた -

    -

    - ・シンヤさんの論文「並列化と実行時コード生成を用いた正規表現マッチングの高速化」読み -

    -
    - -
    -

    mmapからfreadへの書き換え(1)

    -

    変更前

    -
    -static st_mmap_t
    -my_mmap(char *filename)
    -{
    -    int fd = -1; 
    -    int map = MAP_PRIVATE;
    -    st_mmap_t st_mmap;
    -    struct stat sb; 
    -
    -    if ((fd=open(filename,O_RDONLY,0666))==0) {
    -        fprintf(stderr,"can't open %s\n",filename);
    -    }   
    -
    -    if (fstat(fd,&sb)) {
    -        fprintf(stderr,"can't fstat %s\n",filename);
    -    }   
    -
    -    st_mmap.size = fix_byte(sb.st_size,4096);
    -
    -    st_mmap.file_mmap = (char*)mmap(NULL,st_mmap.size,PROT_READ,map,fd,(off_t)0);    if (st_mmap.file_mmap == (caddr_t)-1) {
    -        fprintf(stderr,"Can't mmap file\n");
    -        perror(NULL);
    -        exit(0);
    -    }       
    -    return st_mmap;
    -}
    -      
    -
    - -
    -

    mmapからfreadへの書き換え(2)

    -

    変更後

    -
    -my_read(TaskManager *manager,char *filename)
    -{
    -    int fd = -1;
    -    st_mmap_t st_mmap;
    -    struct stat sb;
    -
    -    if ((fd=open(filename,O_RDONLY,0666))==0) {
    -        fprintf(stderr,"can't open %s\n",filename);
    -    }
    -
    -    if (fstat(fd,&sb)) {
    -        fprintf(stderr,"can't fstat %s\n",filename);
    -    }
    -
    -    st_mmap.size = fix_byte(sb.st_size,4096);
    -    st_mmap.file_mmap = (char*)manager->allocate(st_mmap.size);
    -
    -    sread(fd,st_mmap.file_mmap,st_mmap.size);
    -
    -    if (st_mmap.file_mmap == (caddr_t)-1) {
    -        fprintf(stderr,"Can't mmap file\n");
    -        perror(NULL);
    -        exit(0);
    -    }
    -    return st_mmap;
    -}
    -
    -
    - -
    -

    mmapからreadへの書き換え(2)

    -

    変更後

    -
    -my_read(TaskManager *manager,char *filename)
    -{
    -    int fd = -1;
    -    st_mmap_t st_mmap;
    -    struct stat sb;
    -
    -    if ((fd=open(filename,O_RDONLY,0666))==0) {
    -        fprintf(stderr,"can't open %s\n",filename);
    -    }
    -
    -    if (fstat(fd,&sb)) {
    -        fprintf(stderr,"can't fstat %s\n",filename);
    -    }
    -
    -    st_mmap.size = fix_byte(sb.st_size,4096);
    -    st_mmap.file_mmap = (char*)manager->allocate(st_mmap.size);
    -
    -    read(fd,st_mmap.file_mmap,st_mmap.size);
    -
    -    if (st_mmap.file_mmap == (caddr_t)-1) {
    -        fprintf(stderr,"Can't mmap file\n");
    -        perror(NULL);
    -        exit(0);
    -    }
    -    return st_mmap;
    -}
    -
    -
    - - -
    -

    - 並列化と実行時コード生成を用いた正規表現マッチングの高速化について -

    -

    - ・NFA/DFAから同時初期状態有限オートマトン(SSFA)を構成 -

    -

    - ・Simultaneous Start-state Finite Automata -

    -

    - ・「NFAの全状態について、それぞれを初期状態とした場合の状態遷移」を -  同時初期状態遷移(SST)と呼んでいる。 -

    -
    - - - diff -r 43c6da29d688 -r d8f499590d82 2013/Oct-2013/PerlRegexImage.graffle --- a/2013/Oct-2013/PerlRegexImage.graffle Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,643 +0,0 @@ - - - - - ActiveLayerIndex - 0 - ApplicationVersion - - com.omnigroup.OmniGraffle - 139.18.0.187838 - - AutoAdjust - - BackgroundGraphic - - Bounds - {{0, 0}, {806, 536}} - Class - SolidGraphic - ID - 2 - Style - - shadow - - Draws - NO - - stroke - - Draws - NO - - - - BaseZoom - 0 - CanvasOrigin - {0, 0} - ColumnAlign - 1 - ColumnSpacing - 36 - CreationDate - 2013-10-01 08:18:50 +0000 - Creator - MasaKoha - DisplayScale - 1 0/72 in = 1 0/72 in - GraphDocumentVersion - 8 - GraphicsList - - - Bounds - {{403, 102}, {47, 18}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 49 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf390 -\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 \'90\'b6\'90\'ac} - VerticalPad - 0 - - - - Bounds - {{224, 102}, {47, 18}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 48 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf390 -\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 \'90\'b6\'90\'ac} - VerticalPad - 0 - - - - Class - LineGraphic - Head - - ID - 44 - - ID - 45 - Points - - {360.69200765017183, 73.236993277511147} - {218.04703242112768, 150.02215703718576} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - Tail - - ID - 1 - - - - Bounds - {{102, 149}, {169, 36}} - Class - ShapedGraphic - ID - 44 - Shape - Circle - Style - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf390 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 main.cc} - - - - Bounds - {{536, 175}, {104, 18}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 42 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf390 -\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 \'90\'b3\'8b\'4b\'95\'5c\'8c\'bb\'82\'cc\'8f\'ea\'8d\'87} - VerticalPad - 0 - - - - Bounds - {{396.00001907348633, 157}, {77.999992370605469, 36}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 41 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf390 -\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 \'8c\'c5\'92\'e8\'92\'b7\'95\'b6\'8e\'9a\'97\'f1\'82\'cc\'8f\'ea\'8d\'87} - VerticalPad - 0 - - - - Class - LineGraphic - Head - - ID - 39 - - ID - 40 - Points - - {413.64858388070274, 73.360285871357888} - {556.33256010927153, 221.63971412864208} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - Tail - - ID - 1 - - - - Bounds - {{489.50000476837158, 222}, {169, 36}} - Class - ShapedGraphic - ID - 39 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf390 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 if (i_data[i] == 0x61)\{...\}} - - - - Class - LineGraphic - Head - - ID - 3 - - ID - 38 - Points - - {395.49159283844295, 73.499999962101043} - {395.42604975815806, 221.50000400279791} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - TailArrow - 0 - - - Tail - - ID - 1 - - - - Bounds - {{311.00000238418579, 222}, {169, 36}} - Class - ShapedGraphic - ID - 3 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf390 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fnil\fcharset128 HiraKakuProN-W3;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 BM -\f1 \'96\'40} - - - - Bounds - {{181.00000715255737, 36}, {429, 37}} - Class - ShapedGraphic - ID - 1 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf390 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Perl} - - - - Class - Group - Graphics - - - Bounds - {{337.5, 262}, {287, 14}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 51 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf390 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Exec.cc} - VerticalPad - 0 - - - - Bounds - {{254, 193}, {454, 97}} - Class - ShapedGraphic - ID - 52 - Shape - Circle - Style - - - - ID - 50 - - - GridInfo - - GuidesLocked - NO - GuidesVisible - YES - HPages - 1 - ImageCounter - 1 - KeepToScale - - Layers - - - Lock - NO - Name - レイヤー 1 - Print - YES - View - YES - - - LayoutInfo - - Animate - NO - circoMinDist - 18 - circoSeparation - 0.0 - layoutEngine - dot - neatoSeparation - 0.0 - twopiSeparation - 0.0 - - LinksVisible - NO - MagnetsVisible - NO - MasterSheets - - ModificationDate - 2013-10-01 09:12:36 +0000 - Modifier - MasaKoha - NotesVisible - NO - Orientation - 2 - OriginVisible - NO - PageBreaks - YES - PrintInfo - - NSBottomMargin - - float - 41 - - NSHorizonalPagination - - coded - BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG - - NSLeftMargin - - float - 18 - - NSOrientation - - coded - BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwGG - - NSPaperSize - - size - {842, 595} - - NSPrintReverseOrientation - - int - 0 - - NSRightMargin - - float - 18 - - NSTopMargin - - float - 18 - - - PrintOnePage - - ReadOnly - NO - RowAlign - 1 - RowSpacing - 36 - SheetTitle - キャンバス 1 - SmartAlignmentGuidesActive - YES - SmartDistanceGuidesActive - YES - UniqueID - 1 - UseEntirePage - - VPages - 1 - WindowInfo - - CurrentSheet - 0 - ExpandedCanvases - - Frame - {{292, 88}, {1046, 922}} - ListView - - OutlineWidth - 142 - RightSidebar - - ShowRuler - - Sidebar - - SidebarWidth - 120 - VisibleRegion - {{-53, -123}, {911, 783}} - Zoom - 1 - ZoomValues - - - キャンバス 1 - 1 - 1 - - - - - diff -r 43c6da29d688 -r d8f499590d82 2013/Sep-2013/17th.html --- a/2013/Sep-2013/17th.html Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,113 +0,0 @@ - - - - - - - 2013-08-06 - - - - - - - - - -
    - - - -
    -

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

    -

    - Masataka Kohagura -
    - 17th September , 2013 -

    -
    - -
    -

    - 研究目的 -

    -

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

    -

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

    -

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

    -
    - -
    -

    - したこと -

    -

    - ・三角波、矩形波の実装 -

    -
    - -
    -

    波形

    -

    三角波

    -
    -double tri(double t){ 
    -
    -    double decimal_part = t - abs(t);
    -
    -    if(abs(t) % 2 != 0){ 
    -        return decimal_part < 0.5 ? decimal_part : 1 - decimal_part;
    -    }else{ 
    -        return decimal_part < 0.5 ? -decimal_part : 1 - decimal_part;
    -    }   
    -}
    -      
    - -

    矩形波

    -
    -double square(double t){ 
    -    double decimal_part = t - abs(t);
    -    return decimal_part < 0.5 ? 1 : -1; 
    -}
    -      
    -
    - -
    -

    -

    - - -

    - - -
    - - diff -r 43c6da29d688 -r d8f499590d82 2013/Sep-2013/24th.html --- a/2013/Sep-2013/24th.html Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,170 +0,0 @@ - - - - - - - 2013-09-24 - - - - - - - - - -
    - - - -
    -

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

    -

    - Masataka Kohagura -
    - 24th September , 2013 -

    -
    - -
    -

    - 研究目的 -

    -

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

    -

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

    -

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

    -
    - -
    -

    - したこと -

    -

    - ・SDLによる三角波、矩形波の実装 -

    -

    - ・mmapをfreadへの書き換え -

    -
    - -
    -

    波形

    -

    三角波

    -
    -double tri(double t){ 
    -
    -    double decimal_part = t - abs(t);
    -
    -    if(abs(t) % 2 != 0){ 
    -        return decimal_part < 0.5 ? decimal_part : 1 - decimal_part;
    -    }else{ 
    -        return decimal_part < 0.5 ? -decimal_part : 1 - decimal_part;
    -    }   
    -}
    -      
    - -

    矩形波

    -
    -double square(double t){ 
    -    double decimal_part = t - abs(t);
    -    return decimal_part < 0.5 ? 1 : -1; 
    -}
    -      
    -
    - -
    -

    mmapからfreadへの書き換え(1)

    -

    変更前

    -
    -static st_mmap_t
    -my_mmap(char *filename)
    -{
    -    int fd = -1; 
    -    int map = MAP_PRIVATE;
    -    st_mmap_t st_mmap;
    -    struct stat sb; 
    -
    -    if ((fd=open(filename,O_RDONLY,0666))==0) {
    -        fprintf(stderr,"can't open %s\n",filename);
    -    }   
    -
    -    if (fstat(fd,&sb)) {
    -        fprintf(stderr,"can't fstat %s\n",filename);
    -    }   
    -
    -    st_mmap.size = fix_byte(sb.st_size,4096);
    -
    -    st_mmap.file_mmap = (char*)mmap(NULL,st_mmap.size,PROT_READ,map,fd,(off_t)0);    if (st_mmap.file_mmap == (caddr_t)-1) {
    -        fprintf(stderr,"Can't mmap file\n");
    -        perror(NULL);
    -        exit(0);
    -    }       
    -    return st_mmap;
    -}
    -      
    -
    - -
    -

    mmapからfreadへの書き換え(2)

    -

    変更後

    -
    -my_fread(TaskManager *manager,char *filename)
    -{
    -    FILE *fd;
    -    st_mmap_t st_mmap;
    -    struct stat sb;
    -
    -    if ((fd=fopen(filename,"r"))==NULL) {
    -        fprintf(stderr,"can't open %s\n",filename);
    -    }
    -
    -    if (fstat(fileno(fd),&sb)) {
    -        fprintf(stderr,"can't fstat %s\n",filename);
    -    }
    -
    -    st_mmap.size = fix_byte(sb.st_size,4096);
    -
    -    st_mmap.file_mmap = (char*)manager->allocate(st_mmap.size);
    -    fread(st_mmap.file_mmap,st_mmap.size,1,fd);
    -    if (st_mmap.file_mmap == (caddr_t)-1) {
    -        fprintf(stderr,"Can't mmap file\n");
    -        perror(NULL);
    -        exit(0);
    -    }
    -    return st_mmap;
    -}
    -      
    -
    - - diff -r 43c6da29d688 -r d8f499590d82 2014/February/memo/01st.txt --- a/2014/February/memo/01st.txt Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,20 +0,0 @@ -2014/02/01 (Sat) - [program] - wait_for かけたいけど、どうしようか - - 現状 - divide read が完全に終わってから Task が走る - -> 読み込んでから実行してるしあまりはやくならねーよ - - 理想 - divide read しながら Task 走るのが一番の理想 - -> divide read が最初からちゃんと走るけど、 Task が追い越してしまうので - それをどう同期とろうか悩み中 - - 2GB 以上を取ろうとすると - regex(19797,0x7fff75dad310) malloc: *** mach_vm_map(size=18446744071569698816) failed (error code=3) - *** error: can't allocate region - *** set a breakpoint in malloc_error_break to debug - Can't allocate memory - - もしかして、allocate sizeに限界がある?? diff -r 43c6da29d688 -r d8f499590d82 2014/February/memo/02nd.txt --- a/2014/February/memo/02nd.txt Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,17 +0,0 @@ -2014/02/02 (Mon) - [program] - [昨日] - 2GB 以上を取ろうとすると - regex(19797,0x7fff75dad310) malloc: *** mach_vm_map(size=18446744071569698816) failed (error code=3) - *** error: can't allocate region - *** set a breakpoint in malloc_error_break to debug - Can't allocate memory - - もしかして、allocate sizeに限界がある?? - [改善] - TaskManager/kernel/ppe/TaskManager.cc - TaskManager/kernel/ppe/TaskManager.h - TaskManager/kernel/ppe/TaskManagerImpl.h - - size が int 型だったので、それをlong long に変更。 - (push は確認してから) diff -r 43c6da29d688 -r d8f499590d82 2014/February/memo/03rd.txt --- a/2014/February/memo/03rd.txt Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,71 +0,0 @@ -2014/02/03 (Mon) - [program] - とりあえず、manager->allocate の内部実装を int -> long long に変更した。 - regex_mas 2GB 以上の file を読み込ますと、mmap と divide read の違いで結果が違ってしまう。 -> 多分、ちゃんと読み込みされていないのでは?? - - grep -c "doing" 2g.txt -> 5209072 - ./regex -file 2g.txt -sw doing -cpu 4 -> 5209072 - ./regex -file 2g.txt -sw doing -cpu 4 -dr -> 5190577 - - ./regex -file 3g.txt -sw doing -cpu 4 -> 7799680 - ./regex -file 3g.txt -sw doing -cpu 4 -dr -> 5190577 - - やっぱり 2GB の壁くさい - - segmentation fault が起こらないということは、ちゃんと allocate はされているっぽい。 - ということは、やはり read 関係のどこかで 2GB 制限がかかってるのではないか。 - (API を int -> long long にかえないといけない部分がまだ存在すると思われる。 - - divide read mode 時、wbuf の address の動きが怪しい - long だと MAX が約2GB。つまりどこかで long long にしないとこれは直らない。 - - read_run 内の - read->set_outData(0,w->file_mmap + w->read_task_number*w->read_division_size, w->read_division_size); - 第二引数 の値がおかしくなっていることが発覚 - - 実行結果 - - ---------------------- - set_outData buf : 0x24367a000 - w->file_mmap : 0x1c467a000 - w->read_task_number : 127 - w->read_division_size : 16777216 - ---------------------- - [read No 105 : wbuf addr 0x22d67a000] - [read No 106 : wbuf addr 0x22e67a000] - [read No 107 : wbuf addr 0x22f67a000] - ・・・ - [read No 120 : wbuf addr 0x23c67a000] - [read No 121 : wbuf addr 0x23d67a000] - ---------------------- - set_outData buf : 0x14467a000 - w->file_mmap : 0x1c467a000 - w->read_task_number : 128 - w->read_division_size : 16777216 - ---------------------- - ---------------------- - set_outData buf : 0x14567a000 - w->file_mmap : 0x1c467a000 - w->read_task_number : 129 - w->read_division_size : 16777216 - ---------------------- - - 再実行 - [read No 124 : wbuf addr 0x24067a000] - [read No 125 : wbuf addr 0x24167a000] - [read No 126 : wbuf addr 0x24267a000] - [read No 127 : wbuf addr 0x24367a000] - [read No 128 : wbuf addr 0x14467a000] - [read No 129 : wbuf addr 0x14567a000] - [read No 130 : wbuf addr 0x14667a000] - 876543210 - 16^8 = 2^4^8 = 2^32 - - Address が 2^32 分落ちてしまっている。 - (オーバーフローしている) - - 原因究明 - (char*)w->file_mmap + (int)w->read_task_number*(int)w->read_division_size - (int)w->read_task_number*(int)w->read_division_size - - int に 2GB 以上の数値を突っ込んでいたので、オーバーフローしていた diff -r 43c6da29d688 -r d8f499590d82 2014/February/memo/04th.txt --- a/2014/February/memo/04th.txt Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,144 +0,0 @@ -2014/02/04 (Tue) - [ゼミ] - ・大きいサイズのファイルに番号をつける - ・この番号がintになっていたことによってオーバーフロー - ・longに直したら動くようになった - - ・10GBのデータをmmmapがreadしてるだけ - - ・メモリをallocateしなければならない - - mmap の話 - ・実メモリをallocateまではしていない - ・ページテーブルエントリーしている - ・ページテーブルエントリーの大きさは - ・virtualメモリの上半分下半分 - ・4k(12bit)(最近は8k(52bit)2^52) - ・2^50 -> 実メモリには収まらない - ・10GBは割り振らないといけない - ・10GB / 4k -> 2.5MB (ページテーブルエントリー) - ・仮想メモリ上に割り振る(どうせ全部使わないから実メモリ上には割り振らない) - - ・MMU(メモリ マネジメント ユニット) : 仮想アドレスを物理アドレスに変換する - ・ページテーブル : 仮想アドレスと物理アドレスの対応表 - - ・mmapを分割すると何がいいのか - ・メモリよりも大きいファイルが使える - ・巨大なmmapには時間がかかる - ・ページテーブルエントリーを用意しないといけないから(仮想上に用意するとしても) - ・mmapの単位を小さくすればそれをする必要がなくなるから、速くなる - ・readよりもmmapを分割する方が速いってことが言える - - Cerium Taskで時間測定できるようになってたよー - 計測しなおし - - [program] - [実験環境] - firefly で計測 - 2*2.66 GHz, HHD 1TB, memory 16GB - 読み込んだ file size : 10740996168 Byte (10GB) - - 読み込んでから Task が終了するまでの時間を測定 - - divide read で一度に読み込む量 : 4*4096*1024 Byte - - - % ./fileread -file ../regex_mas/10gb.txt -cpu 12 -dr - [SPE_ANY] - mmap 0.194788 - 4*4096*1024 Byte 123.563726 - 4*4096 Byte 391.734989 - - [IO_0] - mmap 0.194788 - divide size - 4*4096*1024 Byte - 4*4096 Byte - - [結果] - [fileread] - CPU_TYPE SPE_ANY - mode , cpu_num, first(s), cache(s) - MMAP 1 - D_Read 1 - D_Read 2 - D_Read 3 - D_Read 4 - D_Read 5 - D_Read 6 - D_Read 7 - D_Read 8 101.228669 138.571596 - D_Read 9 - D_Read 10 130.651908 131.169506 - D_Read 11 - D_Read 12 139.237653 137.285821 - - CPU_TYPE IO_0 - MMAP 1 - D_Read 1 - D_Read 2 - D_Read 3 - D_Read 4 - D_Read 5 - D_Read 6 - D_Read 7 - D_Read 8 126.854166 120.156284 - D_Read 9 - D_Read 10 127.547397 129.866984 - D_Read 11 - D_Read 12 107.594404 125.348336 - - - [regex_mas(BM_search)] - CPU_TYPE SPE_ANY - mode , cpu_num, first(s), cache(s) - MMAP 1 102.260 38.466 - MMAP 2 - MMAP 3 - MMAP 4 - MMAP 5 - MMAP 6 - MMAP 7 - MMAP 8 - MMAP 9 - MMAP 10 - MMAP 11 - MMAP 12 81.961003 8.134885 - D_Read 1 - D_Read 2 - D_Read 3 - D_Read 4 - D_Read 5 - D_Read 6 - D_Read 7 - D_Read 8 101.228669 138.571596 - D_Read 9 - D_Read 10 130.651908 131.169506 - D_Read 11 - D_Read 12 139.237653 137.285821 - - CPU_TYPE IO_0 - MMAP 1 - MMAP 2 - MMAP 3 - MMAP 4 - MMAP 5 - MMAP 6 - MMAP 7 - MMAP 8 116.673263 8.048647 - MMAP 9 - MMAP 10 75.978887 8.139924 - MMAP 11 - MMAP 12 81.245613 8.200301 - D_Read 1 - D_Read 2 - D_Read 3 - D_Read 4 - D_Read 5 - D_Read 6 - D_Read 7 - D_Read 8 126.854166 120.156284 - D_Read 9 - D_Read 10 127.547397 129.866984 - D_Read 11 - D_Read 12 107.594404 125.348336 diff -r 43c6da29d688 -r d8f499590d82 2014/February/memo/05th.txt --- a/2014/February/memo/05th.txt Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,18 +0,0 @@ -2014/02/05 (Wed) - - [Today's Goal] - DEBUG オプションから時間測定ができるようにしたい。 - (現在は 例題から時間をセットしている。) - - divide read と Task 実行の並列化 - - [memo] - kernel/schedule/SchedTask.cc:exec() - __debug(this->scheduler,"cpuid %ld %s\t0x%p time %lld\n",scheduler->id,(char *)(task_list[atask->command].name),(void*)list, list->task_end_time-list->task_start_time); - ここに Task の表示、時間表示を設定する debug option がある。 - - intelli J IDEA にかえようぜ?? わんちゃん - - とりあえず、__debug の引数がおかしかったので訂正 - - diff -r 43c6da29d688 -r d8f499590d82 2014/February/memo/06th.txt --- a/2014/February/memo/06th.txt Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,55 +0,0 @@ -2014/02/06 (Thu) - [Today's goal] - divide read と Task 実行の並列化 - - [memo] - divide read と Task の並列実行時、様々なエラーがおこる - - * thread #1: tid = 0x35eb7c, 0x000000010000fb14 regex`FifoDmaManager::has_mail_from_host(this=0x0000000100112a00) + 20 at FifoDmaManager.cc:223, queue = 'com.apple.main-thread, stop reason = EXC_BAD_ACCESS (code=EXC_I386_GPFLT) - frame #0: 0x000000010000fb14 regex`FifoDmaManager::has_mail_from_host(this=0x0000000100112a00) + 20 at FifoDmaManager.cc:223 - 220 int - 221 FifoDmaManager::has_mail_from_host() - 222 { - -> 223 return mail_queue1->count(); - 224 } - 225 - 226 void - -* thread #6: tid = 0x35f41d, 0x00000001000089fc regex`SchedTask::exec(this=0x000000010052ab00) + 428 at SchedTask.cc:119, stop reason = EXC_BAD_ACCESS (code=EXC_I386_GPFLT) - frame #0: 0x00000001000089fc regex`SchedTask::exec(this=0x000000010052ab00) + 428 at SchedTask.cc:119 - 116 } else { - 117 run(this, read,write); - 118 } --> 119 (*connector->end_dmawait_profile)(&connector->global_busy_time,&connector->start_time,&connector->stop_time); - 120 list->task_end_time = gettime(); - - - -regex(50295,0x1046f6000) malloc: *** error for object 0x10021c5d8: incorrect checksum for freed object - object was probably modified after being freed. -*** set a breakpoint in malloc_error_break to debug -match count : 40 -match count : 40 -[start exec No: 9] -[start exec No: 25] -match count : 40 -[start exec No: 10] -match count : 40 -[start exec No: 26] - - -frame #9: 0x0000000100007ed8 regex`SchedMail::next(this=0x0000000100218d70, scheduler=0x000000010050c170, p=0x0000000000000000) + 200 at SchedMail.cc:19 - 16 return new SchedExit(); - 17 } else { - 18 int dma_tag_switch = 0; --> 19 return new SchedTaskList(params_addr, scheduler, dma_tag_switch); - 20 } - 21 } - - さて、どこから直したらいいのだろうか・・・ - - allocate(sizeof(w->read_file_size)) <- 型 size しかとれてねーよ(震え声 - (赤っ恥かきました) - allocate(w->read_file_size) <- これで allocate できたね(ニッコリ - - - make clean; make -j gpu parallel ではなくて gpu で TaskManager をコンパイルするときのコマンド diff -r 43c6da29d688 -r d8f499590d82 2014/February/memo/07th.txt --- a/2014/February/memo/07th.txt Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,46 +0,0 @@ -2014/02/07 (Fri) - [Today's goal] - mmap を Task から 関数に変更 - 微調整 - 様々な測定 - - [memo] - - ファーストオーダーロジック - - ゲーテル - 不完全性定理 vlid  - 完全性定理 valid であればその論理の証明が存在する - - 強制法 - ↓ - 選択公理 - - 構成可能な集合(空集合を要素にもつ集合) - 構成可能な集合以外を含む集合も証明可能  - -> 強制法 forcing - - カテゴリ - A->B ->C - - A->C  - - ハイオーダーロジックは数式とか記号とかでの証明 - カテゴリをコンピュータサイエンスに応用できないか? - 「category theory for computing science」 - - 唯一まともなのは茂木健一郎「モナド」 - モナドはリフレクションだけが会ってレイフィケーションはない - - リフレクションはオブジェクトをメタオブイェクトに - ex:ユーザランドからカーネルに設定 limt とかなにか - レイフィケーションがメタオブジェクトからオブイェクトにする - ex:pidをとってくるとか - - OS: カーネルランドがメタオブイェクト、ユーザランドがオブジェクト - - ヨコテさんが作ったのがアイボとかに使われている OS - - 証明可能の後ろに「否定」をつけると矛盾が生じる - - DSはリフレクションとレイフィケーション両方あるようにつくる diff -r 43c6da29d688 -r d8f499590d82 2014/February/memo/12th.txt --- a/2014/February/memo/12th.txt Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,20 +0,0 @@ -2014/02/12 (Wed) - - [memo] - 院試での卒論発表 - 質問された内容 - ・Broked Read 実装のメリット - ・IO 専用の thread を準備しているが、 priority を自分自身であげることができるのか - ・IO 専用 thread でどれだけ速くなったのか。 ->10秒ほどはやくなった。 - ・IO ネックになっているが、mmap と read 両方共結局同じ結果になりそうだが - -> mmap だと、Taskで読み込む範囲のreadしか行われない。 Task の数だけ read が発生する - -> Broked Read だと、複数Task 分だけ読み込むので、read の発生回数がmmap時よりすくなくなる。(要検証) - ・実メモリに読み込むとき、 swap が起こるかどうか。 - - ・ やはりどのぐらい改善されたかという数値を出すときには、パーセンテージのほうがよい。 - ・ IO_0 という CPU Type を追加したという話をした後の実験結果の見せ方が悪すぎた。 - 4 CPU と 12 CPU で比較していたが、IO_0 を 4 CPU 準備したと思われてもおかしくない。 - ・ もっとくわしく書くべきだった。 - mmap は 4 CPU (IO と Task が分離できないため) でいいが - Broked Read は IO 専用 CPU 1 + Task CPU 3 - のように詳しく記述する必要があった。 diff -r 43c6da29d688 -r d8f499590d82 2014/February/memo/14th.txt --- a/2014/February/memo/14th.txt Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,23 +0,0 @@ -2014/02/14 (Fri) - - [memo] - mmap は仮想アドレスを取得する。 - ヒープ領域を伸ばせなくても、別の空き領域を自動的に取得してそこにメモリを確保する。 - -> しかし、連続じゃないということは、その領域を探すという段階にオーバーヘッドがでるのでは - - mmap は kernel の機能を利用するため、OS依存になる。 - (OS によって kernel がかわるため) - - *要検証 - Linux の malloc は - 128KB未満のメモリー要求に対してはヒープから割り当てる。(brk() でとってるらしい) - 128KB以上のメモリー要求に対してはmmapを使用する。 - らしい - -> あれ??つまり malloc は物理メモリアドレスを連続で確保しているわけではないので、遅くならね?? - -> 連続で格納されていなくても、断片的にすでに読み込まれているから早いのか?? - -> read 関数よりも、malloc の調整次第でもっと速くなるのでは - - - - [卒論] - いままでしてきた過程をすべて書くことによって説得力が徐々に湧いていくよね diff -r 43c6da29d688 -r d8f499590d82 2014/February/memo/25th.txt --- a/2014/February/memo/25th.txt Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,23 +0,0 @@ -2014/02/25(Mon) - - [測定] - mmap のフラグの種類 - firefly 上で実験 - firefly+one ./regex -file 10gb.txt -sw doing -cpu 12 - - MAP_PRIVATE 155.736128 - MAP_SHARED 159.927492 - MAP_32BIT *** - MAP_ANONYMOUS *** - MAP_DENYWRITE *** - MAP_EXECUTABL *** - MAP_NORESERVE sf - MAP_LOCKED *** - MAP_GROWSDOWN *** - MAP_HUGETLB *** - MAP_LOCKED *** - MAP_STACK *** - MAP_UNINITIALIZED *** - - ほとんど実行できないじゃねーか!! - diff -r 43c6da29d688 -r d8f499590d82 2014/February/memo/MMAPvsDivideRead.txt --- a/2014/February/memo/MMAPvsDivideRead.txt Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,98 +0,0 @@ -[program] - - mmap だと ramdam access なので DB だと使用されない -> read を使用している。 - - 実験環境をいろいろ変えてみよう - OSを変更してみる。(Linux など) - mmap の flag をかえてみる - priority 下げてみる?? - 様々なことをやってみよう - - [実験環境] - firefly で計測 - mac os X 10.9.1 - 2*2.66 GHz, HHD 1TB, memory 16GB - 読み込んだ file size : 10740996168 Byte (10GB) - - 読み込んでから Task が終了するまでの時間を測定 - - % ./regex -file 10gb.txt -sw doing -division 128 -block 48 -cpu 12 -br - [結果] - bm_search one task size 128k - task blocks 48 - CPUNUM - 1 - MMAP - second 35.713130 - IO BRead - 2 - MMAP 94.298429 94.268424 96.484658 - second 17.186720 - IO BRead 100.222430 100.458053 94.847105 - 3 - MMAP 129.450665 108.940161 106.512558 - second 12.161487 - SPE BRead 107.156623 - IO BRead 96.690044 98.422669 95.189016 - 4 - MMAP 135.155317 142.751540 148.916697 137.110170 147.350221 - second 12.102094 - SPE BRead 96.664415 - IO BRead 109.181394 97.955774 94.676133 94.508641 97.399619 - 8 - MMAP 174.250825 146.720434 147.433098 - second 6.942862 - IO BRead 90.398165 91.338648 101.322919 - 12 - MMAP 181.776079 148.274648 148.439857 147.485801 147.036413 - second 6.929711 - SPE BRead 111.674880 94.806148 106.796695 106.796695 95.730738 - IO BRead 95.656162 117.457584 96.305392 91.637826 94.680580 - - bm_search one task size 64k - task blocks 48 - 12 - MMAP 128.752630 130.268836 - IO BRead 97.779679 109.356311 - - bm_search one task size 256k - task blocks 48 - 12 - MMAP 166.577149 148.437492 - IO BRead 107.571059 99.907239 - - bm_search one task size 512k - task blocks 48 - 12 - MMAP 149.994577 138.402043 - IO BRead 94.069890 101.792784 - - bm_search one task size 128k - task blocks 24 - 12 - MMAP 153.115449 - IO BRead 98.620145 - - bm_search one task size 128k - task blocks 64 - 12 - MMAP 153.186823 - IO BRead 95.646812 - - bm_search one task size 256k - task blocks 64 - 12 - MMAP 147.430725 - IO BRead 94.544596 - - bm_search one task size 256k - task blocks 256 - 12 - MMAP 150.335210 - IO BRead 111.773256 - - fileread - file read one task size - 1024 * 128 * 48 cpu 1 93.605574 95.171400 - 1024 * 128 * 48 cpu 4 97.775177 97.714276 - 1024 * 256 * 256 cpu 4 98.261143 95.614298 diff -r 43c6da29d688 -r d8f499590d82 2014/February/slide/04th.html --- a/2014/February/slide/04th.html Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,179 +0,0 @@ - - - - - - - slide - - - - - - - - - -
    - - - -
    -

    - Cerium の並列処理向け I/O の設計と実装 -

    -

    - Masataka Kohagura -
    - 21st January , 2014 -

    -
    - -
    -

    研究背景と目的

    -

    - 近年のCPUのほとんどはマルチコアであり、それらの性能を引き出すためには並列プログラミングが必須となっている。そこで当研究室では Cerium Library の開発を行い、提供することによって並列プログラミングを容易にしている。 -

    -

    - 先行研究では Task の並列化によって、プログラム全体の処理速度は向上しているが、ファイル読み込み等の I/O に対して並列に Task が動作するようにはされていない。 -

    -

    - 現状では、ファイルを全て memory に mapping を行ってから Task が走るようになっているので、非常に大きいサイズのファイルを読み込むと、ファイルを memory に mapping するまでの時間がオーバーヘッドになってしまう。 -

    -

    - 本研究では I/O と Task の並列化の設計、実装によってプログラム全体の処理速度、処理効率を上げていく。 -

    -
    - -
    -

    - したこと -

    -
      - -
    • - 2GB 以上のファイルが読み込めなかった -> 修正 -
    • - -
    • - fileread をちょっとだけ測定 -
    • -
        -
    - - - -
    - -

    2GB 以上のファイルが読み込めなかった -> 修正

    -

    - manager->allocate(int) を使用したところ -

    -
    -if (divide_read_flag != 0) {
    -    printf("[divide read mode]\n");
    -    w->file_mmap = (char*)manager->allocate((long)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);
    -}
    -
    -

    - divide read をする前に manager->alocate にて memory を確保する。 - この領域に、分割して読み込んだ file を mapping していく。 -

    -
    - -
    -

    - kernel/ppe/TaskManagerImpl.h -

    -

    修正前

    - -
    -void* allocate(int size, int alignment)
    -{
    -#if defined(__SPU__) || ! defined(HAS_POSIX_MEMALIGN)
    -    buff =  malloc(size);
    -#else
    -    posix_memalign(&buff, alignment, size);
    -#endif
    -    return buff;
    -}
    -
    - -

    修正後

    -
    -void* allocate(long size, int alignment)
    -{
    -    ・・・
    -}
    -
    - -
    - -
    -

    - fileread -

    -

    - ファイルの読み込みだけを行うプログラム -

    -

    - firefly 上で実行
    - 2*2.66 GHz, HHD 1TB, memory 16GB
    - file size : 10740996168 Byte (約10GB) -

    - - - -
    - - - - - -
    modetime(s)
    mmap0.194788
    read_divide_size
    4*4096 Byte391.734989
    4*4096*1024 Byte123.563726
    - - -
    - - - diff -r 43c6da29d688 -r d8f499590d82 2014/January/OUTLINE --- a/2014/January/OUTLINE Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,34 +0,0 @@ -2014/01/31 (Fri) - [memo] - 論文の書き方について - -2014/01/29 (Wed) - [memo] - ブレードサーバの在処 - OS 研究会について - - [figure] - read 部分の set cpu を SPE_ANY or IO_0 でどうなるか計測 - io_speany が gnuplot の set Data グラフを作成 - -2014/01/23 (Thu) - [memo] - 1/22 の実験結果のまとめ - -2014/01/22 (Wed) - [memo] - 今後の実験方針 - 測定方法のまとめ - データとったよ!! (fileread,regex_mas) - ただし明日にデータを綺麗にまとめる - - -2014/01/21 (Tue) - [memo] - ゼミまとめ - Ceriumの並列処理向けI/Oの研究 へタイトルの変更 - 1/21時点でこれからさらにやること - - [slide] - regex_mas にて divide read を組み込めた (未検証) - 卒論目次のまとめ&訂正 diff -r 43c6da29d688 -r d8f499590d82 2014/January/figure/figure.graffle --- a/2014/January/figure/figure.graffle Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1402 +0,0 @@ - - - - - ApplicationVersion - - com.omnigroup.OmniGraffle - 139.18.0.187838 - - CreationDate - 2014-01-13 17:39:20 +0000 - Creator - MasaKoha - GraphDocumentVersion - 8 - GuidesLocked - NO - GuidesVisible - YES - ImageCounter - 1 - LinksVisible - NO - MagnetsVisible - NO - MasterSheets - - ModificationDate - 2014-01-13 19:29:51 +0000 - Modifier - MasaKoha - NotesVisible - NO - OriginVisible - NO - PageBreaks - YES - PrintInfo - - NSBottomMargin - - float - 41 - - NSHorizonalPagination - - coded - BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG - - NSLeftMargin - - float - 18 - - NSPaperSize - - size - {595.00000476837158, 842} - - NSPrintReverseOrientation - - int - 0 - - NSRightMargin - - float - 18 - - NSTopMargin - - float - 18 - - - ReadOnly - NO - Sheets - - - ActiveLayerIndex - 0 - AutoAdjust - - BackgroundGraphic - - Bounds - {{0, 0}, {559.00000476837158, 783}} - Class - SolidGraphic - ID - 2 - Style - - shadow - - Draws - NO - - stroke - - Draws - NO - - - - BaseZoom - 0 - CanvasOrigin - {0, 0} - ColumnAlign - 1 - ColumnSpacing - 36 - DisplayScale - 1 0/72 in = 1.0000 in - GraphicsList - - - Bounds - {{71.928565979003906, 477.51139831542969}, {55, 14}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 67 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 IO_0} - VerticalPad - 0 - - - - Class - LineGraphic - Head - - ID - 60 - - ID - 66 - Points - - {405.8223936494694, 179.01708105298832} - {172.85713904244585, 188} - {127.59615182824227, 220.08866775349173} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - LineType - 1 - Pattern - 2 - TailArrow - 0 - - - Tail - - ID - 33 - - - - Class - LineGraphic - Head - - ID - 1 - - ID - 65 - Points - - {127.88466016905706, 260.02661401201084} - {182, 298} - {239.31517335379993, 260.01562539344866} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - LineType - 1 - Pattern - 2 - TailArrow - 0 - - - Tail - - ID - 60 - - - - Class - LineGraphic - Head - - ID - 62 - - ID - 64 - Points - - {99.428574466795965, 357.36155734788679} - {99.428574466795965, 408.40714100651519} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - LineType - 1 - Pattern - 2 - TailArrow - 0 - - - Tail - - ID - 61 - - - - Class - LineGraphic - Head - - ID - 61 - - ID - 63 - Points - - {99.428577429581708, 259.73941040039062} - {99.428577429581708, 316.99999379946178} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - LineType - 1 - Pattern - 2 - TailArrow - 0 - - - - - Bounds - {{43.999996185302734, 408.90715086493856}, {110.85714285714285, 39.361563517915329}} - Class - ShapedGraphic - ID - 62 - Shape - Circle - Style - - stroke - - Pattern - 2 - - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 SchedTask} - VerticalPad - 0 - - - - Bounds - {{43.999996185303019, 317.49999381193857}, {110.85714285714285, 39.361563517915329}} - Class - ShapedGraphic - ID - 61 - Shape - Rectangle - Style - - stroke - - Pattern - 2 - - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Sched} - - - - Bounds - {{43.999996185303019, 220.3778492433627}, {110.85714285714285, 39.361563517915329}} - Class - ShapedGraphic - ID - 60 - Shape - Rectangle - Style - - stroke - - Pattern - 2 - - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 IOThread} - - - - Bounds - {{52.999996185303019, 226.59283295671781}, {110.85714285714285, 39.361563517915329}} - Class - ShapedGraphic - ID - 59 - Shape - Rectangle - Style - - stroke - - Pattern - 2 - - - - - Bounds - {{61.999996185303019, 232.80781667007324}, {110.85714285714285, 39.361563517915329}} - Class - ShapedGraphic - ID - 58 - Shape - Rectangle - Style - - stroke - - Pattern - 2 - - - - - Bounds - {{287.85714721679688, 448.76870727539062}, {55, 14}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 57 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 pipeline} - VerticalPad - 0 - - - - Class - LineGraphic - Head - - ID - 48 - - ID - 55 - Points - - {269.42856436630228, 357.86155972125096} - {269.42856436630228, 408.90714337987902} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - LineType - 1 - TailArrow - 0 - - - Tail - - ID - 46 - - - - Bounds - {{420.92855834960938, 477.51139831542969}, {55, 14}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 53 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 GPU_0} - VerticalPad - 0 - - - - Bounds - {{241.92855834960938, 477.51139831542969}, {55, 14}} - Class - ShapedGraphic - FitText - Vertical - Flow - Resize - ID - 52 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Pad - 0 - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 SPE_0} - VerticalPad - 0 - - - - Class - LineGraphic - Head - - ID - 50 - - ID - 51 - Points - - {448.42857768049697, 260.23941277284547} - {448.42857768049697, 322.07980726992668} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - LineType - 1 - TailArrow - 0 - - - Tail - - ID - 38 - - - - Bounds - {{393.00000000000028, 322.57980728149414}, {110.85714285714285, 39.361563517915329}} - Class - ShapedGraphic - ID - 50 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Sched} - - - - Class - LineGraphic - Head - - ID - 46 - - ID - 49 - Points - - {269.42858124427897, 260.23941277375479} - {269.42858124427897, 317.49999617282594} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - LineType - 1 - TailArrow - 0 - - - Tail - - ID - 1 - - - - Bounds - {{214, 409.40715323830273}, {110.85714285714285, 39.361563517915329}} - Class - ShapedGraphic - ID - 48 - Shape - Circle - Style - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 SchedTask} - VerticalPad - 0 - - - - Bounds - {{214.00000000000028, 317.99999618530273}, {110.85714285714285, 39.361563517915329}} - Class - ShapedGraphic - ID - 46 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 Sched} - - - - Class - LineGraphic - Head - - ID - 38 - - ID - 45 - Points - - {299.08385353030013, 260.01859785996538} - {357, 298.99999618530273} - {417.4799261062052, 260.01033075395998} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - LineType - 1 - TailArrow - 0 - - - Tail - - ID - 1 - - - - Class - LineGraphic - Head - - ID - 1 - - ID - 44 - Points - - {410.05150468063027, 184.76761148692478} - {376, 190} - {311.78018111912928, 220.16527280798064} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - LineType - 1 - TailArrow - 0 - - - Tail - - ID - 33 - - - - Class - LineGraphic - Head - - ID - 33 - - ID - 43 - Points - - {469.84807651804772, 133.61204509542438} - {470.85714285714306, 136} - {466.06586312209873, 156.77024974340137} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - LineType - 1 - TailArrow - 0 - - - Tail - - ID - 32 - - - - Class - LineGraphic - Head - - ID - 32 - - ID - 42 - Points - - {415.6592286588338, 68.813305449413249} - {452, 73} - {456.77028210662797, 93.585287881626527} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - LineType - 1 - TailArrow - 0 - - - Tail - - ID - 31 - - - - Class - LineGraphic - Head - - ID - 31 - - ID - 41 - Points - - {269.50114616224988, 93.947495173545306} - {276, 82.361563517915272} - {299.43280267715488, 73.910270690917969} - {312.3866130318894, 71.60115337282717} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - LineType - 1 - TailArrow - 0 - - - Tail - - ID - 30 - - - - Class - LineGraphic - Head - - ID - 30 - - ID - 40 - Points - - {212.68407754871848, 68.785721218907781} - {232.00000000000028, 71} - {246.26327983506164, 94.037977435588928} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - LineType - 1 - TailArrow - 0 - - - Tail - - ID - 29 - - - - Class - LineGraphic - Head - - ID - 29 - - ID - 39 - Points - - {58.88139085103527, 93.549841965712503} - {62, 75.3615635179153} - {106.87798027806939, 69.520485635476831} - - Style - - stroke - - HeadArrow - FilledArrow - Legacy - - LineType - 1 - TailArrow - 0 - - - Tail - - ID - 28 - - - - Bounds - {{393.00000000000023, 220.3778492433627}, {110.85714285714285, 39.361563517915329}} - Class - ShapedGraphic - ID - 38 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 GPUThread} - - - - Bounds - {{402.00000000000023, 226.59283295671781}, {110.85714285714285, 39.361563517915329}} - Class - ShapedGraphic - ID - 37 - Shape - Rectangle - - - Bounds - {{411.00000000000023, 232.80781667007324}, {110.85714285714285, 39.361563517915329}} - Class - ShapedGraphic - ID - 36 - Shape - Rectangle - - - Bounds - {{214.00000000000028, 220.3778492433627}, {110.85714285714285, 39.361563517915329}} - Class - ShapedGraphic - ID - 1 - Shape - Rectangle - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 CPUThread} - - - - Bounds - {{223.00000000000028, 226.59283295671781}, {110.85714285714285, 39.361563517915329}} - Class - ShapedGraphic - ID - 34 - Shape - Rectangle - - - Bounds - {{406, 157.19217789367255}, {110.85714285714285, 39.361563517915329}} - Class - ShapedGraphic - ID - 33 - Shape - Circle - Style - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 TaskList} - VerticalPad - 0 - - - - Bounds - {{406, 94.006509439176284}, {110.85714285714285, 39.361563517915329}} - Class - ShapedGraphic - ID - 32 - Shape - Circle - Style - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 activeTask\ -Queue} - VerticalPad - 0 - - - - Bounds - {{307, 43.000003814697237}, {110.85714285714285, 39.361563517915329}} - Class - ShapedGraphic - ID - 31 - Shape - Circle - Style - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 setTaskList} - VerticalPad - 0 - - - - Bounds - {{203.00000095367432, 94.006514657980475}, {110.85714285714285, 39.361563517915329}} - Class - ShapedGraphic - ID - 30 - Shape - Circle - Style - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 HTask} - VerticalPad - 0 - - - - Bounds - {{104, 42.999999999999943}, {110.85714285714285, 39.361563517915329}} - Class - ShapedGraphic - ID - 29 - Shape - Circle - Style - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 TaskManager} - VerticalPad - 0 - - - - Bounds - {{0, 94.006511899469331}, {110.85714285714285, 39.361563517915329}} - Class - ShapedGraphic - ID - 28 - Shape - Circle - Style - - Text - - Text - {\rtf1\ansi\ansicpg932\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 CreateTask\ -spawn} - VerticalPad - 0 - - - - Bounds - {{232.00000000000028, 232.80781667007324}, {110.85714285714285, 39.361563517915329}} - Class - ShapedGraphic - ID - 35 - Shape - Rectangle - - - GridInfo - - HPages - 1 - KeepToScale - - Layers - - - Lock - NO - Name - レイヤー 1 - Print - YES - View - YES - - - LayoutInfo - - Animate - NO - circoMinDist - 18 - circoSeparation - 0.0 - layoutEngine - dot - neatoSeparation - 0.0 - twopiSeparation - 0.0 - - Orientation - 2 - PrintOnePage - - RowAlign - 1 - RowSpacing - 36 - SheetTitle - キャンバス 1 - UniqueID - 1 - VPages - 1 - - - ActiveLayerIndex - 0 - AutoAdjust - - BackgroundGraphic - - Bounds - {{0, 0}, {559.00000476837158, 783}} - Class - SolidGraphic - ID - 2 - Style - - shadow - - Draws - NO - - stroke - - Draws - NO - - - - BaseZoom - 0 - CanvasOrigin - {0, 0} - ColumnAlign - 1 - ColumnSpacing - 36 - DisplayScale - 1 0/72 in = 1.0000 in - GraphicsList - - GridInfo - - HPages - 1 - KeepToScale - - Layers - - - Lock - NO - Name - レイヤー 1 - Print - YES - View - YES - - - LayoutInfo - - Animate - NO - circoMinDist - 18 - circoSeparation - 0.0 - layoutEngine - dot - neatoSeparation - 0.0 - twopiSeparation - 0.0 - - Orientation - 2 - PrintOnePage - - RowAlign - 1 - RowSpacing - 36 - SheetTitle - キャンバス 2 - UniqueID - 2 - VPages - 1 - - - SmartAlignmentGuidesActive - YES - SmartDistanceGuidesActive - YES - UseEntirePage - - WindowInfo - - CurrentSheet - 1 - ExpandedCanvases - - Frame - {{-5, 496}, {694, 922}} - ListView - - OutlineWidth - 142 - RightSidebar - - ShowRuler - - Sidebar - - SidebarWidth - 120 - VisibleRegion - {{0, 0}, {559, 783}} - Zoom - 1 - ZoomValues - - - キャンバス 1 - 1 - 1 - - - キャンバス 2 - 1 - 1 - - - - - diff -r 43c6da29d688 -r d8f499590d82 2014/January/figure/io_speany.pdf Binary file 2014/January/figure/io_speany.pdf has changed diff -r 43c6da29d688 -r d8f499590d82 2014/January/figure/io_speany.plt --- a/2014/January/figure/io_speany.plt Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,152 +0,0 @@ -#!/usr/local/bin/gnuplot -persist -# -# -# G N U P L O T -# Version 4.2 patchlevel 6 -# last modified Sep 2009 -# System: Darwin 13.0.0 -# -# Copyright (C) 1986 - 1993, 1998, 2004, 2007 - 2009 -# Thomas Williams, Colin Kelley and many others -# -# Type `help` to access the on-line reference manual. -# The gnuplot FAQ is available from http://www.gnuplot.info/faq/ -# -# Send bug reports and suggestions to -# -# set terminal aqua 0 title "Figure 0" size 846,594 font "Times-Roman,14" noenhanced solid -# set output -unset clip points -set clip one -unset clip two -set bar 1.000000 -set border 31 front linetype -1 linewidth 1.000 -set xdata -set ydata -set zdata -set x2data -set y2data -set timefmt x "%d/%m/%y,%H:%M" -set timefmt y "%d/%m/%y,%H:%M" -set timefmt z "%d/%m/%y,%H:%M" -set timefmt x2 "%d/%m/%y,%H:%M" -set timefmt y2 "%d/%m/%y,%H:%M" -set timefmt cb "%d/%m/%y,%H:%M" -set boxwidth -set style fill empty border -set style rectangle back fc lt -3 fillstyle solid 1.00 border -1 -set dummy x,y -set format x "% g" -set format y "% g" -set format x2 "% g" -set format y2 "% g" -set format z "% g" -set format cb "% g" -set angles radians -set grid nopolar -set grid xtics nomxtics ytics nomytics noztics nomztics \ - nox2tics nomx2tics noy2tics nomy2tics nocbtics nomcbtics -set grid layerdefault linetype 0 linewidth 1.000, linetype 0 linewidth 1.000 -set key title "" -set key inside right top vertical Right noreverse enhanced autotitles nobox -set key noinvert samplen 4 spacing 1 width 0 height 0 -unset label -unset arrow -set style increment default -unset style line -unset style arrow -set style histogram clustered gap 2 title offset character 0, 0, 0 -unset logscale -set offsets 0, 0, 0, 0 -set pointsize 1 -set encoding default -unset polar -unset parametric -unset decimalsign -set view 60, 30, 1, 1 -set samples 100, 100 -set isosamples 10, 10 -set surface -unset contour -set clabel '%8.3g' -set mapping cartesian -set datafile separator whitespace -unset hidden3d -set cntrparam order 4 -set cntrparam linear -set cntrparam levels auto 5 -set cntrparam points 5 -set size ratio 0 1,1 -set origin 0,0 -set style data points -set style function lines -set xzeroaxis linetype -2 linewidth 1.000 -set yzeroaxis linetype -2 linewidth 1.000 -set zzeroaxis linetype -2 linewidth 1.000 -set x2zeroaxis linetype -2 linewidth 1.000 -set y2zeroaxis linetype -2 linewidth 1.000 -set ticslevel 0.5 -set mxtics default -set mytics default -set mztics default -set mx2tics default -set my2tics default -set mcbtics default -set xtics border in scale 1,0.5 mirror norotate offset character 0, 0, 0 -set xtics 1 norangelimit -set ytics border in scale 1,0.5 mirror norotate offset character 0, 0, 0 -set ytics autofreq norangelimit -set ztics border in scale 1,0.5 nomirror norotate offset character 0, 0, 0 -set ztics autofreq norangelimit -set nox2tics -set noy2tics -set cbtics border in scale 1,0.5 mirror norotate offset character 0, 0, 0 -set cbtics autofreq norangelimit -set title "" -set title offset character 0, 0, 0 font "" norotate -set timestamp bottom -set timestamp "" -set timestamp offset character 0, 0, 0 font "" norotate -set rrange [ * : * ] noreverse nowriteback # (currently [0.00000:10.0000] ) -set trange [ * : * ] noreverse nowriteback # (currently [-5.00000:5.00000] ) -set urange [ * : * ] noreverse nowriteback # (currently [-5.00000:5.00000] ) -set vrange [ * : * ] noreverse nowriteback # (currently [-5.00000:5.00000] ) -set xlabel "" -set xlabel offset character 0, 0, 0 font "" textcolor lt -1 norotate -set x2label "" -set x2label offset character 0, 0, 0 font "" textcolor lt -1 norotate -set xrange [ 1.00000 : 4.00000 ] noreverse nowriteback -set x2range [ * : * ] noreverse nowriteback # (currently [-10.0000:10.0000] ) -set ylabel "" -set ylabel offset character 0, 0, 0 font "" textcolor lt -1 rotate by 90 -set y2label "" -set y2label offset character 0, 0, 0 font "" textcolor lt -1 rotate by 90 -set yrange [ 0.00000 : 130.000 ] noreverse nowriteback -set y2range [ * : * ] noreverse nowriteback # (currently [-10.0000:10.0000] ) -set zlabel "" -set zlabel offset character 0, 0, 0 font "" textcolor lt -1 norotate -set zrange [ * : * ] noreverse nowriteback # (currently [-10.0000:10.0000] ) -set cblabel "" -set cblabel offset character 0, 0, 0 font "" textcolor lt -1 rotate by 90 -set cbrange [ * : * ] noreverse nowriteback # (currently [-10.0000:10.0000] ) -set zero 1e-08 -set lmargin -1 -set bmargin -1 -set rmargin -1 -set tmargin -1 -set locale "C" -set pm3d explicit at s -set pm3d scansautomatic -set pm3d interpolate 1,1 flush begin noftriangles nohidden3d corners2color mean -set palette positive nops_allcF maxcolors 0 gamma 1.5 color model RGB -set palette rgbformulae 7, 5, 15 -set colorbox default -set colorbox vertical origin screen 0.9, 0.2, 0 size screen 0.05, 0.6, 0 front bdefault -set loadpath -set fontpath -set xlabel "CPU_NUM" -set ylabel "ms" -set fit noerrorvariables -GNUTERM = "aqua" -plot "./io_speany.txt" using 1:2 title "MMAP & SPE_ANY" with lines,"./io_speany.txt" using 1:3 title "divide read & SPE_ANY" with lines,"./io_speany.txt" using 1:4 title "MMAP & IO_0" with lines,"./io_speany.txt" using 1:5 title "divide read & IO_0" with lines -# EOF diff -r 43c6da29d688 -r d8f499590d82 2014/January/figure/io_speany.txt --- a/2014/January/figure/io_speany.txt Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,4 +0,0 @@ -1 102.260 82.814 102.824 84.670 -2 75.201 127.040 72.691 71.691 -3 60.065 77.703 60.065 68.778 -4 58.234 72.097 58.230 66.016 diff -r 43c6da29d688 -r d8f499590d82 2014/January/figure/plot.gpi --- a/2014/January/figure/plot.gpi Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,147 +0,0 @@ -#!/usr/local/bin/gnuplot -persist -# -# -# G N U P L O T -# Version 4.2 patchlevel 6 -# last modified Sep 2009 -# System: Darwin 12.4.0 -# -# Copyright (C) 1986 - 1993, 1998, 2004, 2007 - 2009 -# Thomas Williams, Colin Kelley and many others -# -# Type `help` to access the on-line reference manual. -# The gnuplot FAQ is available from http://www.gnuplot.info/faq/ -# -# Send bug reports and suggestions to -# -# set terminal x11 0 -# set output -unset clip points -set clip one -unset clip two -set bar 1.000000 -set border 31 front linetype -1 linewidth 1.000 -set xdata -set ydata -set zdata -set x2data -set y2data -set timefmt x "%d/%m/%y,%H:%M" -set timefmt y "%d/%m/%y,%H:%M" -set timefmt z "%d/%m/%y,%H:%M" -set timefmt x2 "%d/%m/%y,%H:%M" -set timefmt y2 "%d/%m/%y,%H:%M" -set timefmt cb "%d/%m/%y,%H:%M" -set boxwidth -set style fill empty border -set style rectangle back fc lt -3 fillstyle solid 1.00 border -1 -set dummy x,y -set format x "% g" -set format y "% g" -set format x2 "% g" -set format y2 "% g" -set format z "% g" -set format cb "% g" -set angles radians -unset grid -set key title "" -set key inside right top vertical Right noreverse enhanced autotitles nobox -set key noinvert samplen 4 spacing 1 width 0 height 0 -unset label -unset arrow -set style increment default -unset style line -unset style arrow -set style histogram clustered gap 2 title offset character 0, 0, 0 -unset logscale -set offsets 0, 0, 0, 0 -set pointsize 1 -set encoding default -unset polar -unset parametric -unset decimalsign -set view 60, 30, 1, 1 -set samples 100, 100 -set isosamples 10, 10 -set surface -unset contour -set clabel '%8.3g' -set mapping cartesian -set datafile separator whitespace -unset hidden3d -set cntrparam order 4 -set cntrparam linear -set cntrparam levels auto 5 -set cntrparam points 5 -set size ratio 0 1,1 -set origin 0,0 -set style data points -set style function lines -set xzeroaxis linetype -2 linewidth 1.000 -set yzeroaxis linetype -2 linewidth 1.000 -set zzeroaxis linetype -2 linewidth 1.000 -set x2zeroaxis linetype -2 linewidth 1.000 -set y2zeroaxis linetype -2 linewidth 1.000 -set ticslevel 0.5 -set mxtics default -set mytics default -set mztics default -set mx2tics default -set my2tics default -set mcbtics default -set xtics border in scale 1,0.5 mirror norotate offset character 0, 0, 0 -set xtics autofreq norangelimit -set ytics border in scale 1,0.5 mirror norotate offset character 0, 0, 0 -set ytics autofreq norangelimit -set ztics border in scale 1,0.5 nomirror norotate offset character 0, 0, 0 -set ztics autofreq norangelimit -set nox2tics -set noy2tics -set cbtics border in scale 1,0.5 mirror norotate offset character 0, 0, 0 -set cbtics autofreq norangelimit -set title "" -set title offset character 0, 0, 0 font "" norotate -set timestamp bottom -set timestamp "" -set timestamp offset character 0, 0, 0 font "" norotate -set rrange [ * : * ] noreverse nowriteback # (currently [0.00000:10.0000] ) -set trange [ * : * ] noreverse nowriteback # (currently [-5.00000:5.00000] ) -set urange [ * : * ] noreverse nowriteback # (currently [-5.00000:5.00000] ) -set vrange [ * : * ] noreverse nowriteback # (currently [-5.00000:5.00000] ) -set xlabel "CPU num" -set xlabel offset character 0, 0, 0 font "" textcolor lt -1 norotate -set x2label "" -set x2label offset character 0, 0, 0 font "" textcolor lt -1 norotate -set xrange [ 1.00000 : 12.0000 ] noreverse nowriteback -set x2range [ * : * ] noreverse nowriteback # (currently [-10.0000:10.0000] ) -set ylabel "time(ms)" -set ylabel offset character 0, 0, 0 font "" textcolor lt -1 rotate by 90 -set y2label "" -set y2label offset character 0, 0, 0 font "" textcolor lt -1 rotate by 90 -set yrange [ * : * ] noreverse nowriteback # (currently [-10.0000:10.0000] ) -set y2range [ * : * ] noreverse nowriteback # (currently [-10.0000:10.0000] ) -set zlabel "" -set zlabel offset character 0, 0, 0 font "" textcolor lt -1 norotate -set zrange [ * : * ] noreverse nowriteback # (currently [-10.0000:10.0000] ) -set cblabel "" -set cblabel offset character 0, 0, 0 font "" textcolor lt -1 rotate by 90 -set cbrange [ * : * ] noreverse nowriteback # (currently [-10.0000:10.0000] ) -set zero 1e-08 -set lmargin -1 -set bmargin -1 -set rmargin -1 -set tmargin -1 -set locale "C" -set pm3d explicit at s -set pm3d scansautomatic -set pm3d interpolate 1,1 flush begin noftriangles nohidden3d corners2color mean -set palette positive nops_allcF maxcolors 0 gamma 1.5 color model RGB -set palette rgbformulae 7, 5, 15 -set colorbox default -set colorbox vertical origin screen 0.9, 0.2, 0 size screen 0.05, 0.6, 0 front bdefault -set loadpath -set fontpath -set fit noerrorvariables -GNUTERM = "aqua" -plot "statistics.txt" using 1:2 w l title "MAX time", "statistics.txt" using 1:3 w l title "min time", "statistics.txt" using 1:4 w l title "average time" -# EOF diff -r 43c6da29d688 -r d8f499590d82 2014/January/memo/08th.txt --- a/2014/January/memo/08th.txt Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,22 +0,0 @@ -Cerium 読み読み - kernel/ppe/CpuThreads.h - CpuThreads::~CpuThreads() にて cpu_num + io_num 分を send_mail 、 pthread_join 、 delete args[i].scheduler している。 - pthread_join は 指定 Threads が合流するまで動作をブロックし、その後 pthread_create したものを解放する。 - cpu_thread_arg_t をここで削除している。 - - CpuThreads::send_mail(int cpuid, int num, memaddr *data) CERIUM_GPU のときと条件が違う。今回は not CERIUM_GPU を見ていく。 - args[cpuid-id_offset].scheduler->mail_write_from_host(*data); - args は cpu_thread_arg_t であり、その中に宣言されている scheduler は MainScheduler である。 - scheduler->mail_write_from_host() は fifoDmaManager->mail_write_from_host(data) を返す。 - fifoDmaManager は・・・わからん・・・ - - CpuThreads::has_mail(int cpuid, int count, memaddr *ret) は args[cpuid-id_offset].scheduler->has_mail_from_host() が - 0 でないときに get_mail する。 - args[cpuid-id_offset].scheduler->has_mail_from_host() (FifoDmaManager::has_mail_from_host() )は - mail_queue->count() を返す。 - - MainScheduler.h は ManyCore/MainScheduler.h にある。 - - CpuThreads::cpu_thread_run(void *args) は SpeTaskManagerImpl を呼び出して、 c_scheduler ( Scheduler 型) に - cpuid 、 mincpu 、 maxcpu を格納する。それらを TaskManagerImpl::set_scheduler に 初期設定した c_scheduler を渡す。 - argt->wait->sem_v() で、準備完了したスレッドができるたんびに、セマフォに 1 加える。 diff -r 43c6da29d688 -r d8f499590d82 2014/January/memo/21st.txt --- a/2014/January/memo/21st.txt Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,73 +0,0 @@ -・Ceriumの並列処理向けIOの研究 - -・研究内容 -・マルチコアCPUを活かすためには並列度を向上させていくのがCerium -・ファイル読み込み等のIO部分を並列に実装する部分を作成していく -・IOと並列処理の関係 -・この場合のIOもファイル -・1GBのファイルがあったらそれを10個、100個に分割して走らせる -・ファイル分割による並列 -・そういったものを自明に走らせる(1つめ) -・読み込みながら処理して、読み込み終わりで処理を終えたい -・読み込みと計算が同時に進む(2つめ) -・読み込み自体を並列する -・それらを実現するライブラリをつくりたい - -・正規表現はおまけ -・grepとかwcとか - -・したこと -・wcの部分、分割readが出来るようになった -・IOスレッドいまから動かす -・1つのファイルにたいしてmmapつかって -・メモリにtextデータ格納していた -・いまはreadを使って -・1度に読み込むのではなく、 -・あるサイズ単位で読み込ませていく? - -・読み込みと実際の計算をやる -・分割したファイル自体を並行実行する -・今回は1つしか書いてなかった -・読み込みながらちゃんと並列に計算できているか -・それを調べるには? -・表示した瞬間に測定できなくなる -・IOの並列度はそういうもの -・時間とlogだけで判断しなければならない - -・mmapと速度的にどうなのか? -・測定しないと駄目 - -・readする単位をでかくすれば早くなるはず -・最初に計算をするのが遅くなる -・最初に全部読み込むことになったらバランスが悪くなる -・最初だけ小さくしてあとから大きくするという工夫とか - -・ファイルはcacheに入ってしまう -・cacheの効果がどうなるか -・low read(ファイルを読み込むだけ)これで早くなっているはず -・read rootを回すだけと変わらなかったらそれの原因を確かめないといけない - -・readの代わりにmmapするという方法がある -・最初のタスクの時に同時に投入できる - -・mmapよりreadが早い・・・迷信? -・これがどうなのかを証明していく - -・ファイルサイズをメモリよりも大きくしないといけない -・100GBのデータを作って実験? -・fireflyだったら16GB以上 -・自機では4GB以上 - -・map reduceでまとめたい -・map reduceに似ていると言われる? - -・mmmapの解説 -・64bitアーキテクチャ -・read map よりも mmap がよいと言われている -・遅い時期があったため、遅いと言われている -・コピーしなくてすむからmmapはwriteの方が早いと言われている - -・評価(ベンチマーク) -・mmap、map reduceの解説をかく - -・卒論は、理解することをアピールするためにかく diff -r 43c6da29d688 -r d8f499590d82 2014/January/memo/22nd.txt --- a/2014/January/memo/22nd.txt Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ -2014/01/22 (Wed) - - [今後の実験方針] - ・とりあえず memory 以上のファイルを生成してそれを噛ませばいちいち再起動しなくても測れるよね?? - ・Linux でも試してみよう (blade上でも試してみよう) hyper threading 込みの 24 Coreまで。 - ・パラメータ調整してどう実行結果に影響するのかも計測 - ・分割 read → 分割 mmap で書き換えて早くなるかどうか。 - - [実験] - ・kernel から cache を追い出すために再起動して実験という原始的なことをした。 - とりあえず、全部のデータをとったけど、もう 2:00 なので明日にデータをとりあえずまとめよう。 diff -r 43c6da29d688 -r d8f499590d82 2014/January/memo/23rd.txt --- a/2014/January/memo/23rd.txt Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,68 +0,0 @@ -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, 33.418 - D_Read , 3, 68.778, 30.471 - D_Read , 4, 66.016, 30.357 diff -r 43c6da29d688 -r d8f499590d82 2014/January/memo/29th.txt --- a/2014/January/memo/29th.txt Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,14 +0,0 @@ -2014/01/29 (Wed) - - ギックリ腰 4日目痛い・・・ - [実験環境] - blade sarver10 - one@bldsv10.cr.ie.u-ryukyu.ac.jp - memory 132GB !? - - [OS研究会 title] - kkb Cerium - masa Cerium による並列処理向け I/O の設計と実装 - kaito llvm - taitai OS - sugimoto Alice(?) diff -r 43c6da29d688 -r d8f499590d82 2014/January/memo/31st.txt --- a/2014/January/memo/31st.txt Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,7 +0,0 @@ -2014/01/31 (Fri) - - [論文の書き方について] - 「序論で述べたとおり」と書くよりは、その内容をそのまま書いたほうがよい - ->全部丁寧に読むわけではなく、飛ばし読みするので - - subsubsection 使用するのは禁止!! diff -r 43c6da29d688 -r d8f499590d82 2014/January/slide/14th.html --- a/2014/January/slide/14th.html Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,144 +0,0 @@ - - - - - - - slide - - - - - - - - - -
    - - - -
    -

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

    -

    - Masataka Kohagura -
    - 14th January , 2014 -

    -
    - -
    -

    - 研究目的 -

    -

    - 当研究室では、CellやマルチコアCPUで並列プログラミングを可能にするCerium Task Managerを開発している。 -

    -

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

    -

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

    - -
    - -
    -

    - したこと -

    -
      - -
    • - マルチコアCPUの並列プログラミングの勉強 -
    • - -
    • - Ceriumのソース読み(ppe中心に) -
    • - -
        -
    - -
    -

    - 今後のスケジュール -

    -
      -
    • - 後期院試試験・2/12 -
    • - -
    • - 卒検発表・2/27,28 -
    • -
    -
    - - -
    - -

    - make が通らない ( TaskManager を parallel で make したとき) -

    -
    -%  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
    -
    - -
    - - - diff -r 43c6da29d688 -r d8f499590d82 2014/January/slide/21st.html --- a/2014/January/slide/21st.html Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,177 +0,0 @@ - - - - - - - slide - - - - - - - - - -
    - - - -
    -

    - Cerium の並列処理向け I/O の設計と実装 -

    -

    - Masataka Kohagura -
    - 21st January , 2014 -

    -
    - -
    -

    - 研究目的 -

    -

    - 当研究室では、CellやマルチコアCPUで並列プログラミングを可能にするCerium Task Managerを開発している。 -

    -

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

    -

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

    - - -
    - -
    -

    - したこと -

    -
      - -
    • - regex_mas に divide read の実装(未測定) - ちゃんと中身まで書こう -
    • -
        -
    - -
    -

    - 卒論 目次 -

    - -

    -第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 今後の課題
    -

    - -
    - -
    -

    - 今後のスケジュール -

    - -
      -
    • - 後期院試試験・2/12 -
    • - -
    • - 卒検発表・2/27,28 -
    • -
    -
    - - - -
    - -

    - make が通らない ( TaskManager を parallel で make したとき) -

    -
    -%  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
    -
    - -
    - - - diff -r 43c6da29d688 -r d8f499590d82 2014/March/memo/16th.txt --- a/2014/March/memo/16th.txt Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,20 +0,0 @@ -2014/02/01 (Sat) - [program] - wait_for かけたいけど、どうしようか - - 現状 - divide read が完全に終わってから Task が走る - -> 読み込んでから実行してるしあまりはやくならねーよ - - 理想 - divide read しながら Task 走るのが一番の理想 - -> divide read が最初からちゃんと走るけど、 Task が追い越してしまうので - それをどう同期とろうか悩み中 - - 2GB 以上を取ろうとすると - regex(19797,0x7fff75dad310) malloc: *** mach_vm_map(size=18446744071569698816) failed (error code=3) - *** error: can't allocate region - *** set a breakpoint in malloc_error_break to debug - Can't allocate memory - - もしかして、allocate sizeに限界がある?? diff -r 43c6da29d688 -r d8f499590d82 2014/March/slide/04th.html --- a/2014/March/slide/04th.html Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,179 +0,0 @@ - - - - - - - slide - - - - - - - - - -
    - - - -
    -

    - Cerium の並列処理向け I/O の設計と実装 -

    -

    - Masataka Kohagura -
    - 21st January , 2014 -

    -
    - -
    -

    研究背景と目的

    -

    - 近年のCPUのほとんどはマルチコアであり、それらの性能を引き出すためには並列プログラミングが必須となっている。そこで当研究室では Cerium Library の開発を行い、提供することによって並列プログラミングを容易にしている。 -

    -

    - 先行研究では Task の並列化によって、プログラム全体の処理速度は向上しているが、ファイル読み込み等の I/O に対して並列に Task が動作するようにはされていない。 -

    -

    - 現状では、ファイルを全て memory に mapping を行ってから Task が走るようになっているので、非常に大きいサイズのファイルを読み込むと、ファイルを memory に mapping するまでの時間がオーバーヘッドになってしまう。 -

    -

    - 本研究では I/O と Task の並列化の設計、実装によってプログラム全体の処理速度、処理効率を上げていく。 -

    -
    - -
    -

    - したこと -

    -
      - -
    • - 2GB 以上のファイルが読み込めなかった -> 修正 -
    • - -
    • - fileread をちょっとだけ測定 -
    • -
        -
    - - - -
    - -

    2GB 以上のファイルが読み込めなかった -> 修正

    -

    - manager->allocate(int) を使用したところ -

    -
    -if (divide_read_flag != 0) {
    -    printf("[divide read mode]\n");
    -    w->file_mmap = (char*)manager->allocate((long)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);
    -}
    -
    -

    - divide read をする前に manager->alocate にて memory を確保する。 - この領域に、分割して読み込んだ file を mapping していく。 -

    -
    - -
    -

    - kernel/ppe/TaskManagerImpl.h -

    -

    修正前

    - -
    -void* allocate(int size, int alignment)
    -{
    -#if defined(__SPU__) || ! defined(HAS_POSIX_MEMALIGN)
    -    buff =  malloc(size);
    -#else
    -    posix_memalign(&buff, alignment, size);
    -#endif
    -    return buff;
    -}
    -
    - -

    修正後

    -
    -void* allocate(long size, int alignment)
    -{
    -    ・・・
    -}
    -
    - -
    - -
    -

    - fileread -

    -

    - ファイルの読み込みだけを行うプログラム -

    -

    - firefly 上で実行
    - 2*2.66 GHz, HHD 1TB, memory 16GB
    - file size : 10740996168 Byte (約10GB) -

    - - - -
    - - - - - -
    modetime(s)
    mmap0.194788
    read_divide_size
    4*4096 Byte391.734989
    4*4096*1024 Byte123.563726
    - - -
    - - - diff -r 43c6da29d688 -r d8f499590d82 2014/OUTLINE --- a/2014/OUTLINE Sun Mar 16 13:22:03 2014 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,103 +0,0 @@ -2014/02/24 (Mon) - [memo] - mmap の flag をいろいろかえてみて計測 (firefly上) - -2014/02/14 (Fri) - [Today's goal] - 論文 : それぞれの chapter の OUTLINE を書き上げる - - [memo] - mmap malloc について調べてみた - -2014/02/12 (Wed) - [memo] - 院試発表反省会 - ---------------------------------------------------------------------------- - -2014/02/08 (Sun) - [images] - blockread.png --> final/slide/images - -2014/02/07 (Fri) - [Today's goal] - mmap を Task から 関数に変更 - 微調整 - 様々な測定 - - [memo] - kono先生のよくわからない話シリーズ - -2014/02/06 (Thu) - [Today's goal] - divide read と Task 実行の並列化 - - [memo] - divide read と Task の並列実行時、様々なエラーがおこる - まさかの allocate miss - make clean; make -j gpu - -2014/02/05 (Wed) - [Today's goal] - DEBUG オプションから時間測定ができるようにしたい。 - (現在は 例題から時間をセットしている。) - - divide read と Task 実行の並列化 - - [memo] - ---------------------------------------------------------------------------- -2014/02/04 (Tue) - [memo] - firefly で BMsearch の測定 (途中) - -2014/02/03 (Mon) - [memo] - wbuf の address が 2GB 程度でおかしい挙動をする。それの調査。 - 2GB 以上でおかしくなっていた問題を解決。 - -2014/02/02 (Sun) - [memo] - manager->allocate まわりの修正 - -2014/02/01 (Sat) - [memo] - divide read と Task の同期について - allocate の問題があり (2GB 以上から) - -2014/01/31 (Fri) - [memo] - 論文の書き方について - -2014/01/29 (Wed) - [memo] - ブレードサーバの在処 - OS 研究会について - - [figure] - read 部分の set cpu を SPE_ANY or IO_0 でどうなるか計測 - io_speany が gnuplot の set Data グラフを作成 - -2014/01/23 (Thu) - [memo] - 1/22 の実験結果のまとめ - ---------------------------------------------------------------------------- - -2014/01/22 (Wed) - [memo] - 今後の実験方針 - 測定方法のまとめ - データとったよ!! (fileread,regex_mas) - ただし明日にデータを綺麗にまとめる - - -2014/01/21 (Tue) - [memo] - ゼミまとめ - Ceriumの並列処理向けI/Oの研究 へタイトルの変更 - 1/21時点でこれからさらにやること - - [slide] - regex_mas にて divide read を組み込めた (未検証) - 卒論目次のまとめ&訂正