Mercurial > hg > Papers > 2015 > yuhi-master
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 を使用している。 +