Mercurial > hg > Members > masakoha > masa
diff 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 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/2013/Oct-2013/8th.html Tue Jan 14 04:18:59 2014 +0900 @@ -0,0 +1,196 @@ +<!DOCTYPE html> + +<!-- + Google HTML5 slide template + + Authors: Luke Mahé (code) + Marcin Wichary (code and design) + + Dominic Mazzoni (browser compatibility) + Charles Chen (ChromeVox support) + + URL: http://code.google.com/p/html5slides/ +--> + +<html> + <head> + <title>2013-10-08</title> + + <meta charset='utf-8'> + <script + src='http://html5slides.googlecode.com/svn/trunk/slides.js'></script> + </head> + + <style> + /* Your individual styles here, or just use inline styles if that’s + what you want. */ + .slides article { background-image: none !important; background-color: white; } + + + </style> + + <body style='display: none'> + + <section class='slides layout-regular template-default'> + + <!-- Your slides (<article>s) go here. Delete or comment out the + slides below.--> + + <article> + <h1> + Ceriumによる + <br> + 正規表現の実装 + </h1> + <p> + Masataka Kohagura + <br> + 8th October , 2013 + </p> + </article> + + <article> + <h3> + 研究目的 + </h3> + <p> + 本研究室では、Cell用に作られたCeriumにて並列プログラミングを行なっている。Ceriumにて正規表現を実装し、既存の正規表現との処理速度、処理効率がどれだけ良くなるのかを測定する。 + </p> + <p> + 現在は文字列サーチ(Boyer-Moore String Search Algorithm)を実装している。 + セミグループという、分割したファイルに対して並列処理をさせるような手法によって、効率化を測る。 + </p> + </article> + + <article> + <h3> + 今週のしたこと + </h3> + <p> + mmapからfreadに変更していたものを、readに変更。 + </p> + <p> + ・シンヤさんのRegenを動かしてみた + </p> + <p> + ・シンヤさんの論文「並列化と実行時コード生成を用いた正規表現マッチングの高速化」読み + </p> + </article> + + <article class='smaller'> + <h3>mmapからfreadへの書き換え(1)</h3> + <p>変更前</p> + <section><pre> +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; +} + </pre></section> + </article> + + <article class='smaller'> + <h3>mmapからfreadへの書き換え(2)</h3> + <p>変更後</p> + <section><pre> +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); + <font color="red">st_mmap.file_mmap = (char*)manager->allocate(st_mmap.size);</font> + + <font color="red">sread(fd,st_mmap.file_mmap,st_mmap.size);</font> + + if (st_mmap.file_mmap == (caddr_t)-1) { + fprintf(stderr,"Can't mmap file\n"); + perror(NULL); + exit(0); + } + return st_mmap; +} +</pre></section> + </article> + + <article class='smaller'> + <h3>mmapからreadへの書き換え(2)</h3> + <p>変更後</p> + <section><pre> +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); + <font color="red">st_mmap.file_mmap = (char*)manager->allocate(st_mmap.size);</font> + + <font color="red">read(fd,st_mmap.file_mmap,st_mmap.size);</font> + + if (st_mmap.file_mmap == (caddr_t)-1) { + fprintf(stderr,"Can't mmap file\n"); + perror(NULL); + exit(0); + } + return st_mmap; +} +</pre></section> + </article> + + + <article> + <h3> + 並列化と実行時コード生成を用いた正規表現マッチングの高速化について + </h3> + <p> + ・NFA/DFAから同時初期状態有限オートマトン(SSFA)を構成 + </p> + <p> + ・Simultaneous Start-state Finite Automata + </p> + <p> + ・「NFAの全状態について、それぞれを初期状態とした場合の状態遷移」を + 同時初期状態遷移(SST)と呼んでいる。 + </p> + </article> + + </body> +</html>