changeset 7:a5c4a8caf044

update conclusion
author Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
date Tue, 05 Nov 2013 03:57:19 +0900
parents 343fad986745
children ad68ef71b28e 5af0e754b431
files paper/conclusion.tex paper/ipsj.pdf paper/scheduling.tex
diffstat 3 files changed, 11 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/paper/conclusion.tex	Mon Nov 04 23:35:10 2013 +0900
+++ b/paper/conclusion.tex	Tue Nov 05 03:57:19 2013 +0900
@@ -5,4 +5,7 @@
 データの転送や測定の見直し等、チューニングが必要である。
 
 更に複数あるTaskをCPUとGPU、両方のアーキテクチャで実行できるように実装した。
-
+しかし、CPUとGPUは同じ性能が出るわけではない。
+更に GPU はデータの転送がネックになりやすいので、各Taskの計算量と実行時間が比例しない場合がある。
+そういった場合にCPUとGPUに均等にTaskを割り振ってしまうと、並列度が出ない。
+そこでCPUとGPUに対して最適にTaskを割り振るSchedulingの手法を提案した。
Binary file paper/ipsj.pdf has changed
--- a/paper/scheduling.tex	Mon Nov 04 23:35:10 2013 +0900
+++ b/paper/scheduling.tex	Tue Nov 05 03:57:19 2013 +0900
@@ -4,9 +4,12 @@
  CPU 側の計算量によってバスの転送を圧迫する事が考えられる。
 他にも、各アーキテクチャの得意とする計算が異なる事からも実行速度に差異が出ることが予想できる。
 これらの事から、 CPU と GPU に対して均等に Task を割り振ると並列度は低くなる。
-並列度を維持するためにアーキテクチャのコア数によってどちらかに優先してTaskを振る必要がある。
-一般的にコア数はGPUの方が多いので、GPUを優先してTaskを振っていく。
+並列度を維持するためにアーキテクチャのコア数によってどちらかに優先して Task を振る必要がある。
 \subsection{Scheduling}
-Schedulingを行う際は、並列実行するTaskをCPUとGPUで事前に実行し、実行速度を測定する。
-それぞれの実行速度の割合で重みをつけてTaskを振り分けていく。
+ Scheduling を行う際は、並列実行する Task を CPU と GPU で事前に一度実行し、実行速度を測定する。
+それぞれの実行速度の割合で重みをつけて Task を振り分けていく。
 
+片方が先に終わり、もう一方はまだ動いている、という状態が好ましくない。
+ Task が終了するときは CPU も GPU も両方同時に実行終了するように Scheduling する。
+基本的には GPU の方がコア数が多いので、優先して Task を振ることになる。
+データの転送で