comparison 2013/Oct-2013/8th.html @ 9:e4748bca1eb3

mkdir 2013
author Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
date Tue, 14 Jan 2014 04:18:59 +0900
parents Oct-2013/8th.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-10-08</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 8th October , 2013
49 </p>
50 </article>
51
52 <article>
53 <h3>
54 研究目的
55 </h3>
56 <p>
57 本研究室では、Cell用に作られたCeriumにて並列プログラミングを行なっている。Ceriumにて正規表現を実装し、既存の正規表現との処理速度、処理効率がどれだけ良くなるのかを測定する。
58 </p>
59 <p>
60 現在は文字列サーチ(Boyer-Moore String Search Algorithm)を実装している。
61 セミグループという、分割したファイルに対して並列処理をさせるような手法によって、効率化を測る。
62 </p>
63 </article>
64
65 <article>
66 <h3>
67 今週のしたこと
68 </h3>
69 <p>
70 mmapからfreadに変更していたものを、readに変更。
71 </p>
72 <p>
73 ・シンヤさんのRegenを動かしてみた
74 </p>
75 <p>
76 ・シンヤさんの論文「並列化と実行時コード生成を用いた正規表現マッチングの高速化」読み
77 </p>
78 </article>
79
80 <article class='smaller'>
81 <h3>mmapからfreadへの書き換え(1)</h3>
82 <p>変更前</p>
83 <section><pre>
84 static st_mmap_t
85 my_mmap(char *filename)
86 {
87 int fd = -1;
88 int map = MAP_PRIVATE;
89 st_mmap_t st_mmap;
90 struct stat sb;
91
92 if ((fd=open(filename,O_RDONLY,0666))==0) {
93 fprintf(stderr,"can't open %s\n",filename);
94 }
95
96 if (fstat(fd,&sb)) {
97 fprintf(stderr,"can't fstat %s\n",filename);
98 }
99
100 st_mmap.size = fix_byte(sb.st_size,4096);
101
102 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) {
103 fprintf(stderr,"Can't mmap file\n");
104 perror(NULL);
105 exit(0);
106 }
107 return st_mmap;
108 }
109 </pre></section>
110 </article>
111
112 <article class='smaller'>
113 <h3>mmapからfreadへの書き換え(2)</h3>
114 <p>変更後</p>
115 <section><pre>
116 my_read(TaskManager *manager,char *filename)
117 {
118 int fd = -1;
119 st_mmap_t st_mmap;
120 struct stat sb;
121
122 if ((fd=open(filename,O_RDONLY,0666))==0) {
123 fprintf(stderr,"can't open %s\n",filename);
124 }
125
126 if (fstat(fd,&sb)) {
127 fprintf(stderr,"can't fstat %s\n",filename);
128 }
129
130 st_mmap.size = fix_byte(sb.st_size,4096);
131 <font color="red">st_mmap.file_mmap = (char*)manager->allocate(st_mmap.size);</font>
132
133 <font color="red">sread(fd,st_mmap.file_mmap,st_mmap.size);</font>
134
135 if (st_mmap.file_mmap == (caddr_t)-1) {
136 fprintf(stderr,"Can't mmap file\n");
137 perror(NULL);
138 exit(0);
139 }
140 return st_mmap;
141 }
142 </pre></section>
143 </article>
144
145 <article class='smaller'>
146 <h3>mmapからreadへの書き換え(2)</h3>
147 <p>変更後</p>
148 <section><pre>
149 my_read(TaskManager *manager,char *filename)
150 {
151 int fd = -1;
152 st_mmap_t st_mmap;
153 struct stat sb;
154
155 if ((fd=open(filename,O_RDONLY,0666))==0) {
156 fprintf(stderr,"can't open %s\n",filename);
157 }
158
159 if (fstat(fd,&sb)) {
160 fprintf(stderr,"can't fstat %s\n",filename);
161 }
162
163 st_mmap.size = fix_byte(sb.st_size,4096);
164 <font color="red">st_mmap.file_mmap = (char*)manager->allocate(st_mmap.size);</font>
165
166 <font color="red">read(fd,st_mmap.file_mmap,st_mmap.size);</font>
167
168 if (st_mmap.file_mmap == (caddr_t)-1) {
169 fprintf(stderr,"Can't mmap file\n");
170 perror(NULL);
171 exit(0);
172 }
173 return st_mmap;
174 }
175 </pre></section>
176 </article>
177
178
179 <article>
180 <h3>
181 並列化と実行時コード生成を用いた正規表現マッチングの高速化について
182 </h3>
183 <p>
184 ・NFA/DFAから同時初期状態有限オートマトン(SSFA)を構成
185 </p>
186 <p>
187 ・Simultaneous Start-state Finite Automata
188 </p>
189 <p>
190 ・「NFAの全状態について、それぞれを初期状態とした場合の状態遷移」を
191  同時初期状態遷移(SST)と呼んでいる。
192 </p>
193 </article>
194
195 </body>
196 </html>