Mercurial > hg > Members > masakoha > masa
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> |