Mercurial > hg > Members > yuuhi > slide
comparison s6/blank.html @ 16:642a7f5a5bad default tip
add new task...
author | Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 22 Nov 2014 15:42:19 +0900 |
parents | 9683e2b1bbe7 |
children |
comparison
equal
deleted
inserted
replaced
15:9683e2b1bbe7 | 16:642a7f5a5bad |
---|---|
139 </li> | 139 </li> |
140 | 140 |
141 <li> | 141 <li> |
142 <dt>LinuxでCeriumが動くかどうか</dt> | 142 <dt>LinuxでCeriumが動くかどうか</dt> |
143 </li> | 143 </li> |
144 | |
145 <li> | |
146 <dt>計測用のツール</dt> | |
147 </li> | |
144 </ul> | 148 </ul> |
145 </div> | 149 </div> |
146 | 150 |
147 <div class='slide'> | 151 <div class='slide'> |
148 <h2>Affinityを設定するAPI(Linux)</h2> | 152 <h2>Affinityを設定するAPI(Linux)</h2> |
152 </pre> | 156 </pre> |
153 | 157 |
154 <ul> | 158 <ul> |
155 <li><dt>affinity(親和度、cpu_set_t)は、そのスレッドが実行を許可されているCPUの集合を決定する | 159 <li><dt>affinity(親和度、cpu_set_t)は、そのスレッドが実行を許可されているCPUの集合を決定する |
156 <dd>maskにCPUをsetするときは、CPU_SETを使用する(例:CPU_SET(cpu_id,&mask)</dd></dt></li> | 160 <dd>maskにCPUをsetするときは、CPU_SETを使用する(例:CPU_SET(cpu_id,&mask)</dd></dt></li> |
157 <li><dt>スレッドのaffinityマスクを一つのCPUに設定し、スレッドをCPUに括りつけることができる(Man page)</dt></li> | 161 <li><dt>スレッドのaffinityマスクを一つのCPUに設定し、スレッドをCPUに括りつけることができる(Man page) |
162 </dt></li> | |
163 | |
164 <li><dt>pidでaffinityをsetするthreadを指定するのだが、pid=0にすると呼び出し元のthreadにsetしてくれる</dt></li> | |
158 </ul> | 165 </ul> |
159 </div> | 166 </div> |
160 | 167 |
161 <div class='slide'> | 168 <div class='slide'> |
162 <h2>sched_setaffinity Sample</h2> | 169 <h2>sched_setaffinity Sample</h2> |
177 どうやって本当に割り当てられてるか調べるか。taskset? sar? | 184 どうやって本当に割り当てられてるか調べるか。taskset? sar? |
178 </p> | 185 </p> |
179 | 186 |
180 </div> | 187 </div> |
181 | 188 |
182 | 189 <div class='slide'> |
190 <h2>Google Performance Tools</h2> | |
191 <ul> | |
192 <li><dt><font color="red">CPU Profiler:サンプリングによって各関数の実行時間を計測・表示する</font></dt></li> | |
193 <li><dt><font color="red">HeapProfiler:各関数におけるメモリ使用量を計測・表示する</font></dt></li> | |
194 <li><dt><font color="red">TCMalloc:Googleの開発した高速malloc</font></dt></li> | |
195 <li><dt>HeapChecker:メモリリークを検出する</dt></li> | |
196 </ul> | |
197 <p>Heap Profilerを使うには、TCMallocを使わないといけないらしい。</p> | |
198 <p>結果としては、微妙…</p> | |
199 <p>もう少し使い方を調べたら使い物になるかも</p> | |
200 </div> | |
201 | |
202 | |
203 <div class='slide'> | |
204 <h2>CPU Profiler and Heap Profiler</h2> | |
205 | |
206 <p>example:word_count</p> | |
207 <pre class="code"> | |
208 Heap Profile | |
209 Total: 6653 objects | |
210 2921 43.9% 43.9% 2921 43.9% 0x00007fff8e01b98d ? | |
211 599 9.0% 52.9% 599 9.0% _class_createInstance ? | |
212 404 6.1% 59.0% 404 6.1% 0x00007fff8e01bdfd ? | |
213 365 5.5% 64.5% 365 5.5% 0x00007fff8e01bed6 ? | |
214 360 5.4% 69.9% 360 5.4% 0x00007fff8a49730b ? | |
215 249 3.7% 73.6% 249 3.7% 0x00007fff8e02b952 ? | |
216 153 2.3% 75.9% 156 2.3% _cache_create ? | |
217 109 1.6% 77.6% 109 1.6% _xpc_get_type ? | |
218 100 1.5% 79.1% 100 1.5% 0x00007fff8a49728d ? | |
219 92 1.4% 80.4% 133 2.0% __Block_copy ?</pre> | |
220 <pre class="code"> | |
221 CPU Profile | |
222 Total: 11 samples | |
223 7 63.6% 63.6% 7 63.6% ___psynch_cvwait | |
224 2 18.2% 81.8% 2 18.2% _semaphore_wait_trap | |
225 1 9.1% 90.9% 1 9.1% 0x00007fff6773c709 | |
226 1 9.1% 100.0% 1 9.1% _write$NOCANCEL | |
227 0 0.0% 100.0% 1 9.1% 0x0000000108d51196 | |
228 0 0.0% 100.0% 1 9.1% 0x0000000108d5144b | |
229 0 0.0% 100.0% 1 9.1% 0x0000000108d530fa | |
230 0 0.0% 100.0% 7 63.6% 0x0000000108d53113 | |
231 0 0.0% 100.0% 7 63.6% 0x0000000108d552cf | |
232 0 0.0% 100.0% 7 63.6% 0x0000000108d55d38</pre> | |
233 </div> | |
183 | 234 |
184 <div class='slide'> | 235 <div class='slide'> |
185 <h2>Todo</h2> | 236 <h2>Todo</h2> |
186 <ul> | 237 <ul> |
238 <li><dt>例題(fft,word_count,sort)の見直し</dt></li> | |
239 <li><dt>SchedTaskをQueueInfoに</dt></li> | |
187 <li><dt>sched_setaffinityをCeriumに実装</dt></li> | 240 <li><dt>sched_setaffinityをCeriumに実装</dt></li> |
188 <li><dt>Memory Allocatorの設計と実装</dt></li> | 241 <li><dt>Memory Allocatorの設計と実装</dt></li> |
189 </ul> | 242 </ul> |
190 </div> | 243 </div> |
191 | 244 |