comparison 2013/Aug-2013/20th.html @ 9:e4748bca1eb3

mkdir 2013
author Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
date Tue, 14 Jan 2014 04:18:59 +0900
parents Aug-2013/20th.html@c9b2998eb516
children
comparison
equal deleted inserted replaced
8:0ce451f35622 9:e4748bca1eb3
1 <!DOCTYPE html>
2
3 <!--
4 Google HTML5 slide template
5
6 Authors: Luke Mahé (code)
7 Marcin Wichary (code and design)
8
9 Dominic Mazzoni (browser compatibility)
10 Charles Chen (ChromeVox support)
11
12 URL: http://code.google.com/p/html5slides/
13 -->
14
15 <html>
16 <head>
17 <title>2013-08-20</title>
18
19 <meta charset='utf-8'>
20 <script
21 src='http://html5slides.googlecode.com/svn/trunk/slides.js'></script>
22 </head>
23
24 <style>
25 /* Your individual styles here, or just use inline styles if that’s
26 what you want. */
27 .slides article { background-image: none !important; background-color: white; }
28
29
30 </style>
31
32 <body style='display: none'>
33
34 <section class='slides layout-regular template-default'>
35
36 <!-- Your slides (<article>s) go here. Delete or comment out the
37 slides below.-->
38
39 <article>
40 <h1>
41 Ceriumによる
42 <br>
43 正規表現マッチャの実装
44 </h1>
45 <p>
46 Masataka Kohagura
47 <br>
48 20th July , 2013
49 </p>
50 </article>
51
52 <article>
53 <h3>
54 研究目的
55 </h3>
56 <p>
57 本研究室では、Cell用に作られたCeriumにて並列プログラミングを行なっている。様々な例題を実装することにより、どのような問題でも並列処理ができることを証明する。
58 </p>
59 <p>
60 現在は文字列サーチを実装している段階で、ボイヤームーア法を実装している。
61 セミグループという、分割したファイルに対して並列処理をさせるような手法によって、既存の文字列サーチと処理速度を比較し、どれだけ速く、どれだけ効率よくなるのかを測定する。
62 </p>
63 <p>
64 並列処理は逐次処理よりも処理時間を短縮できる可能性があるが、I/O命令がボトルネックになる。
65 このボトルネックを軽減させるにはどのような処理をさせればよいのか考察し、処理全体の効率化改善を図る。
66 </p>
67 </article>
68
69 <article>
70 <h3>
71 今週のしたこと
72 </h3>
73 <p>
74 ・スクリプトを組み、文字列サーチの速度を測定した。
75 </p>
76 <p>
77 ・I/O時間を含む測定をどのようにすればいいのか考え中。
78 </p>
79 <p>
80 ・BM法の部分をC++のvectorに書き換え
81 </article>
82
83 <!-- <article class='smaller'>
84 <h3>main.ccの修正</h3>
85 <p>修正前</p>
86 <section><pre>
87 t_exec[k]->set_param(0,(memaddr)offset);
88 <font color=red>t_exec[k]->set_param(1,(memaddr)set_one_task_length);</font>
89 if(size != w->size){
90 t_exec[k]->set_inData(0,w->file_mmap + a*w->division_size, size+EXTRA_LENGTH);
91 }else{
92 t_exec[k]->set_inData(0,w->file_mmap + a*w->division_size, size);
93 }
94 t_exec[k]->set_outData(0,w->o_data + a*w->out_size, w->division_out_size);
95 </pre><section>
96 <p>修正後</p>
97 <section><pre>
98 t_exec[k]->set_param(0,(memaddr)offset);
99 if(size != w->size){
100 <font color=red> t_exec[k]->set_param(1,(memaddr)set_one_task_length+EXTRA_LENGTH);</font>
101 t_exec[k]->set_inData(0,w->file_mmap + a*w->division_size, size+EXTRA_LENGTH);
102 }else{
103 <font color=red> t_exec[k]->set_param(1,(memaddr)set_one_task_length);</font>
104 t_exec[k]->set_inData(0,w->file_mmap + a*w->division_size, size);
105 }
106 t_exec[k]->set_outData(0,w->o_data + a*w->out_size, w->division_out_size);
107 </pre><section>
108 </article>
109 -->
110 <article class='smaller'>
111 <h3>時間測定</h3>
112
113 <table>
114 <p>mac pro上での測定</p>
115 <p>CeriumのAPIでの時間計測。wikipediaのファイルに対して1000回実行した</p>
116 <tr>
117 <td>
118 <table>
119 <tr><td>cpu_num</td><td>max</td><td>min</td><td>ave</td></tr>
120 <tr><td>1</td><td>59.410</td><td>36.260</td><td>38.830</td></tr>
121 <tr><td>2</td><td>29.425</td><td>17.779</td><td>19.085</td></tr>
122 <tr><td>4</td><td>20.441</td><td>9.520</td><td>10.126</td></tr>
123 <tr><td>6</td><td>16.848</td><td>6.678</td><td>6.987</td></tr>
124 <tr><td>8</td><td>14.822</td><td>5.136</td><td>5.442</td></tr>
125 <tr><td>10</td><td>17.667</td><td>4.633</td><td>5.011</td></tr>
126 <tr><td>11</td><td>15.593</td><td>3.979</td><td>5.227</td></tr>
127 <tr><td>12</td><td>14.752</td><td>4.177</td><td>5.462</td></tr>
128 </table>
129 </td>
130 <tr>
131 </table>
132 </article>
133 </body>
134 </html>