Mercurial > hg > Members > masakoha > masa
view 2013/Oct-2013/1st.html @ 31:5c7d17c36564
fix 02nd.txt & add 03rd.txt
author | Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 03 Feb 2014 17:47:55 +0900 |
parents | e4748bca1eb3 |
children |
line wrap: on
line source
<!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>