diff paper/chapter4.tex @ 12:e735d95e48d8

add benchmark data
author Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
date Wed, 04 Feb 2015 16:21:37 +0900
parents 265c2e89d54b
children 712576635154
line wrap: on
line diff
--- a/paper/chapter4.tex	Sat Jan 31 15:59:21 2015 +0900
+++ b/paper/chapter4.tex	Wed Feb 04 16:21:37 2015 +0900
@@ -2,18 +2,40 @@
 Cerium は Cell 上で並列に動作するフレームワークであったが、 Mac OS X 、 Linux 上でも並列に実行させることを可能にした。
 
 \section{マルチコア上での実行の機構}
-これまでは FifoManager と FifoScheduler を用いた逐次処理のみであった。
-% FifoManager と FifoScheduler に対応する形で CpuThreads と Scheduler を実装した。
-FifoManager に対応する形で CpuThreads を実装し、Scheduler を並列化した。
-この Threads は Syncronized な Mail Queue で管理されている。
+Cell には MailBox という機能がある。
+ MailBox は FIFO キュー構造になっており、Device と Host で双方向のデータの受け渡しが可能である。
+この MailBox に対応させる形で Synchronized Queue を用いて MacOSX 、
+Linux 用の TaskManager へ MailBox を移植した。
+
+Syncronized Queue はバイナリセマフォで管理されており、Queue を操作しているスレッドは常に一つになる。
 各スレッドは Input 用と Output 用として Synchronized Queue を2つ持っており、管理スレッドから Task を受けて
 並列に実行する。
 
+また、 Cell ではデータの受け渡しとして MailBox 以外に DMA 転送を使用する方法がある。
+CPU の代わりに DMA Controller を介してデータ転送を行う方式である。
+Cell は Device と Host でメモリ空間が異なるために DMA 転送を用いている。
+しかしマルチコア上で実行する場合は各 CPU で同じメモリ空間を利用できる。
+よって DMA 転送を用いていた部分をポインタ渡しを行うように修正し、速度の向上を図った。
 \section{ベンチマーク}
-今回使用する実験環境を表:\ref{tab:dragonfly_spec}、表:\ref{tab:firefly_spec}に示す.
+今回使用する実験環境を表:\ref{tab:firefly_spec}、表:\ref{tab:dragonfly_spec}に示す.
 
 \begin{table}[!htbp]
-  \label{tab:dragonfly_spec}
+  \begin{center}
+    \begin{tabular}{|c||c|} \hline
+      名前 & 概要 \\ \hline \hline
+      Model & MacPro Mid 2010 \\ \hline
+      CPU & 6-Core Intel Xeon @2.66GHz \\ \hline
+      Serial-ATA Device & HDD ST4000VN000-1H4168\\ \hline
+      Memory & 16GB \\ \hline
+      OS & MacOSX 10.10.1 \\ \hline
+      Graphics & NVIDIA Quadro K5000 4096MB \\ \hline
+    \end{tabular}
+  \end{center}
+  \caption{Ceriumを実行する実験環境1}
+  \label{tab:firefly_spec}
+\end{table}
+
+\begin{table}[!htbp]
   \begin{center}
     \begin{tabular}{|c||c|} \hline
       名前 & 概要 \\ \hline \hline
@@ -25,21 +47,13 @@
       Graphics & AMD FirePro D700 6144MB \\ \hline
     \end{tabular}
   \end{center}
-  \caption{Ceriumを実行する実験環境1}
+  \caption{Ceriumを実行する実験環境2}
+  \label{tab:dragonfly_spec}
 \end{table}
 
-\begin{table}[!htbp]
-  \label{tab:firefly_spec}
-  \begin{center}
-    \begin{tabular}{|c||c|} \hline
-      名前 & 概要 \\ \hline \hline
-      Model & MacPro Mid 2010 \\ \hline
-      CPU & 6-Core Intel Xeon @2.66GHz \\ \hline
-      Serial-ATA Device & \\ \hline
-      Memory & 16GB \\ \hline
-      OS & MacOSX 10.10.1 \\ \hline
-      Graphics & NVIDIA Quadro K5000 4096MB \\ \hline
-    \end{tabular}
-  \end{center}
-  \caption{Ceriumを実行する実験環境2}
-\end{table}
+なお、表:\ref{tab:firefly_spec}と表:\ref{tab:dragonfly_spec}は
+CPU クロック数の他にも Strage や GPU の性能にも違いがある。
+実験環境1(表:\ref{tab:firefly_spec})は実験環境2(表:\ref{tab:dragonfly_spec})に比べてクロック数が低く、
+ Strage は HDD を使用している。なお、 GPU は NVIDIA 製の高性能なものを使用している。
+実験環境2(表:\ref{tab:dragonfly_spec})はクロック数が高く、 Strage に SSD を使用している。
+