# HG changeset patch # User Yutaka_Kinjyo # Date 1282899084 -32400 # Node ID b781dc4132f8437f6100f30b82b19ead7d38cf37 # Parent 68dd062a0b44adddb8ff2404b62db09e9dd6a4fb write diff -r 68dd062a0b44 -r b781dc4132f8 jssst.tex --- a/jssst.tex Fri Aug 27 16:38:54 2010 +0900 +++ b/jssst.tex Fri Aug 27 17:51:24 2010 +0900 @@ -231,7 +231,8 @@ \subsection{WordCountTaskのTaskArray化} WordCountTaskをTaskArray化した。TaskArray1つに、64個のTaskが入るようにし、WordCount対象は166Mのテキストファイルとした。TaskArrayを適応した場合と、そうで ない場合で比較する。 -SPEは6個使用した。timeは実行にかかった時間、dma waitはデータをPPEからSPEまたは、SPEからPPEにdma転送している時間、mail wait はSPEが次のTaskListを待っている時間である。以下に、表にして示す。dma,mailそれぞれのwait時間に関してはspe6個の平均を示しており、数値はDMAのデクリメンタを用いてカウントした値を10万で割って、簡略化した値である。この時のTaskの数は約一万個である。 +SPEは6個使用した。timeは実行にかかった時間、dma waitは、SPEが起動していた時間においての、dma転送の待ち時間の割合。 +mail wait はSPEが起動していた時間においての、次のTaskListのmailを待っている時間の割合である。以下に、表にして示す。dma,mailそれぞれのwait割合に関してはspe6個の平均を示しており、この時のTaskの数は約一万個である。 \vspace{5mm} \begin{table}[htb] @@ -246,15 +247,15 @@ time & 2.184s & 2.109s \\ \hline %dma wait & 28685142 & 21266467 \\ \hline %mail wait & 9302079 & 12025955 \\ \hline - dma wait & 286 & 212 \\ \hline - mail wait & 93 & 120 \\ \hline + dma wait & 18\% & 12\% \\ \hline + mail wait & 5\% & 8\% \\ \hline \end{tabular}\hfil} \label{tb:lightspeed} \end{center} \end{table} \vspace{-5mm} -TaskArrayの効果は見られなかった。その原因はおそらくWordCountの場合はPPE側のTaskがないので、依存関係の解決にあまり待ち時間が発生しないからだと考えられる。また、WordCountにおいてはファイルをメモリにマッピングするので、ファイルの容量が大きい場合に大量にメモリを消費してしまう。その結果スワップが起きやすくなり、dma転送の待ち時間が長くなっている可能性がある。この解決として、一度にファイル全てをマッピングするのではなく、何回かに切り分けてマッピンするのがよい。ある程度のWordCountし終わった領域に、次のWordCount領域を入れ替えて使うことでメモリを節約でき、スワップを減らすことができるはずである。その結果メモリアクセスが高速になり、dma転送の待ち時間も削減できる。 +表に示した結果より、著しいTaskArrayの効果は見られなかった。この結果はWordCountにおいては誤差の範囲内である。効果が見られなかった原因はおそらくWordCountの場合はPPE側のTaskがないので、依存関係の解決にあまり待ち時間が発生しないからだと考えられる。また、WordCountにおいてはファイルをメモリにマッピングするので、ファイルの容量が大きい場合に大量にメモリを消費してしまう。その結果スワップが起きやすくなり、dma転送の待ち時間が長くなっている可能性がある。この解決として、一度にファイル全てをマッピングするのではなく、何回かに切り分けてマッピンするのがよい。ある程度のWordCountし終わった領域に、次のWordCount領域を入れ替えて使うことでメモリを節約でき、スワップを減らすことができるはずである。その結果メモリアクセスが高速になり、dma転送の待ち時間も削減できる。 \subsection{レンダリングのTask} @@ -319,23 +320,31 @@ 回数も減少した。またそれはSPEからのmailの数が減ったということなので、PPE側のmail処理の時間短縮になったと考えられる。 -\section{まとめと今後の課題} +\section{まとめ} 今回はTaskを複数にまとめるTaskArrayを提案、実装し効果を測った。 TaskArrayの効果があるのは、PPE側にも実行すべきTaskがありPPEが忙しい場合ということがわかった。WordCountでは、PPE側のTask がなく、mail待ちがネックではなく、TaskArrayの効果がなかった。大量のファイルをマッピングし、メモリを多く消費するのでメモリアクセス、 dma転送に待ち時間があると考えられ、TaskArrayを用いてもうまくdma転送が隠れてないようだ。dma転送をスケジュールリングによって うまく隠す、またはメモリ領域の節約をすることができれば、今回のWordCountのような大量のデータを用いる場合の速度向上が期待できる。 -またSPEへTaskの均等に割り振ること、複数のSPEが一度にメインメモリのアクセスする場合、なるべく近くのメモリにアクセスするようにしたほうがよい。 + +\subsection{メインメモリアクセス} +WordCountを実装している際に極端に処理速度が遅くなる時があった。 +それは複数のSPEが同時にメインメモリにアクセスする際に、それぞれ離れたメモリにアクセスする時である。Taskにはそれぞれアクセスすべき +メインメモリのアドレスを持っており、そのTaskがうまくSPEに割り振られてなかったため、そのようなことがおこった。TaskをSPEに割り振る際には +なるべく複数のSPEが近くのメモリをアクセスするようにした方がよい。また一定周期でSPEを同期させ、特定のSPEのTask実行が遅くなりすぎたり、速くなり +すぎたりするのを防ぐことでも、メモリアクセス先が離れることを回避できる。 -{\bf 謝辞}\ +%{\bf 謝辞}\ % -%% \begin{adjustvboxheight} % needed only when Appendix follows -%% \begin{thebibliography}{99} -%% \bibitem{LS86} Lanin, V. and Shasha, D.:A Symmetric Concurrent B-Tree -%% Algorithm, -%% Proc.\ 1986 Fall Joint Computer Conference, IEEE, 1986, pp.~380--389. + \begin{adjustvboxheight} % needed only when Appendix follows + \begin{thebibliography}{99} + \bibitem{} 宮國渡 "Implementation of Fine-grain Task Manager for Cell" 平成20年度 学位論文(修士) + \bibitem{} fixstars:http://cell.fixstars.com/ps3linux/index.php/メインページ + \bibitem{} 高山 征大「CELL REGZA」が搭載する並列化技術「Molatomium」 + \bibitem{} OpenCL:http://www.khronos.org/opencl/ + \bibitem{} Mark Deloura "Game Programming Gems" %% \bibitem{ST85} Sleator, D. D. and Tarjan, R. E.:Self-Adjusting Binary Search %% Trees, {\it J. ACM}, Vol.~32, No.~3 (1985), pp.~652--686. @@ -348,8 +357,8 @@ %% \bibitem{W90} 和田久美子:スプレイ木の並列データ探索, Proc.\ KL1 %% Programming Workshop '90, Tokyo, ICOT, 1990, pp.~42--49. -%% \end{thebibliography} -%% \end{adjustvboxheight} % needed only when Appendix follows + \end{thebibliography} + \end{adjustvboxheight} % needed only when Appendix follows \appendix %\section{付録: \LaTeX による論文作成のガイド}