Mercurial > hg > Papers > 2014 > masakoha-sigos
changeset 36:43206ed680f0
add result
author | Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 12 May 2014 19:18:55 +0900 |
parents | 81dd7a7937de |
children | b5bb18a528e4 |
files | presen/s6/index.html |
diffstat | 1 files changed, 141 insertions(+), 131 deletions(-) [+] |
line wrap: on
line diff
--- a/presen/s6/index.html Mon May 12 18:09:36 2014 +0900 +++ b/presen/s6/index.html Mon May 12 19:18:55 2014 +0900 @@ -131,21 +131,6 @@ 様々なファイル読み込み方法と様々な実験環境にて計測を行った。 </div> - <div class='slide'> - <h2>はじめに(2/2)</h2> - <p> - GPU や Cell などメモリ空間が異なるプロセッサはデータ転送がオーバーヘッドとなるので、データ転送を効率的に行えるかどうかで処理時間が大きく変わる。 - </p> - <p> - 今回、Cerium に OpenCL, CUDA を用いた Scheduler を実装した。 - </p> - <p> - Scheduler は<font color="red">自動でデータ転送をオーバーラップ</font>し、<font color="red">パイプライン処理</font>を行うように設計した。 - </p> - <p> - - </p> - </div> <div class='slide'> <h2>Cerium Task Manager の構造</h2> @@ -262,28 +247,125 @@ <h2>実験概要</h2> <p>実験環境</p> <ul> - <li> Mac OS X 10.9.1</li> - <li> 2*2.66 GHz 6-Core Intel Xeon</li> - <li> Memory 16GB</li> - <li> HDD 1TB 7200 rpm SATA 3.0 Gbps </li> - <li> ファイルに Word Count をかける</li> - <li> ファイルの読み込みから結果までを測定</li> + <li>OS:MacOS 10.9.2</li> + <li>CPU:2*2.66GHz 6-Core Intel Xeon</li> + <li>GPU:NVIDIA Quadro K5000 4096MB</li> + <li>Memory:16GB 1333MHz DDR3</li> + <li>HDD : 1TB 7200 rpm SATA 3.0 Gbps </li> + <li>Word Count の時間を、ファイルの読み込みから結果出力するまでを測定</li> </ul> + +Word Count を実行した後に、読み込むファイルをキャッシュから追い出すために、 + <pre> sudo purge </pre> + を実行して、再測定を行っている。 </div> <div class='slide'> - <h2>実験 : CPU 数での比較</h2> - <p>file size 1GB</p> + <h2>実験(1/5): 使用 CPU 数を変更させた時の実行速度の比較</h2> + <p>全ての実験のfile size は 1GB である。</p> <p>表内の数値の単位は全て秒である。</p> -<!-- 1度に読み込む量を書かないといけない --> -<!-- bldsv 12 ssd あるってよ--> -Blocked read Task 1つ当たりの読み込み量は 128kbyte * 48 で設定している。 +Blocked read Task 1つ当たりの読み込み量 : 16kbyte * 48 <table border="2" cellpadding="0" cellspacing="0"> <tbody> <tr> - <td>read mode \ CPU num</td> + <td align=center>read mode \ CPU num</td> + <td></td> + <td align=center>CPU 1</td> + <td align=center>CPU 4</td> + <td align=center>CPU 8</td> + <td align=center>CPU 12</td> + </tr> + <tr> + <td align=center>mmap</td> + <td></td> + <td>15.353</td> + <td>11.287</td> + <td>11.707</td> + <td>11.137</td> + </tr> + <tr> + <td align=center>read</td> + <td></td> + <td>16.846</td> + <td>11.730</td> + <td>11.487</td> + <td>11.437</td> + </tr> + <tr> + <td align=center>Blocked Read(SPE_ANY)</td> + <td></td> + <td>13.297</td> + <td>11.984</td> + <td>10.887</td> + <td>11.146</td> + </tr> + <tr> + <td align=center>Blocked Read(IO_0)</td> + <td></td> + <td>11.503</td> + <td>11.437</td> + <td>11.365</td> + <td>11.412</td> + <!-- + <td bgcolor="#ffffcc">Blocked Read(IO_0)</td> + <td bgcolor="#ffffcc">99.2</td> + --> + </tr> + </tbody> +</table> +</div> + + <div class='slide'> +<!-- 1度に読み込む量を書かないといけない --> +<!-- bldsv 12 ssd あるってよ--> +<h2>実験(2/5) : Word Count を GPU で走らせてみた</h2> + +Blocked read Task 1つ当たりの読み込み量 : 16 kbyte * 48 +<table border="2" cellpadding="0" cellspacing="0"> + <tbody> + <tr> + <td align=center>read mode</td> + <td></td> + <td align=center>time(s)</td> + </tr> + <tr> + <td align=center>mmap</td> + <td></td> + <td><div align=right>103.410</div></td> + </tr> + <tr> + <td align=center>read</td> + <td></td> + <td><div align=right>106.050</div></td> + </tr> + <tr> + <td align=center>Blocked Read(SPE_ANY)</td> + <td></td> + <td><div align=right>94.626</div></td> + </tr> + <tr> + <td align=center>Blocked Read(IO_0)</td> + <td></td> + <td><div align=right>94.496</div></td> + <!-- + <td bgcolor="#ffffcc">Blocked Read(IO_0)</td> + <td bgcolor="#ffffcc">99.2</td> + --> + </tr> + </tbody> +</table> + </div> + + <div class='slide'> + <h2>実験(3/5): Blocked Read size を変更してみる</h2> + +Blocked read Task 1つ当たりの読み込み量 : <font color=red>128 kbyte </font>* 48 +<table border="2" cellpadding="0" cellspacing="0"> + <tbody> + <tr> + <td align=center>read mode \ CPU num</td> <td></td> <td>CPU 1</td> <td>CPU 4</td> @@ -291,7 +373,7 @@ <td>CPU 12</td> </tr> <tr> - <td>mmap</td> + <td align=center>mmap</td> <td></td> <td>20.179</td> <td>22.861</td> @@ -299,7 +381,7 @@ <td>22.713</td> </tr> <tr> - <td>read</td> + <td align=center>read</td> <td></td> <td>21.351</td> <td>15.737</td> @@ -307,7 +389,7 @@ <td>12.520</td> </tr> <tr> - <td>Blocked Read(SPE_ANY)</td> + <td align=center>Blocked Read(SPE_ANY)</td> <td></td> <td>18.531</td> <td>15.646</td> @@ -315,7 +397,7 @@ <td>14.028</td> </tr> <tr> - <td>Blocked Read(IO_0)</td> + <td align=center>Blocked Read(IO_0)</td> <td></td> <td>13.930</td> <td>14.634</td> @@ -328,80 +410,27 @@ </tr> </tbody> </table> - </div> - <div class='slide'> - <h2>実験 : Blocked Read size を変更してみる</h2> - -Blocked read Task 1つ当たりの読み込み量は <font color=red>16kbyte </font>* 48 で設定している。 -<table border="2" cellpadding="0" cellspacing="0"> - <tbody> - <tr> - <td>read mode \ CPU num</td> - <td></td> - <td>CPU 1</td> - <td>CPU 4</td> - <td>CPU 8</td> - <td>CPU 12</td> - </tr> - <tr> - <td>mmap</td> - <td></td> - <td>15.353</td> - <td>11.287</td> - <td>11.707</td> - <td>11.137</td> - </tr> - <tr> - <td>read</td> - <td></td> - <td>16.846</td> - <td>11.730</td> - <td>11.487</td> - <td>11.437</td> - </tr> - <tr> - <td>Blocked Read(SPE_ANY)</td> - <td></td> - <td>13.297</td> - <td>11.984</td> - <td>10.887</td> - <td>11.146</td> - </tr> - <tr> - <td>Blocked Read(IO_0)</td> - <td></td> - <td>11.503</td> - <td>11.437</td> - <td>11.365</td> - <td>11.412</td> - <!-- - <td bgcolor="#ffffcc">Blocked Read(IO_0)</td> - <td bgcolor="#ffffcc">99.2</td> - --> - </tr> - </tbody> -</table> </div> <div class='slide'> - <h2>実験 : CPU 数を固定して、Blocked Read size を変更してみる</h2> + <h2>実験(4/5): CPU 数を固定して、Blocked Read size を変更してみる</h2> Word Count Task 1つ当たりの処理量を 4kByte ~ 256kByte で変化させてみた。 <table border="2" cellpadding="0" cellspacing="0"> <tbody> <tr> - <td>read mode \ Blocled Read size</td> + <td align=center>read mode \ Blocled Read size</td> <td></td> - <td> 4k * 48 </td> - <td> 8k * 48 </td> - <td> 16k * 48 </td> - <td> 32k * 48 </td> - <td> 64k * 48 </td> - <td> 128k * 48 </td> - <td> 256k * 48 </td> + <td align=center> 4k * 48 </td> + <td align=center> 8k * 48 </td> + <td align=center> 16k * 48 </td> + <td align=center> 32k * 48 </td> + <td align=center> 64k * 48 </td> + <td align=center> 128k * 48 </td> + <td align=center> 256k * 48 </td> </tr> <tr> - <td>mmap</td> + <td align=center>mmap</td> <td></td> <td><div align=right>11.867</div></td> <td><div align=right>10.570</div></td> @@ -412,7 +441,7 @@ <td><div align=right>18.474</div></td> </tr> <tr> - <td>read</td> + <td align=center>read</td> <td></td> <td><div align=right>12.020</div></td> <td><div align=right>11.585</div></td> @@ -423,7 +452,7 @@ <td><div align=right>11.658</div></td> </tr> <tr> - <td>Blocked Read(SPE_ANY)</td> + <td align=center>Blocked Read(SPE_ANY)</td> <td></td> <td><div align=right>11.508</div></td> <td><div align=right>15.932</div></td> @@ -434,7 +463,7 @@ <td><div align=right>11.962</div></td> </tr> <tr> - <td>Blocked Read(IO_0)</td> + <td align=center>Blocked Read(IO_0)</td> <td></td> <td><div align=right>11.342</div></td> <td><div align=right>12.242</div></td> @@ -453,18 +482,18 @@ </div> <div class='slide'> +<h2>実験(5/5): コンピュータを替えてみた</h2> <p>実験環境</p> <ul> - <li> Cent OS 6.5</li> - <li> Core i7-3770 3.40GHz</li> - <li> Memory 16GB</li> - <li> HDD 2TB 7200 rpm SATA 6.0 Gbps </li> - <li> file size 1GB </li> + <li>OS : <font color=red>Cent OS 6.5</font></li> + <li>CPU : Core i7-3770 3.40GHz</li> + <li>Memory : 16GB</li> + <li>HDD : 2TB 7200 rpm SATA <font color=red>6.0 Gbps</font> </li> </ul> +Blocked read Task 1つ当たりの読み込み量 : 16 kbyte * 48 <table border="2" cellpadding="0" cellspacing="0"> <tbody> - <!-- align = right 寄ってくれない(´;ω;`)ウッ…--> <tr align="right"> <td>read mode \ CPU num</td> <td></td> @@ -528,50 +557,30 @@ <table border="2" cellpadding="0" cellspacing="0"> <tbody> <!-- align = right 寄ってくれない(´;ω;`)ウッ…--> - <tr align="right"> - <td>read mode \ CPU num</td> - <td></td> - <td></td> - <td></td> - <td></td> + <tr> + <td>read mode</td> <td></td> <td></td> </tr> <tr> <td>mmap</td> <td></td> - <td><div align=right></div></td> - <td><div align=right></div></td> - <td><div align=right></div></td> - <td><div align=right></div></td> - <td><div align=right></div></td> + <td><div align=right>103.410</div></td> </tr> <tr> <td>read</td> <td></td> - <td><div align=right></div></td> - <td><div align=right></div></td> - <td><div align=right></div></td> - <td><div align=right></div></td> - <td><div align=right></div></td> + <td><div align=right>106.050</div></td> </tr> <tr> <td>Blocked Read(SPE_ANY)</td> <td></td> - <td><div align=right></div></td> - <td><div align=right></div></td> - <td><div align=right></div></td> - <td><div align=right></div></td> - <td><div align=right></div></td> + <td><div align=right>94.626</div></td> </tr> <tr> <td>Blocked Read(IO_0)</td> <td></td> - <td><div align=right></div></td> - <td><div align=right></div></td> - <td><div align=right></div></td> - <td><div align=right></div></td> - <td><div align=right></div></td> + <td><div align=right>94.496</div></td> <!-- <td bgcolor="#ffffcc">Blocked Read(IO_0)</td> <td bgcolor="#ffffcc">99.2</td> @@ -579,7 +588,10 @@ </tr> </tbody> </table> + </div> + <div class='slide'> + <h2>考察</h2> </div> <div class='slide'> @@ -588,8 +600,6 @@ <li> I/O と Task を分離し、同時に動くように改良した。 </li> <li> I/O 専用の Thread の追加 </li> <li> - I/O を含む Task をで並列実装するときに mmap では不向きであり、 - Blocked Read で読み込みを制御したほうが効果的。 </li> </ul> <h2 class="yellow">今後の課題</h2>