Mercurial > hg > Papers > 2018 > parusu-master
changeset 47:7ddbad0c4b5d
Update twice result
author | Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 06 Feb 2018 04:11:42 +0900 |
parents | b39f72af2e43 |
children | 87c3ca104689 |
files | paper/evaluation.tex paper/fig/goto.graffle paper/fig/twice.pdf paper/fig/twice.svg paper/fig/twice.xbb paper/master_paper.pdf paper/parallelism_gears.tex |
diffstat | 6 files changed, 65 insertions(+), 65 deletions(-) [+] |
line wrap: on
line diff
--- a/paper/evaluation.tex Mon Feb 05 22:40:19 2018 +0900 +++ b/paper/evaluation.tex Tue Feb 06 04:11:42 2018 +0900 @@ -48,24 +48,24 @@ Twice は並列実行の依存関係もなく、データ並列での実行に適した課題である。 そのため、 通信時間を考慮しなければ CPU よりコア数が多い GPU が有利となる。 -要素数$2^{24}$ のデータに対する Twice の実行結果を \tabref{twice}、\figref{twice}に示す。 -CPU 実行の際は $2^{24}$ のデータを 64個のTask に分割して並列実行を行っている。 -ここでの ``GPU`` は CPU、 GPU 間のデータの通信時間を含めた時間、 ``GPU(kernel only)`` は kernel のみの実行時間である。 +要素数$2^{27}$ のデータに対する Twice の実行結果を \tabref{twice}、\figref{twice}に示す。 +CPU 実行の際は $2^{27}$ のデータを 64個のTask に分割して並列実行を行っている。 +ここでの ``GPU`` は CPU、GPU 間のデータの通信時間も含めた時間、 ``GPU(kernel only)`` は kernel のみの実行時間である。 \begin{table}[htbp] \begin{center} \begin{tabular}{|l||l|} \hline Processor & Time(ms) \\ \hline - 1 CPU & 147.946 \\ \hline - 2 CPUs & 80.773\\ \hline - 4 CPUs & 40.527\\ \hline - 8 CPUs & 20.267\\ \hline - 16 CPUs & 10.936\\ \hline - 32 CPUs & 5.878\\ \hline - GPU & 542.816\\ \hline - GPU(kernel only)& 0.755\\ \hline + 1 CPU & 1181.215 \\ \hline + 2 CPUs & 627.914 \\ \hline + 4 CPUs & 324.059 \\ \hline + 8 CPUs & 159.932 \\ \hline + 16 CPUs & 85.518\\ \hline + 32 CPUs & 43.496 \\ \hline + GPU & 127.018\\ \hline + GPU(kernel only)& 6.018 \\ \hline \end{tabular} - \caption{$2^{24}$ のデータに対する Twice} + \caption{$2^{27}$ のデータに対する Twice} \label{tab:twice} \end{center} \end{table} @@ -74,15 +74,15 @@ \begin{center} \includegraphics[scale=0.6]{./fig/twice.pdf} \end{center} - \caption{$2^{23}$ のデータに対する twice} + \caption{$2^{27}$ のデータに対する Twice} \label{fig:twice} \end{figure} -1 CPU と 32 CPU では 約 25.1 倍の速度向上が見られた。 +1 CPU と 32 CPU では 約 27.1 倍の速度向上が見られた。 ある程度の台数効果があると考えられる。 -GPU での実行は kernel のみの実行時間は 32CPU に比べて 約 7.8 倍の実行向上が見られた。 -しかし、通信時間を含めると 1 CPU より著しく遅い結果となってしまった。 +GPU での実行は kernel のみの実行時間は 32CPU に比べて 約 7.2 倍の実行向上が見られた。 +しかし、通信時間を含めると 16CPU より遅い結果となってしまった。 CPU、GPU の通信時間かボトルネックになっている事がわかる。 \section{BitonicSort}
--- a/paper/fig/twice.svg Mon Feb 05 22:40:19 2018 +0900 +++ b/paper/fig/twice.svg Tue Feb 06 04:11:42 2018 +0900 @@ -42,91 +42,91 @@ <g fill="none" color="white" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> </g> <g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> - <path stroke='black' d='M71.9,444.0 L80.9,444.0 M557.3,444.0 L548.3,444.0 '/> <g transform="translate(63.6,447.9)" stroke="none" fill="black" font-family="Arial" font-size="12.00" text-anchor="end"> + <path stroke='black' d='M80.2,444.0 L89.2,444.0 M556.7,444.0 L547.7,444.0 '/> <g transform="translate(71.9,447.9)" stroke="none" fill="black" font-family="Arial" font-size="12.00" text-anchor="end"> <text><tspan font-family="Arial" > 0</tspan></text> </g> </g> <g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> - <path stroke='black' d='M71.9,379.0 L80.9,379.0 M557.3,379.0 L548.3,379.0 '/> <g transform="translate(63.6,382.9)" stroke="none" fill="black" font-family="Arial" font-size="12.00" text-anchor="end"> - <text><tspan font-family="Arial" > 100</tspan></text> - </g> -</g> -<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> - <path stroke='black' d='M71.9,314.0 L80.9,314.0 M557.3,314.0 L548.3,314.0 '/> <g transform="translate(63.6,317.9)" stroke="none" fill="black" font-family="Arial" font-size="12.00" text-anchor="end"> + <path stroke='black' d='M80.2,379.0 L89.2,379.0 M556.7,379.0 L547.7,379.0 '/> <g transform="translate(71.9,382.9)" stroke="none" fill="black" font-family="Arial" font-size="12.00" text-anchor="end"> <text><tspan font-family="Arial" > 200</tspan></text> </g> </g> <g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> - <path stroke='black' d='M71.9,249.0 L80.9,249.0 M557.3,249.0 L548.3,249.0 '/> <g transform="translate(63.6,252.9)" stroke="none" fill="black" font-family="Arial" font-size="12.00" text-anchor="end"> - <text><tspan font-family="Arial" > 300</tspan></text> - </g> -</g> -<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> - <path stroke='black' d='M71.9,184.1 L80.9,184.1 M557.3,184.1 L548.3,184.1 '/> <g transform="translate(63.6,188.0)" stroke="none" fill="black" font-family="Arial" font-size="12.00" text-anchor="end"> + <path stroke='black' d='M80.2,314.0 L89.2,314.0 M556.7,314.0 L547.7,314.0 '/> <g transform="translate(71.9,317.9)" stroke="none" fill="black" font-family="Arial" font-size="12.00" text-anchor="end"> <text><tspan font-family="Arial" > 400</tspan></text> </g> </g> <g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> - <path stroke='black' d='M71.9,119.1 L80.9,119.1 M557.3,119.1 L548.3,119.1 '/> <g transform="translate(63.6,123.0)" stroke="none" fill="black" font-family="Arial" font-size="12.00" text-anchor="end"> - <text><tspan font-family="Arial" > 500</tspan></text> - </g> -</g> -<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> - <path stroke='black' d='M71.9,54.1 L80.9,54.1 M557.3,54.1 L548.3,54.1 '/> <g transform="translate(63.6,58.0)" stroke="none" fill="black" font-family="Arial" font-size="12.00" text-anchor="end"> + <path stroke='black' d='M80.2,249.0 L89.2,249.0 M556.7,249.0 L547.7,249.0 '/> <g transform="translate(71.9,252.9)" stroke="none" fill="black" font-family="Arial" font-size="12.00" text-anchor="end"> <text><tspan font-family="Arial" > 600</tspan></text> </g> </g> <g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> - <path stroke='black' d='M102.2,444.0 L102.2,435.0 M102.2,54.1 L102.2,63.1 '/> <g transform="translate(102.2,465.9)" stroke="none" fill="black" font-family="Arial" font-size="12.00" text-anchor="middle"> + <path stroke='black' d='M80.2,184.1 L89.2,184.1 M556.7,184.1 L547.7,184.1 '/> <g transform="translate(71.9,188.0)" stroke="none" fill="black" font-family="Arial" font-size="12.00" text-anchor="end"> + <text><tspan font-family="Arial" > 800</tspan></text> + </g> +</g> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> + <path stroke='black' d='M80.2,119.1 L89.2,119.1 M556.7,119.1 L547.7,119.1 '/> <g transform="translate(71.9,123.0)" stroke="none" fill="black" font-family="Arial" font-size="12.00" text-anchor="end"> + <text><tspan font-family="Arial" > 1000</tspan></text> + </g> +</g> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> + <path stroke='black' d='M80.2,54.1 L89.2,54.1 M556.7,54.1 L547.7,54.1 '/> <g transform="translate(71.9,58.0)" stroke="none" fill="black" font-family="Arial" font-size="12.00" text-anchor="end"> + <text><tspan font-family="Arial" > 1200</tspan></text> + </g> +</g> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> + <path stroke='black' d='M110.0,444.0 L110.0,435.0 M110.0,54.1 L110.0,63.1 '/> <g transform="translate(110.0,465.9)" stroke="none" fill="black" font-family="Arial" font-size="12.00" text-anchor="middle"> <text><tspan font-family="Arial" >1 cpu</tspan></text> </g> </g> <g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> - <path stroke='black' d='M162.9,444.0 L162.9,435.0 M162.9,54.1 L162.9,63.1 '/> <g transform="translate(162.9,465.9)" stroke="none" fill="black" font-family="Arial" font-size="12.00" text-anchor="middle"> + <path stroke='black' d='M169.5,444.0 L169.5,435.0 M169.5,54.1 L169.5,63.1 '/> <g transform="translate(169.5,465.9)" stroke="none" fill="black" font-family="Arial" font-size="12.00" text-anchor="middle"> <text><tspan font-family="Arial" >2 cpus</tspan></text> </g> </g> <g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> - <path stroke='black' d='M223.6,444.0 L223.6,435.0 M223.6,54.1 L223.6,63.1 '/> <g transform="translate(223.6,465.9)" stroke="none" fill="black" font-family="Arial" font-size="12.00" text-anchor="middle"> + <path stroke='black' d='M229.1,444.0 L229.1,435.0 M229.1,54.1 L229.1,63.1 '/> <g transform="translate(229.1,465.9)" stroke="none" fill="black" font-family="Arial" font-size="12.00" text-anchor="middle"> <text><tspan font-family="Arial" >4 cpus</tspan></text> </g> </g> <g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> - <path stroke='black' d='M284.3,444.0 L284.3,435.0 M284.3,54.1 L284.3,63.1 '/> <g transform="translate(284.3,465.9)" stroke="none" fill="black" font-family="Arial" font-size="12.00" text-anchor="middle"> + <path stroke='black' d='M288.7,444.0 L288.7,435.0 M288.7,54.1 L288.7,63.1 '/> <g transform="translate(288.7,465.9)" stroke="none" fill="black" font-family="Arial" font-size="12.00" text-anchor="middle"> <text><tspan font-family="Arial" >8 cpus</tspan></text> </g> </g> <g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> - <path stroke='black' d='M344.9,444.0 L344.9,435.0 M344.9,54.1 L344.9,63.1 '/> <g transform="translate(344.9,465.9)" stroke="none" fill="black" font-family="Arial" font-size="12.00" text-anchor="middle"> + <path stroke='black' d='M348.2,444.0 L348.2,435.0 M348.2,54.1 L348.2,63.1 '/> <g transform="translate(348.2,465.9)" stroke="none" fill="black" font-family="Arial" font-size="12.00" text-anchor="middle"> <text><tspan font-family="Arial" >16 cpus</tspan></text> </g> </g> <g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> - <path stroke='black' d='M405.6,444.0 L405.6,435.0 M405.6,54.1 L405.6,63.1 '/> <g transform="translate(405.6,465.9)" stroke="none" fill="black" font-family="Arial" font-size="12.00" text-anchor="middle"> + <path stroke='black' d='M407.8,444.0 L407.8,435.0 M407.8,54.1 L407.8,63.1 '/> <g transform="translate(407.8,465.9)" stroke="none" fill="black" font-family="Arial" font-size="12.00" text-anchor="middle"> <text><tspan font-family="Arial" >32 cpus</tspan></text> </g> </g> <g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> - <path stroke='black' d='M466.3,444.0 L466.3,435.0 M466.3,54.1 L466.3,63.1 '/> <g transform="translate(466.3,465.9)" stroke="none" fill="black" font-family="Arial" font-size="12.00" text-anchor="middle"> + <path stroke='black' d='M467.4,444.0 L467.4,435.0 M467.4,54.1 L467.4,63.1 '/> <g transform="translate(467.4,465.9)" stroke="none" fill="black" font-family="Arial" font-size="12.00" text-anchor="middle"> <text><tspan font-family="Arial" >gpu</tspan></text> </g> </g> <g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> - <path stroke='black' d='M527.0,444.0 L527.0,435.0 M527.0,54.1 L527.0,63.1 '/> <g transform="translate(527.0,465.9)" stroke="none" fill="black" font-family="Arial" font-size="12.00" text-anchor="middle"> + <path stroke='black' d='M526.9,444.0 L526.9,435.0 M526.9,54.1 L526.9,63.1 '/> <g transform="translate(526.9,465.9)" stroke="none" fill="black" font-family="Arial" font-size="12.00" text-anchor="middle"> <text><tspan font-family="Arial" >gpu(kernel only)</tspan></text> </g> </g> <g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> </g> <g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> - <path stroke='black' d='M71.9,54.1 L71.9,444.0 L557.3,444.0 L557.3,54.1 L71.9,54.1 Z '/></g> + <path stroke='black' d='M80.2,54.1 L80.2,444.0 L556.7,444.0 L556.7,54.1 L80.2,54.1 Z '/></g> <g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> <g transform="translate(16.3,249.1) rotate(270)" stroke="none" fill="black" font-family="Arial" font-size="12.00" text-anchor="middle"> <text><tspan font-family="Arial" >time(ms)</tspan></text> </g> </g> <g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> - <g transform="translate(314.6,31.0)" stroke="none" fill="black" font-family="Arial" font-size="12.00" text-anchor="middle"> + <g transform="translate(318.4,31.0)" stroke="none" fill="black" font-family="Arial" font-size="12.00" text-anchor="middle"> <text><tspan font-family="Arial" >twice benchmark</tspan></text> </g> </g> @@ -135,44 +135,44 @@ </g> <g fill="none" color="black" stroke="currentColor" stroke-width="2.00" stroke-linecap="butt" stroke-linejoin="miter"> <g stroke='none' shape-rendering='crispEdges'> - <polygon fill = 'rgb(224, 255, 255)' points = '87.1,444.0 117.5,444.0 117.5,347.8 87.1,347.8 '/> + <polygon fill = 'rgb(224, 255, 255)' points = '95.1,444.0 125.0,444.0 125.0,60.1 95.1,60.1 '/> </g> - <path stroke='rgb( 0, 0, 0)' d='M87.1,444.0 L87.1,347.9 L117.4,347.9 L117.4,444.0 L87.1,444.0 Z '/></g> + <path stroke='rgb( 0, 0, 0)' d='M95.1,444.0 L95.1,60.2 L124.9,60.2 L124.9,444.0 L95.1,444.0 Z '/></g> <g fill="none" color="black" stroke="currentColor" stroke-width="2.00" stroke-linecap="butt" stroke-linejoin="miter"> <g stroke='none' shape-rendering='crispEdges'> - <polygon fill = 'rgb(224, 255, 255)' points = '147.7,444.0 178.2,444.0 178.2,391.4 147.7,391.4 '/> + <polygon fill = 'rgb(224, 255, 255)' points = '154.7,444.0 184.5,444.0 184.5,239.9 154.7,239.9 '/> </g> - <path stroke='rgb( 0, 0, 0)' d='M147.7,444.0 L147.7,391.5 L178.1,391.5 L178.1,444.0 L147.7,444.0 Z '/></g> + <path stroke='rgb( 0, 0, 0)' d='M154.7,444.0 L154.7,240.0 L184.4,240.0 L184.4,444.0 L154.7,444.0 Z '/></g> <g fill="none" color="black" stroke="currentColor" stroke-width="2.00" stroke-linecap="butt" stroke-linejoin="miter"> <g stroke='none' shape-rendering='crispEdges'> - <polygon fill = 'rgb(224, 255, 255)' points = '208.4,444.0 238.9,444.0 238.9,417.6 208.4,417.6 '/> + <polygon fill = 'rgb(224, 255, 255)' points = '214.2,444.0 244.1,444.0 244.1,338.6 214.2,338.6 '/> </g> - <path stroke='rgb( 0, 0, 0)' d='M208.4,444.0 L208.4,417.7 L238.8,417.7 L238.8,444.0 L208.4,444.0 Z '/></g> + <path stroke='rgb( 0, 0, 0)' d='M214.2,444.0 L214.2,338.7 L244.0,338.7 L244.0,444.0 L214.2,444.0 Z '/></g> <g fill="none" color="black" stroke="currentColor" stroke-width="2.00" stroke-linecap="butt" stroke-linejoin="miter"> <g stroke='none' shape-rendering='crispEdges'> - <polygon fill = 'rgb(224, 255, 255)' points = '269.1,444.0 299.5,444.0 299.5,430.7 269.1,430.7 '/> + <polygon fill = 'rgb(224, 255, 255)' points = '273.8,444.0 303.7,444.0 303.7,391.9 273.8,391.9 '/> </g> - <path stroke='rgb( 0, 0, 0)' d='M269.1,444.0 L269.1,430.8 L299.4,430.8 L299.4,444.0 L269.1,444.0 Z '/></g> + <path stroke='rgb( 0, 0, 0)' d='M273.8,444.0 L273.8,392.0 L303.6,392.0 L303.6,444.0 L273.8,444.0 Z '/></g> <g fill="none" color="black" stroke="currentColor" stroke-width="2.00" stroke-linecap="butt" stroke-linejoin="miter"> <g stroke='none' shape-rendering='crispEdges'> - <polygon fill = 'rgb(224, 255, 255)' points = '329.8,444.0 360.2,444.0 360.2,436.8 329.8,436.8 '/> + <polygon fill = 'rgb(224, 255, 255)' points = '333.3,444.0 363.2,444.0 363.2,416.1 333.3,416.1 '/> </g> - <path stroke='rgb( 0, 0, 0)' d='M329.8,444.0 L329.8,436.9 L360.1,436.9 L360.1,444.0 L329.8,444.0 Z '/></g> + <path stroke='rgb( 0, 0, 0)' d='M333.3,444.0 L333.3,416.2 L363.1,416.2 L363.1,444.0 L333.3,444.0 Z '/></g> <g fill="none" color="black" stroke="currentColor" stroke-width="2.00" stroke-linecap="butt" stroke-linejoin="miter"> <g stroke='none' shape-rendering='crispEdges'> - <polygon fill = 'rgb(224, 255, 255)' points = '390.4,444.0 420.9,444.0 420.9,440.1 390.4,440.1 '/> + <polygon fill = 'rgb(224, 255, 255)' points = '392.9,444.0 422.8,444.0 422.8,429.8 392.9,429.8 '/> </g> - <path stroke='rgb( 0, 0, 0)' d='M390.4,444.0 L390.4,440.2 L420.8,440.2 L420.8,444.0 L390.4,444.0 Z '/></g> + <path stroke='rgb( 0, 0, 0)' d='M392.9,444.0 L392.9,429.9 L422.7,429.9 L422.7,444.0 L392.9,444.0 Z '/></g> <g fill="none" color="black" stroke="currentColor" stroke-width="2.00" stroke-linecap="butt" stroke-linejoin="miter"> <g stroke='none' shape-rendering='crispEdges'> - <polygon fill = 'rgb(224, 255, 255)' points = '451.1,444.0 481.6,444.0 481.6,91.2 451.1,91.2 '/> + <polygon fill = 'rgb(224, 255, 255)' points = '452.5,444.0 482.3,444.0 482.3,402.6 452.5,402.6 '/> </g> - <path stroke='rgb( 0, 0, 0)' d='M451.1,444.0 L451.1,91.3 L481.5,91.3 L481.5,444.0 L451.1,444.0 Z '/></g> + <path stroke='rgb( 0, 0, 0)' d='M452.5,444.0 L452.5,402.7 L482.2,402.7 L482.2,444.0 L452.5,444.0 Z '/></g> <g fill="none" color="black" stroke="currentColor" stroke-width="2.00" stroke-linecap="butt" stroke-linejoin="miter"> <g stroke='none' shape-rendering='crispEdges'> - <polygon fill = 'rgb(224, 255, 255)' points = '511.8,444.0 542.2,444.0 542.2,443.4 511.8,443.4 '/> + <polygon fill = 'rgb(224, 255, 255)' points = '512.0,444.0 541.9,444.0 541.9,441.9 512.0,441.9 '/> </g> - <path stroke='rgb( 0, 0, 0)' d='M511.8,444.0 L511.8,443.5 L542.1,443.5 L542.1,444.0 L511.8,444.0 Z '/></g> + <path stroke='rgb( 0, 0, 0)' d='M512.0,444.0 L512.0,442.0 L541.8,442.0 L541.8,444.0 L512.0,444.0 Z '/></g> <g fill="none" color="black" stroke="currentColor" stroke-width="2.00" stroke-linecap="butt" stroke-linejoin="miter"> </g> </g> @@ -181,7 +181,7 @@ <g fill="none" color="black" stroke="black" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> </g> <g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> - <path stroke='black' d='M71.9,54.1 L71.9,444.0 L557.3,444.0 L557.3,54.1 L71.9,54.1 Z '/></g> + <path stroke='black' d='M80.2,54.1 L80.2,444.0 L556.7,444.0 L556.7,54.1 L80.2,54.1 Z '/></g> <g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> </g> </g>
--- a/paper/fig/twice.xbb Mon Feb 05 22:40:19 2018 +0900 +++ b/paper/fig/twice.xbb Tue Feb 06 04:11:42 2018 +0900 @@ -4,5 +4,5 @@ %%HiResBoundingBox: 0.000000 0.000000 600.000000 480.000000 %%PDFVersion: 1.5 %%Pages: 1 -%%CreationDate: Sat Feb 3 22:27:55 2018 +%%CreationDate: Tue Feb 6 04:08:41 2018
--- a/paper/parallelism_gears.tex Mon Feb 05 22:40:19 2018 +0900 +++ b/paper/parallelism_gears.tex Tue Feb 06 04:11:42 2018 +0900 @@ -78,7 +78,7 @@ Task は Context なので、Worker は Context を入れ替えて Task の実行を行う。 CPUWorker での Task の実行を\coderef{workerRun}、 \figref{workerRun} に示す。 -\coderef{workerRun} は Context の入れ替えを行うため、Meta Code Gear として記述されており、getTaskCPUWorker(\coderef{workerRun} 1-9行目)の引数に Context を記述している。 +\coderef{workerRun} は Context の入れ替えを行うため、getTaskCPUWorker(\coderef{workerRun} 1-9行目)の引数に入れ替え後のTask(Context)を記述している。 Worker は中身が NULL の task を取得すると Worker の終了処理を行う(\coderef{workerRun} 2-4 行目)。 Task が取得できた場合 Task の実行後に継続する Code Gear を格納し(\coderef{workerRun} 7行目)、Task を Context としてCode Gear に継続する(\coderef{workerRun} 8行目)。 Task の実行後に継続する Code Gear は Data Gear の書き出しと依存関係の解決を行う。 @@ -188,7 +188,7 @@ Gears OS は並列処理の依存関係を Input と Output の Data Gear と Code Gear の関係で解決する。 Code Gear は Input に指定した Data Gear が全て書き込まれると実行され、実行した結果を Output に指定した Data Gear に書き出しを行う。 -Data Gear は メタレベルで 依存関係解決のための Queue を持っている。 +Data Gear はメタレベルで依存関係解決のための Queue を持っている。 この Queue にはその Data Gear を Input Data Gear として使用する Task(Context)が入っている。 依存関係の解決の流れを\figref{dependency} に示す。