changeset 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
files s6/blank.html
diffstat 1 files changed, 54 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/s6/blank.html	Tue Nov 18 18:09:17 2014 +0900
+++ b/s6/blank.html	Sat Nov 22 15:42:19 2014 +0900
@@ -141,6 +141,10 @@
           <li>
             <dt>LinuxでCeriumが動くかどうか</dt>
           </li>
+          
+          <li>
+            <dt>計測用のツール</dt>
+          </li>
         </ul>
       </div>
 
@@ -154,7 +158,10 @@
         <ul>
           <li><dt>affinity(親和度、cpu_set_t)は、そのスレッドが実行を許可されているCPUの集合を決定する
               <dd>maskにCPUをsetするときは、CPU_SETを使用する(例:CPU_SET(cpu_id,&mask)</dd></dt></li>
-          <li><dt>スレッドのaffinityマスクを一つのCPUに設定し、スレッドをCPUに括りつけることができる(Man page)</dt></li>
+          <li><dt>スレッドのaffinityマスクを一つのCPUに設定し、スレッドをCPUに括りつけることができる(Man page)
+          </dt></li>
+          
+          <li><dt>pidでaffinityをsetするthreadを指定するのだが、pid=0にすると呼び出し元のthreadにsetしてくれる</dt></li>
         </ul>
       </div>
 
@@ -179,11 +186,57 @@
         
       </div>
 
+      <div class='slide'>
+        <h2>Google Performance Tools</h2>
+        <ul>
+          <li><dt><font color="red">CPU Profiler:サンプリングによって各関数の実行時間を計測・表示する</font></dt></li>
+          <li><dt><font color="red">HeapProfiler:各関数におけるメモリ使用量を計測・表示する</font></dt></li>
+          <li><dt><font color="red">TCMalloc:Googleの開発した高速malloc</font></dt></li>
+          <li><dt>HeapChecker:メモリリークを検出する</dt></li>
+        </ul>
+        <p>Heap Profilerを使うには、TCMallocを使わないといけないらしい。</p>
+        <p>結果としては、微妙…</p>
+        <p>もう少し使い方を調べたら使い物になるかも</p>
+      </div>
 
 
       <div class='slide'>
+        <h2>CPU Profiler and Heap Profiler</h2>
+        
+        <p>example:word_count</p>
+        <pre class="code">
+Heap Profile
+Total: 6653 objects
+    2921  43.9%  43.9%     2921  43.9% 0x00007fff8e01b98d ?
+     599   9.0%  52.9%      599   9.0% _class_createInstance ?
+     404   6.1%  59.0%      404   6.1% 0x00007fff8e01bdfd ?
+     365   5.5%  64.5%      365   5.5% 0x00007fff8e01bed6 ?
+     360   5.4%  69.9%      360   5.4% 0x00007fff8a49730b ?
+     249   3.7%  73.6%      249   3.7% 0x00007fff8e02b952 ?
+     153   2.3%  75.9%      156   2.3% _cache_create ?
+     109   1.6%  77.6%      109   1.6% _xpc_get_type ?
+     100   1.5%  79.1%      100   1.5% 0x00007fff8a49728d ?
+      92   1.4%  80.4%      133   2.0% __Block_copy ?</pre>
+        <pre class="code">
+ CPU Profile
+Total: 11 samples
+       7  63.6%  63.6%        7  63.6% ___psynch_cvwait
+       2  18.2%  81.8%        2  18.2% _semaphore_wait_trap
+       1   9.1%  90.9%        1   9.1% 0x00007fff6773c709
+       1   9.1% 100.0%        1   9.1% _write$NOCANCEL
+       0   0.0% 100.0%        1   9.1% 0x0000000108d51196
+       0   0.0% 100.0%        1   9.1% 0x0000000108d5144b
+       0   0.0% 100.0%        1   9.1% 0x0000000108d530fa
+       0   0.0% 100.0%        7  63.6% 0x0000000108d53113
+       0   0.0% 100.0%        7  63.6% 0x0000000108d552cf
+       0   0.0% 100.0%        7  63.6% 0x0000000108d55d38</pre>
+      </div>
+
+      <div class='slide'>
         <h2>Todo</h2>
         <ul>
+          <li><dt>例題(fft,word_count,sort)の見直し</dt></li>
+          <li><dt>SchedTaskをQueueInfoに</dt></li>
           <li><dt>sched_setaffinityをCeriumに実装</dt></li>
           <li><dt>Memory Allocatorの設計と実装</dt></li>
         </ul>