# HG changeset patch # User Yutaka_Kinjyo # Date 1302734888 -32400 # Node ID 2a783e79e31e06b96da1cc4d113bbc4680fccfee # Parent 4f7f36cd3959f4f60d737b5dab72528907a8a924 fix diff -r 4f7f36cd3959 -r 2a783e79e31e abstract~ --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/abstract~ Thu Apr 14 07:48:08 2011 +0900 @@ -0,0 +1,63 @@ +ゲームフレームワーク Cerium TaskManager の改良 + +Mac OSX, Linux, Cell/PS3 上で動作するゲームフレームワーク Cerium を開発した。Cerium 上では主に関数を Task という単位で定義する。 +Task は Cell上の場合、 PPE から各 SPE に割り振られ並列実行される。割り振りの際には Cell の Mail 機能を使っている。 +PPE の Mail 応答が遅い場合には SPE の待ち時間が発生し、処理性能が低下する。 +PPE の Mail 待ち時間をなるべく無くすために、mail queue を実装, mail のタイミングの変更、それ伴うデータ構造の変更を行った。また、ソフトウェアレンダリングの例題によって約7倍の処理速度の向上があった。 + + +mail queue +mail のタイミング +SPEキャッシュ の実装 + + + +Cell/PS3 上で動作するゲームフレームワーク Cerium を開発した。Cerium 上では主に関数を Task という単位で定義する。 +Task は Cell上の場合、 PPE から各 SPE に割り振られ並列実行される。割り振りの際には Cell の Mail 機能を使っている。 + +しかし + +PPE からの Mail 応答が遅い場合には SPE の待ち時間が発生し、処理性能が低下する。 + +また + +SPE へのデータ転送を頻繁に行うと転送のオーバーヘッドがかかる。 +一度SPEに割り振ったデータをキャッシュしておくことによって、データの転送の回数を減少させることができる。 + +そこで + +PPE の Mail 待ち時間、データの転送時間を +無くすために、mail queue を実装, mail のタイミングの変更、それ伴うデータ構造の変更、SPE内のキャッシュの実装を行った。 + +これらの改良後、 + +例題を用いて計測を行った結果、処理速度は約7倍向上した。 + + + + +___________________________________________________ + + +Cell/PS3 上で動作するゲームフレームワーク Cerium を開発した。Cerium 上では主に関数を Task という単位で定義する。 +Task は Cell上の場合、 PPE から各 SPE に割り振られ並列実行される。割り振りの際には Cell の Mail 機能を使っている。 + +しかし + +PPE からの Mail 応答が遅い場合には SPE の待ち時間が発生し、処理性能が低下する。 + +また + +SPE へのデータ転送を頻繁に行うと転送のオーバーヘッドがかかる。 +一度SPEに割り振ったデータをキャッシュしておくことによって、データの転送の回数を減少させることができる。 + +そこで + +PPE の Mail 待ち時間、データの転送時間を +無くすために、mail queue を実装, mail のタイミングの変更、それ伴うデータ構造の変更、SPE内のキャッシュの実装を行った。 + +これらの改良後、 + +例題を用いて計測を行った結果、処理速度は約7倍向上した。 + + diff -r 4f7f36cd3959 -r 2a783e79e31e hoge.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hoge.txt Thu Apr 14 07:48:08 2011 +0900 @@ -0,0 +1,6 @@ +Cell/PS3 上で動作するゲームフレームワーク Cerium を開発した。Cerium 上では主に関数を Task という単位で定義する。 +Task は Cell上の場合、 PPE から各 SPE に割り振られ並列実行される。割り振りの際には Cell の Mail 機能を使っている。 +しかし、 PPE からの Mail 応答が遅い場合には SPE の待ち時間が発生し、処理性能が低下する。 +また、 SPE へのデータ転送を頻繁に行うと転送のオーバーヘッドがかかる。 +そこで、 PPE の Mail 待ち時間、データの転送時間を無くすために、mail queue を実装, mail のタイミングの変更、それ伴うデータ構造の変更、SPE内のキャッシュの実装を行った。 +これらの改良後、例題を用いて計測を行った結果、処理速度は約7倍向上した。 diff -r 4f7f36cd3959 -r 2a783e79e31e hoge.txt~ --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hoge.txt~ Thu Apr 14 07:48:08 2011 +0900 @@ -0,0 +1,2 @@ +Mac OSX, Linux, Cell/PS3 上で動作するゲームフレームワーク Cerium を開発した。Cerium 上では主に関数を Task という単位で定義する。Task は Cerium TaskManager によって管理され、Cell上の場合、 PPE から各 SPE に割り振られ並列実行される。 +PPE から SPE へ Task が投入される場合には、Cell の Mail 機能を使う。PPE の Mail 応答が遅い場合には SPE の待ち時間が発生してしまう。PPE の Mail 待ち時間をなるべく無くすために、mail queue の実装, mail のタイミングの変更、それに伴うデータ構造の検討を行った。その効果について検証する。 diff -r 4f7f36cd3959 -r 2a783e79e31e paper/ARC195OS117-32.aux --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/ARC195OS117-32.aux Thu Apr 14 07:48:08 2011 +0900 @@ -0,0 +1,42 @@ +\relax +\newlabel{fig:cell_arch}{{1}{1}} +\newlabel{sec:mail-box}{{2.1}{2}} +\newlabel{sec:dma}{{2.2}{2}} +\newlabel{sec:Enum}{{3}{2}} +\newlabel{sec:item}{{3}{2}} +\newlabel{fig:scheduler}{{2}{2}} +\newlabel{tab:mailqueue}{{1}{2}} +\newlabel{taskarray}{{3.2}{3}} +\newlabel{tab:taskarray}{{2}{3}} +\newlabel{tab:taskarray-mailqueue}{{3}{3}} +\newlabel{fig:rendering-flow}{{3}{3}} +\newlabel{fig:rend-dep}{{4}{4}} +\newlabel{tab:busy_ratio}{{4}{4}} +\newlabel{tab:cache}{{5}{4}} +\newlabel{fig:wc-graf}{{5}{5}} +\newlabel{tab:memory-access}{{6}{5}} +\newlabel{tab:dandy-compare}{{7}{5}} +\citation{amdahl} +\newlabel{fig:amdahl}{{6}{6}} +\bibcite{gongo}{1} +\bibcite{gongo}{2} +\bibcite{amdahl}{3} +\bibcite{cell}{4} +\bibcite{libspe2}{5} +\bibcite{cell_cpp}{6} +\bibcite{spurs}{7} +\bibcite{chiaki}{8} +\bibcite{blender}{9} +\bibcite{akamine}{10} +\bibcite{akira}{11} +\bibcite{cell_abi}{12} +\bibcite{webpage1}{13} +\bibcite{fedora}{14} +\bibcite{ydl}{15} +\bibcite{cerium}{16} +\bibcite{cell_sdk}{17} +\bibcite{gongo2}{18} +\bibcite{sdl}{19} +\bibcite{opencl}{20} +\bibcite{gallium}{21} +\gdef\ipsj@lastpage{7} diff -r 4f7f36cd3959 -r 2a783e79e31e paper/ARC195OS117-32.dvi Binary file paper/ARC195OS117-32.dvi has changed diff -r 4f7f36cd3959 -r 2a783e79e31e paper/ARC195OS117-32.log --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/ARC195OS117-32.log Thu Apr 14 07:48:08 2011 +0900 @@ -0,0 +1,204 @@ +This is pTeX, Version 3.141592-p3.1.10 (utf8.euc) (Web2C 7.5.4) (format=platex 2011.2.16) 4 APR 2011 13:45 +**ARC195OS117-32.tex +(./ARC195OS117-32.tex +pLaTeX2e <2006/11/10>+0 (based on LaTeX2e <2003/12/01> patch level 0) +(./dummy-utf8.tex) (./ipsjpapers.cls +Document Class: ipsjpapers 2010/10/28 ver 3.02 +(./ipsjpapers.sty +\old@latex@skip=\skip41 +\@Q=\dimen118 +\jfsize=\count81 +\jspaceskip=\dimen119 +\@mojihaba=\dimen120 +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <9> on input line 584. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 584. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <5> on input line 584. +\@abstractbox=\box41 +\@eabstractbox=\box42 +\@titlewidth=\dimen121 +\mkt@prevdepth=\dimen122 +\mkt@titlebox=\box43 +\mkt@cnta=\count82 +\mkt@cntb=\count83 +\mkt@sname=\count84 +\mkt@gname=\count85 +\mkt@boxa=\box44 +\mkt@namewidth=\dimen123 +\InterAuthorSkip=\dimen124 +\c@affi@footnote=\count86 +\c@affi@pfootnote=\count87 +\c@volpageoffset=\count88 +\c@volume=\count89 +\c@number=\count90 +\c@month=\count91 +\c@year=\count92 +\@leftcolumnfootnote=\box45 +\@rightcolumnfootnote=\box46 +\opt@baselineskip=\skip42 +\bio@picbox=\box47 +\bio@colht=\dimen125 +\bio@splitheight=\dimen126 +\bio@maxgap=\dimen127 +\bio@lastgap=\dimen128 +\bio@th=\dimen129 +\bio@lhA=\dimen130 +\bio@hA=\dimen131 +\bio@hB=\dimen132 +\bio@lh=\dimen133 +\bio@rh=\dimen134 +\bio@tempdim=\dimen135 +\bio@pbox=\insert233 + (./ipsjcommon.sty +\c@section=\count93 +\c@subsection=\count94 +\c@subsubsection=\count95 +\c@paragraph=\count96 +\c@subparagraph=\count97 +\bib@adjustheight=\dimen136 +\c@figure=\count98 +\c@table=\count99 +\cap@linewidth=\dimen137 +\cap@hsize=\dimen138 +\cap@prevgraf=\count100 +\cap@box=\box48 +\PF@fnotectr=\count101 +\PF@page=\count102 +\adj@boxa=\box49 +\adj@boxb=\box50 +\adj@height=\dimen139 +\adj@deadcycle=\count103 +LaTeX Font Info: Font shape `JT1/mc/bx/n' in size <10> not available +(Font) Font shape `JT1/gt/m/n' tried instead on input line 942. +LaTeX Font Info: Font shape `JY1/mc/bx/n' in size <10> not available +(Font) Font shape `JY1/gt/m/n' tried instead on input line 942. +))) +(/opt/local/share/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR) + +(/opt/local/share/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 1999/03/16 v1.13 key=value parser (DPC) +\KV@toks@=\toks15 +) +(/opt/local/share/texmf/tex/latex/graphics/dvipdfmx-contrib-latex/graphics.sty +Package: graphics 2001/07/07 v1.0n Standard LaTeX Graphics (DPC,SPQR) + +(/opt/local/share/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 1999/03/16 v1.09 sin cos tan (DPC) +) +(/opt/local/share/texmf-dist/tex/latex/graphics/graphics.cfg +File: graphics.cfg 2005/02/03 v1.3 graphics configuration of teTeX/TeXLive +) +Package graphics Info: Driver file: dvipdfmx.def on input line 81. + +(/opt/local/share/texmf/tex/latex/graphics/dvipdfmx-contrib-latex/dvipdfmx.def +File: dvipdfmx.def 1999/02/16 v3.0i Driver-dependant file (DPC,SPQR) +)) +\Gin@req@height=\dimen140 +\Gin@req@width=\dimen141 +) (./ARC195OS117-32.aux + +LaTeX Warning: Label `gongo' multiply defined. + +) +\openout1 = `ARC195OS117-32.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 39. +LaTeX Font Info: ... okay on input line 39. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 39. +LaTeX Font Info: ... okay on input line 39. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 39. +LaTeX Font Info: ... okay on input line 39. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 39. +LaTeX Font Info: ... okay on input line 39. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 39. +LaTeX Font Info: ... okay on input line 39. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 39. +LaTeX Font Info: ... okay on input line 39. +LaTeX Font Info: Checking defaults for JY1/mc/m/n on input line 39. +LaTeX Font Info: ... okay on input line 39. +LaTeX Font Info: Checking defaults for JT1/mc/m/n on input line 39. +LaTeX Font Info: ... okay on input line 39. +LaTeX Font Info: Font shape `JT1/mc/bx/n' in size <14.4> not available +(Font) Font shape `JT1/gt/m/n' tried instead on input line 84. +LaTeX Font Info: Font shape `JY1/mc/bx/n' in size <14.4> not available +(Font) Font shape `JY1/gt/m/n' tried instead on input line 84. + + +Class ipsjpapers Warning: \title is too wide. Break line(s) by \\ on input line + 84. + +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <10.95> on input line 84. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 84. +LaTeX Font Info: Font shape `JT1/mc/bx/n' in size <12> not available +(Font) Font shape `JT1/gt/m/n' tried instead on input line 84. +LaTeX Font Info: Font shape `JY1/mc/bx/n' in size <12> not available +(Font) Font shape `JY1/gt/m/n' tried instead on input line 84. + +Class ipsjpapers Warning: \etitle is too wide. Break line(s) by \\ on input lin +e 84. + +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <7> on input line 84. +File: ./images/cell-main.pdf Graphic file (type eps) +<./images/cell-main.pdf> +LaTeX Font Info: Font shape `JT1/mc/bx/n' in size <7> not available +(Font) Font shape `JT1/gt/m/n' tried instead on input line 114. +LaTeX Font Info: Font shape `JY1/mc/bx/n' in size <7> not available +(Font) Font shape `JY1/gt/m/n' tried instead on input line 114. +LaTeX Font Info: Font shape `JT1/mc/bx/n' in size <9> not available +(Font) Font shape `JT1/gt/m/n' tried instead on input line 130. +LaTeX Font Info: Font shape `JY1/mc/bx/n' in size <9> not available +(Font) Font shape `JY1/gt/m/n' tried instead on input line 130. +LaTeX Font Info: Try loading font information for OMS+cmr on input line 133. + + (/opt/local/share/texmf-dist/tex/latex/base/omscmr.fd +File: omscmr.fd 1999/05/25 v2.5h Standard LaTeX font definitions +) +LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <8> not available +(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 133. +[1 + +] +File: ./images/scheduler.pdf Graphic file (type eps) + <./images/scheduler.pdf> [2] +File: ./images/rendering3.pdf Graphic file (type eps) + <./images/rendering3.pdf> +File: ./images/rend-dep.pdf Graphic file (type eps) + +<./images/rend-dep.pdf> [3] [4] +File: ./images/wc_graf1.pdf Graphic file (type eps) + <./images/wc_graf1.pdf> [5] +File: images/amdahl.pdf Graphic file (type eps) + + [6] +Overfull \hbox (8.30011pt too wide) in paragraph at lines 635--637 +[]\OT1/cmr/m/n/9 SourceForge.JP: Cerium Ren-der-ing En-gine. https//sourceforg +e.jp/projects/cerium/. + [] + + +Overfull \hbox (8.30011pt too wide) in paragraph at lines 651--653 +[]\OT1/cmr/m/n/9 SourceForge.JP: Cerium Ren-der-ing En-gine. https//sourceforg +e.jp/projects/cerium/. + [] + +[7] (./ARC195OS117-32.aux) + +LaTeX Warning: There were multiply-defined labels. + + ) +Here is how much of TeX's memory you used: + 1337 strings out of 94682 + 16227 string characters out of 1177971 + 72662 words of memory out of 1500000 + 4648 multiletter control sequences out of 10000+50000 + 17648 words of font info for 68 fonts, out of 1200000 for 2000 + 566 hyphenation exceptions out of 8191 + 29i,9n,21p,196b,456s stack positions out of 5000i,500n,6000p,200000b,5000s + +Output written on ARC195OS117-32.dvi (7 pages, 50476 bytes).