Mercurial > hg > Papers > 2015 > yuhi-master
view paper/chapter4.tex @ 19:79d16cee0afd
Benchmark gpu.minor fix abstruct
author | Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 13 Feb 2015 09:29:41 +0900 |
parents | 712576635154 |
children | 417431560eed |
line wrap: on
line source
\chapter{マルチコアへの対応} Cerium は Cell 上で並列に動作するフレームワークであったが、 Mac OS X 、 Linux 上でも並列に実行させることを可能にした。 \section{マルチコア上での実行の機構} Cell には MailBox という機能がある。 Cell は Shared Memory でないので、 Memory に直接アクセスできない。 そこで MailBox を用いて双方向のデータの受け渡しを可能にしている。 MailBox は FIFO キュー構造になっており、Device と Host で この MailBox に対応させる形で Synchronized Queue を用いて MacOSX 、 Linux 用の TaskManager へ MailBox を移植した。 Syncronized Queue はバイナリセマフォで管理されており、Queue を操作しているスレッドは常に一つになる。 各スレッドは Input 用と Output 用として Synchronized Queue を2つ持っており、管理スレッドから Task を受けて 並列に実行する。 \section{DMA} Cell ではデータの受け渡しとして MailBox 以外に DMA 転送を使用する方法がある。 CPU を介さずに周辺装置とメモリ間でデータ転送を行う方式である。 Cerium も DMA 転送を用いている箇所がある。 しかしマルチコア CPU 上で実行する場合は各 CPU で同じメモリ空間を利用できる。 よって DMA 転送を用いていた部分をポインタ渡しを行うように修正し、 メモリに直接アクセスさせることで速度の向上が見込める。