changeset 16:6dfe65854e18

fix
author Yutaka_Kinjyo
date Thu, 14 Apr 2011 07:14:09 +0900
parents 413e772d6cea
children 4f7f36cd3959
files presen/gazo/pipeline.jpg presen/gazo/rend-dep.bmp presen/gazo/renderingengine5.png presen/gazo/result.png presen/presen.html
diffstat 5 files changed, 72 insertions(+), 30 deletions(-) [+]
line wrap: on
line diff
Binary file presen/gazo/pipeline.jpg has changed
Binary file presen/gazo/rend-dep.bmp has changed
Binary file presen/gazo/renderingengine5.png has changed
Binary file presen/gazo/result.png has changed
--- a/presen/presen.html	Thu Apr 14 05:17:57 2011 +0900
+++ b/presen/presen.html	Thu Apr 14 07:14:09 2011 +0900
@@ -284,7 +284,7 @@
 </table>
 
 <p class="ex08"><u>アムダール則からmail待ちの時間を解消しないと性能は上がらない</u></p>
-
+<font size="5.0em">SPEの稼働率を向上させる改良点を紹介していく</font><br>
  <font size="5.0em">・テクスチャをSPE内でキャッシュする</font><br>
  <font size="5.0em">・Mailの数の削除、タイミングを変更</font><br>
  <font size="5.0em">・RenderingTaskのパイプライン化</font>
@@ -293,9 +293,9 @@
 </div>
 
 <div class="slide">
-<h1>キャッシュの効果</h1>
+<h1>SPEキャッシュの効果</h1>
 
-<u>SPE内のキャッシュ</u>
+<u>SPE内キャッシュの目的</u>
 
 <ul>
   <li>SPEで、画面にオブジェクトを描画する場合にテクスチャが必要</li>
@@ -447,13 +447,13 @@
   <li>依存関係解決のためTaskが完了するとSPEからPPEにMailが通知される</li>
   <!--<li>依存関係を解決し、TaskListのMailがPPEから返される</li>-->
 <li>依存関係を解決したのち、次のTaskのListがPPEからMailで通知</li>
-  <li>Mailが多い、PPEが自分のTaskで忙しい場合に返信が遅れる場合がある</li>
+  <li>Mailが多い、PPEが自分のTaskで忙しい場合に返信が遅れる場合があると考える</li>
   <li>SPEのMail待ちの時間が増える</li>
 </ul>
 
 <font size="5.0em">依存関係はグループ化できる</font><br>
 <font size="5.0em" color="red">複数のTaskのMailを一つにするTaskArrayを実装した.</font><br>
-<font size="5.0em">Mailの回数が減り、PPEの応答スピードが向上させる目的</font>
+
 
 </div>
 
@@ -491,9 +491,8 @@
 </tr>
 
 </table>
-
-
-
+<font size="5.0em">Task毎のリプライMailが減り、PPEの応答スピードが向上させる目的</font>
+<font size="5.0em">5FPSの向上がみられ、10%mail待ちが減少した</font>
 </div>
 
 <div class="slide">
@@ -508,7 +507,8 @@
 </ul><br>
 
 <font color="red">ソフト的に別な書き込みキュー(MailQueue)を実装した。</font>
-書き込めるタイミングを見計らって、SPEの待ちを削減する目的
+ハードなキューに書き込めない場合にmailQueueへ書きこむ。書き込みスロットが1から
+複数になった
 
 
 </div>
@@ -517,26 +517,56 @@
 <h1>MailQueueの効果</h1>
 
 <table border="1" cellspacing="0" cellspacing="2" cellpadding="1" align="center">
-<caption>MailQueueの効果</caption>
+<caption>MailQueueの効果(ball bound)</caption>
 <tr>
-<th></th>
-<th>改良前</th>
-<th>改良後</th>
-<th>性能</th>
+<th>MailQueue</th>
+<th>FPS</th>
+<th>dma待ち</th>
+<th>mail待ち</th>
+<th>稼働率</th>
 </tr>
 <tr align="center">
-<td>ball_bound</td>
+<td>あり</td>
 <td>35.5FPS</td>
+<td>3%</tb>
+<td>69%</tb>
+<td>27%</tb>
+</tr>
+
+<tr align="center">
+<td>なし</td>
 <td>35.7FPS</td>
-<td>0.2</tb>
+<td>3%</tb>
+<td>69%</tb>
+<td>27%</tb>
 </tr>
+
 </table>
 
-SPE内のTaskがなくなった場合に、MailQueueの中身をすべて精算して、新しいTaskのListを
-要求する。
+Mail書き込みのタイミングをずらせる。Taskが足りなくなった時点で溜まった分の精算する<br>
+が結果的にあまり効果がないのは、精算する際に同じぐらい待ちは発生すると考える<br>
+今後mail待ちの細かい内訳が必要<br>
 
 </div>
 
+<div class="slide">
+<h1>パイプライン化の効果</h1>
+
+RenderingEngineの3つのTaskはバリア同期を行い、逐次的に実行されていた。<br>
+<u>そこで、DrawSpanTaskほ他の二つと並列に実行されるように改良した</u>
+
+<img src="gazo/rend-dep.bmp" style="display:block; width:40%; float: right; margin-top:0%">
+
+<ul>
+  <li>DrawSpanが他の二つのTaskに比べて重い処理なので、他の二つのTaskが十分に隠れる</li>
+  <li>あまり多段にするとキーの入力が遅延しすぎる</li>
+</ul>
+
+
+
+</div>
+
+
 
 <div class="slide">
 <h1>パイプライン化の比較</h1>
@@ -544,20 +574,30 @@
 <table border="1" cellspacing="0" cellspacing="2" cellpadding="10" align="center">
 <caption>パイプライン化の効果(universe)</caption>
 <tr>
-<th></th>
+<th>Pipeline化</th>
 <th>FPS</th>
-</tr>
-<tr align="center">
-<td>Pipelineあり</td>
-<td>35.7FPS</td>
-</tr>
-<tr>
-<tr align="center">
-<td>Pipelineなし</td>
-<td>37.7FPS</td>
+<th>dma待ち</th>
+<th>mail待ち</th>
+<th>稼働率</th>
 </tr>
 
-向上!
+<tr align="center">
+<td>なし</td>
+<td>35.7FPS</td>
+<td>3%</tb>
+<td>69%</tb>
+<td>27%</tb>
+</tr>
+
+<tr align="center">
+<td><font color="red">あり</font></td>
+<td><font color="red">37.7FPS</font></td>
+<td><font color="red">2%</font></tb>
+<td><font color="red">66%</font></tb>
+<td><font color="red">31%</font></tb>
+</tr>
+
+mail待ちが3%減少、FPSが2向上。若干の効果あり。
 
 </table>
 </div>
@@ -621,10 +661,12 @@
 <u>それにはCodeLoadが必要</u>
 
 <ul>
-  <li>SPEで必要なコードはすべて事前にSPEに読み込んでいるので</li>
+  <li>SPEで必要なコードはすべて事前にSPEに読み込んでいる</li>
   <li>LSは256KBしかないので、オンデマンドロードで対応</li>
 </ul>
 
+<u>さらに細かいプロファイリング(ex.mail待ちに細かい内訳)</u>
+
 </div>