Mercurial > hg > Papers > 2018 > parusu-master
changeset 39:ccc2059189ea
Add WorkerRun.graffle
author | Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 04 Feb 2018 22:20:29 +0900 |
parents | c270df8d0691 |
children | 9fbe922723e1 |
files | paper/fig/WorkerRun.xbb paper/fig/gotoInterface.xbb paper/fig/taskRun.graffle paper/fig/workerRun.graffle paper/fig/workerRun.pdf paper/master_paper.pdf paper/parallelism_gears.tex |
diffstat | 7 files changed, 20 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/fig/WorkerRun.xbb Sun Feb 04 22:20:29 2018 +0900 @@ -0,0 +1,8 @@ +%%Title: fig/workerRun.pdf +%%Creator: extractbb 20170318 +%%BoundingBox: 0 0 824 309 +%%HiResBoundingBox: 0.000000 0.000000 824.000000 309.000000 +%%PDFVersion: 1.3 +%%Pages: 1 +%%CreationDate: Sun Feb 4 22:16:26 2018 +
--- a/paper/fig/gotoInterface.xbb Sun Feb 04 20:50:16 2018 +0900 +++ b/paper/fig/gotoInterface.xbb Sun Feb 04 22:20:29 2018 +0900 @@ -4,5 +4,5 @@ %%HiResBoundingBox: 0.000000 0.000000 793.000000 724.000000 %%PDFVersion: 1.3 %%Pages: 1 -%%CreationDate: Tue Jan 30 06:48:02 2018 +%%CreationDate: Sun Feb 4 21:45:54 2018
--- a/paper/parallelism_gears.tex Sun Feb 04 20:50:16 2018 +0900 +++ b/paper/parallelism_gears.tex Sun Feb 04 22:20:29 2018 +0900 @@ -77,14 +77,23 @@ Context の生成後は Queue から Task を取得する Code Gear へ継続する。 Task は Context なので、Worker は Context を入れ替えて Task の実行を行う。 -CPUWorker での Task の実行を\coderef{workerRun} に示す。 +CPUWorker での Task の実行を\coderef{workerRun}、 \figref{workerRun} に示す。 \coderef{workerRun} は Context の入れ替えを行うため、Meta Code Gear として記述されており、getTaskCPUWorker(\coderef{workerRun} 1-9行目)の引数に Context を記述している。 -CPUWorker は中身が NULL の task を取得すると Worker の終了処理を行う(\coderef{workerRun} 2-4 行目)。 +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 の書き出しと依存関係の解決を行う。 +Data Gear 書き出し後は Task の Context を Worker の Context に入れ替え、再び Task を取得する Code Gear に継続する。 \lstinputlisting[caption=CPUWorker でのTaskの実行, label=code:workerRun]{./src/workerRun.cbc} +\begin{figure}[htbp] + \begin{center} + \includegraphics[scale=0.6]{./fig/workerRun.pdf} + \end{center} + \caption{Workerでの Task 実行} + \label{fig:workerRun} +\end{figure} + \section{SynchronizedQueue} SynchronizedQueue は Worker の Queue として使用される。 Worker の Queue は TaskManager を経由して Task を送信するスレッドと Task を取得する Worker 自身のスレッドで扱われる。