comparison 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
comparison
equal deleted inserted replaced
-1:000000000000 0:c9b2998eb516
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-01</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 1st October , 2013
49 </p>
50 </article>
51
52 <article>
53 <h3>
54 研究目的
55 </h3>
56 <p>
57 本研究室では、Cell用に作られたCeriumにて並列プログラミングを行なっている。様々な例題を実装することにより、どのような問題でも並列処理ができることを証明する。
58 </p>
59 <p>
60 現在は文字列サーチを実装している段階で、ボイヤームーア法を実装している。
61 セミグループという、分割したファイルに対して並列処理をさせるような手法によって、既存の文字列サーチと処理速度を比較し、どれだけ速く、どれだけ効率よくなるのかを測定する。
62 </p>
63 <p>
64 並列処理は逐次処理よりも処理時間を短縮できる可能性があるが、I/O命令がボトルネックになる。
65 このボトルネックを軽減させるにはどのような処理をさせればよいのか考察し、処理全体の効率化の改善を図る。
66 </p>
67 </article>
68
69
70 <article class='smaller'>
71 <h3>mmapからfreadへの書き換え(1)</h3>
72 <p>変更前</p>
73 <section><pre>
74 static st_mmap_t
75 my_mmap(char *filename)
76 {
77 int fd = -1;
78 int map = MAP_PRIVATE;
79 st_mmap_t st_mmap;
80 struct stat sb;
81
82 if ((fd=open(filename,O_RDONLY,0666))==0) {
83 fprintf(stderr,"can't open %s\n",filename);
84 }
85
86 if (fstat(fd,&sb)) {
87 fprintf(stderr,"can't fstat %s\n",filename);
88 }
89
90 st_mmap.size = fix_byte(sb.st_size,4096);
91
92 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) {
93 fprintf(stderr,"Can't mmap file\n");
94 perror(NULL);
95 exit(0);
96 }
97 return st_mmap;
98 }
99 </pre></section>
100 </article>
101
102 <article class='smaller'>
103 <h3>mmapからfreadへの書き換え(2)</h3>
104 <p>変更後</p>
105 <section><pre>
106 my_fread(TaskManager *manager,char *filename)
107 {
108 FILE *fd;
109 st_mmap_t st_mmap;
110 struct stat sb;
111
112 if ((fd=fopen(filename,"r"))==NULL) {
113 fprintf(stderr,"can't open %s\n",filename);
114 }
115
116 if (fstat(fileno(fd),&sb)) {
117 fprintf(stderr,"can't fstat %s\n",filename);
118 }
119
120 st_mmap.size = fix_byte(sb.st_size,4096);
121
122 st_mmap.file_mmap = (char*)manager->allocate(st_mmap.size);
123 fread(st_mmap.file_mmap,st_mmap.size,1,fd);
124 if (st_mmap.file_mmap == (caddr_t)-1) {
125 fprintf(stderr,"Can't mmap file\n");
126 perror(NULL);
127 exit(0);
128 }
129 return st_mmap;
130 }
131 </pre></section>
132 </article>
133 </body>
134 </html>