# HG changeset patch # User Masataka Kohagura # Date 1386656707 -32400 # Node ID c9b2998eb5169a80ab1187f9e4927d8c5d1d3626 add slide diff -r 000000000000 -r c9b2998eb516 April-2013/16th.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/April-2013/16th.html Tue Dec 10 15:25:07 2013 +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 000000000000 -r c9b2998eb516 April-2013/2nd.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/April-2013/2nd.html Tue Dec 10 15:25:07 2013 +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 000000000000 -r c9b2998eb516 April-2013/30th.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/April-2013/30th.html Tue Dec 10 15:25:07 2013 +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 000000000000 -r c9b2998eb516 April-2013/9th.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/April-2013/9th.html Tue Dec 10 15:25:07 2013 +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 000000000000 -r c9b2998eb516 April-2013/LT-DTM.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/April-2013/LT-DTM.html Tue Dec 10 15:25:07 2013 +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 000000000000 -r c9b2998eb516 April-2013/LT-fear.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/April-2013/LT-fear.html Tue Dec 10 15:25:07 2013 +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 000000000000 -r c9b2998eb516 Aug-2013/20th.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Aug-2013/20th.html Tue Dec 10 15:25:07 2013 +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 000000000000 -r c9b2998eb516 Aug-2013/6th.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Aug-2013/6th.html Tue Dec 10 15:25:07 2013 +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 000000000000 -r c9b2998eb516 Aug-2013/graph_regexCeriumPower.eps --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Aug-2013/graph_regexCeriumPower.eps Tue Dec 10 15:25:07 2013 +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 000000000000 -r c9b2998eb516 Dec-2013/12th.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Dec-2013/12th.html Tue Dec 10 15:25:07 2013 +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 000000000000 -r c9b2998eb516 Dec-2013/19th.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Dec-2013/19th.html Tue Dec 10 15:25:07 2013 +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 000000000000 -r c9b2998eb516 Dec-2013/IO.graffle --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Dec-2013/IO.graffle Tue Dec 10 15:25:07 2013 +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 + 2013-11-08 16:50:46 +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 0/72 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 + + {289.12499362330368, 150.46109658720653} + {481.87498539586136, 150.7700104478312} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + Tail + + ID + 40 + + + + Class + LineGraphic + Head + + ID + 31 + + ID + 41 + Points + + {156.24996802372655, 106.81541470300678} + {348.50001671748436, 108.98977883291924} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + Tail + + ID + 39 + + + + Bounds + {{216.6249942779541, 140.00000187622078}, {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 + {{83.75, 95.999999609319161}, {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 + {{179, 183}, {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 + + {252.6249942779541, 68.305194792047899} + {252.6249942779541, 211} + + Style + + stroke + + HeadArrow + 0 + Legacy + + Pattern + 1 + TailArrow + 0 + + + Tail + + ID + 36 + + + + Bounds + {{216.6249942779541, 47.000000000000071}, {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 + {{48.25, 133.23110771179199}, {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 + {{482.37498474121094, 140.42591035362216}, {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 + {{348.99998474121094, 98.999999121412074}, {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 + + {518.37498474121094, 68.305191040039062} + {518.37498474121094, 211} + + Style + + stroke + + HeadArrow + 0 + Legacy + + Pattern + 1 + TailArrow + 0 + + + Tail + + ID + 4 + + + + Class + LineGraphic + ID + 6 + Points + + {384.99998474121094, 67.805194805194816} + {384.99998474121094, 211} + + Style + + stroke + + HeadArrow + 0 + Legacy + + Pattern + 1 + TailArrow + 0 + + + + + Class + LineGraphic + ID + 5 + Points + + {119.75, 68.305194792047899} + {119.75, 211} + + Style + + stroke + + HeadArrow + 0 + Legacy + + Pattern + 1 + TailArrow + 0 + + + Tail + + ID + 1 + + + + Bounds + {{482.37498474121094, 46.999996234844275}, {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 + {{349.49998474121094, 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 + {{83.75, 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 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 + {{262, -78}, {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 000000000000 -r c9b2998eb516 Dec-2013/mmap.png Binary file Dec-2013/mmap.png has changed diff -r 000000000000 -r c9b2998eb516 Dec-2013/multiread.png Binary file Dec-2013/multiread.png has changed diff -r 000000000000 -r c9b2998eb516 Dec-2013/oneread.png Binary file Dec-2013/oneread.png has changed diff -r 000000000000 -r c9b2998eb516 July-2013/000.png Binary file July-2013/000.png has changed diff -r 000000000000 -r c9b2998eb516 July-2013/001.PNG Binary file July-2013/001.PNG has changed diff -r 000000000000 -r c9b2998eb516 July-2013/002.PNG Binary file July-2013/002.PNG has changed diff -r 000000000000 -r c9b2998eb516 July-2013/003.PNG Binary file July-2013/003.PNG has changed diff -r 000000000000 -r c9b2998eb516 July-2013/004.PNG Binary file July-2013/004.PNG has changed diff -r 000000000000 -r c9b2998eb516 July-2013/005.PNG Binary file July-2013/005.PNG has changed diff -r 000000000000 -r c9b2998eb516 July-2013/006.PNG Binary file July-2013/006.PNG has changed diff -r 000000000000 -r c9b2998eb516 July-2013/15th.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/July-2013/15th.html Tue Dec 10 15:25:07 2013 +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 000000000000 -r c9b2998eb516 July-2013/23rd.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/July-2013/23rd.html Tue Dec 10 15:25:07 2013 +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 000000000000 -r c9b2998eb516 July-2013/GJ.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/July-2013/GJ.html Tue Dec 10 15:25:07 2013 +0900 @@ -0,0 +1,64 @@ + + + + + + + Game Jam + + + + + + + + + +
    + + + +
    +

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

    +

    +
    + 28th July , 2013 +

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

    +
    + +
    +

    現在の状況

    + +
    + + + diff -r 000000000000 -r c9b2998eb516 June-2013/11th.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/June-2013/11th.html Tue Dec 10 15:25:07 2013 +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 000000000000 -r c9b2998eb516 June-2013/18th.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/June-2013/18th.html Tue Dec 10 15:25:07 2013 +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 000000000000 -r c9b2998eb516 June-2013/4th.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/June-2013/4th.html Tue Dec 10 15:25:07 2013 +0900 @@ -0,0 +1,131 @@ + + + + + + + 2013-06-04 + + + + + + + + + +
    + + + +
    +

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

    +

    + Masataka Kohagura +
    + 4th June , 2013 +

    +
    + +
    +

    + 研究目的 +

    +

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

    +

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

    +
    + +
    +

    + 今週したこと +

    +

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

    +

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

    + +
    + + +
    +

    + 現在の問題点 +

    +

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

    +
    + + + diff -r 000000000000 -r c9b2998eb516 May-2013/14th.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/May-2013/14th.html Tue Dec 10 15:25:07 2013 +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 000000000000 -r c9b2998eb516 May-2013/21th.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/May-2013/21th.html Tue Dec 10 15:25:07 2013 +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 000000000000 -r c9b2998eb516 May-2013/28th.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/May-2013/28th.html Tue Dec 10 15:25:07 2013 +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 000000000000 -r c9b2998eb516 May-2013/7th.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/May-2013/7th.html Tue Dec 10 15:25:07 2013 +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 000000000000 -r c9b2998eb516 May-2013/BM.graffle --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/May-2013/BM.graffle Tue Dec 10 15:25:07 2013 +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 000000000000 -r c9b2998eb516 May-2013/BM1.jpg Binary file May-2013/BM1.jpg has changed diff -r 000000000000 -r c9b2998eb516 May-2013/BM2.jpg Binary file May-2013/BM2.jpg has changed diff -r 000000000000 -r c9b2998eb516 May-2013/regex001.jpg Binary file May-2013/regex001.jpg has changed diff -r 000000000000 -r c9b2998eb516 May-2013/search_idata.jpg Binary file May-2013/search_idata.jpg has changed diff -r 000000000000 -r c9b2998eb516 May-2013/think.graffle --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/May-2013/think.graffle Tue Dec 10 15:25:07 2013 +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 000000000000 -r c9b2998eb516 May-2013/word_count.jpg Binary file May-2013/word_count.jpg has changed diff -r 000000000000 -r c9b2998eb516 May-2013/word_count_idata.jpg Binary file May-2013/word_count_idata.jpg has changed diff -r 000000000000 -r c9b2998eb516 Nov-2013/12th.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Nov-2013/12th.html Tue Dec 10 15:25:07 2013 +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 000000000000 -r c9b2998eb516 Nov-2013/19th.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Nov-2013/19th.html Tue Dec 10 15:25:07 2013 +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 000000000000 -r c9b2998eb516 Nov-2013/IO.graffle --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Nov-2013/IO.graffle Tue Dec 10 15:25:07 2013 +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 + 2013-11-08 16:50:46 +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 0/72 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 + + {289.12499362330368, 150.46109658720653} + {481.87498539586136, 150.7700104478312} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + Tail + + ID + 40 + + + + Class + LineGraphic + Head + + ID + 31 + + ID + 41 + Points + + {156.24996802372655, 106.81541470300678} + {348.50001671748436, 108.98977883291924} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + TailArrow + 0 + + + Tail + + ID + 39 + + + + Bounds + {{216.6249942779541, 140.00000187622078}, {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 + {{83.75, 95.999999609319161}, {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 + {{179, 183}, {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 + + {252.6249942779541, 68.305194792047899} + {252.6249942779541, 211} + + Style + + stroke + + HeadArrow + 0 + Legacy + + Pattern + 1 + TailArrow + 0 + + + Tail + + ID + 36 + + + + Bounds + {{216.6249942779541, 47.000000000000071}, {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 + {{48.25, 133.23110771179199}, {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 + {{482.37498474121094, 140.42591035362216}, {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 + {{348.99998474121094, 98.999999121412074}, {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 + + {518.37498474121094, 68.305191040039062} + {518.37498474121094, 211} + + Style + + stroke + + HeadArrow + 0 + Legacy + + Pattern + 1 + TailArrow + 0 + + + Tail + + ID + 4 + + + + Class + LineGraphic + ID + 6 + Points + + {384.99998474121094, 67.805194805194816} + {384.99998474121094, 211} + + Style + + stroke + + HeadArrow + 0 + Legacy + + Pattern + 1 + TailArrow + 0 + + + + + Class + LineGraphic + ID + 5 + Points + + {119.75, 68.305194792047899} + {119.75, 211} + + Style + + stroke + + HeadArrow + 0 + Legacy + + Pattern + 1 + TailArrow + 0 + + + Tail + + ID + 1 + + + + Bounds + {{482.37498474121094, 46.999996234844275}, {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 + {{349.49998474121094, 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 + {{83.75, 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 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 + {{262, -78}, {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 000000000000 -r c9b2998eb516 Nov-2013/mmap.png Binary file Nov-2013/mmap.png has changed diff -r 000000000000 -r c9b2998eb516 Nov-2013/multiread.png Binary file Nov-2013/multiread.png has changed diff -r 000000000000 -r c9b2998eb516 Nov-2013/oneread.png Binary file Nov-2013/oneread.png has changed diff -r 000000000000 -r c9b2998eb516 Oct-2013/1st.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Oct-2013/1st.html Tue Dec 10 15:25:07 2013 +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 000000000000 -r c9b2998eb516 Oct-2013/22th.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Oct-2013/22th.html Tue Dec 10 15:25:07 2013 +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 000000000000 -r c9b2998eb516 Oct-2013/29th.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Oct-2013/29th.html Tue Dec 10 15:25:07 2013 +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 000000000000 -r c9b2998eb516 Oct-2013/8th.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Oct-2013/8th.html Tue Dec 10 15:25:07 2013 +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 000000000000 -r c9b2998eb516 Oct-2013/PerlRegexImage.graffle --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Oct-2013/PerlRegexImage.graffle Tue Dec 10 15:25:07 2013 +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 000000000000 -r c9b2998eb516 Sep-2013/17th.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Sep-2013/17th.html Tue Dec 10 15:25:07 2013 +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 000000000000 -r c9b2998eb516 Sep-2013/24th.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Sep-2013/24th.html Tue Dec 10 15:25:07 2013 +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 000000000000 -r c9b2998eb516 io-2012-slides.googlecode.com/git/.DS_Store Binary file io-2012-slides.googlecode.com/git/.DS_Store has changed diff -r 000000000000 -r c9b2998eb516 io-2012-slides.googlecode.com/git/.gitignore --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/io-2012-slides.googlecode.com/git/.gitignore Tue Dec 10 15:25:07 2013 +0900 @@ -0,0 +1,38 @@ +# Compiled source # +################### +*.com +*.class +*.dll +*.exe +*.o +*.so +*.pyc +*.min.css +#*.min.js +.sass-cache/* + +# Packages # +############ +# it's better to unpack these files and commit the raw source +# git has its own built in compression methods +*.7z +*.dmg +*.gz +*.iso +*.rar +*.tar +*.zip + +# Logs and databases # +###################### +*.log +*.sql +*.sqlite + +# OS generated files # +###################### +.DS_Store* +ehthumbs.db +Icon? +Thumbs.db +*~ \ No newline at end of file