Mercurial > hg > Members > masakoha > masa
diff Oct-2013/1st.html @ 0:c9b2998eb516
add slide
author | Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 10 Dec 2013 15:25:07 +0900 |
parents | |
children |
line wrap: on
line diff
--- /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 @@ +<!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-01</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> + 1st October , 2013 + </p> + </article> + + <article> + <h3> + 研究目的 + </h3> + <p> + 本研究室では、Cell用に作られたCeriumにて並列プログラミングを行なっている。様々な例題を実装することにより、どのような問題でも並列処理ができることを証明する。 + </p> + <p> + 現在は文字列サーチを実装している段階で、ボイヤームーア法を実装している。 + セミグループという、分割したファイルに対して並列処理をさせるような手法によって、既存の文字列サーチと処理速度を比較し、どれだけ速く、どれだけ効率よくなるのかを測定する。 + </p> + <p> + 並列処理は逐次処理よりも処理時間を短縮できる可能性があるが、I/O命令がボトルネックになる。 + このボトルネックを軽減させるにはどのような処理をさせればよいのか考察し、処理全体の効率化の改善を図る。 + </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_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; +} + </pre></section> + </article> + </body> +</html>