Cell Broadband Engineを利用したホログラム計算(前編)

柘植 宗範,伊藤 智義

tag: 組み込み

技術解説 2008年1月24日

 これとは別に,一つの大きなプログラムを動かす場合も,「それらを分割してできる限り同時に処理する」という観点から,並列処理の重要性が高まっています.この手法は昔からスーパコンピュータの世界でよく利用されています.現在,計算速度の上位を占めるスーパコンピュータは,少なからず並列処理を考えて構成されています.

 しかし,すべてのプログラムを並列化できるわけではありません.例えば,A,B,Cという三つの処理を実行する場合,効率良く処理したいのであれば,それぞれを別の計算機(CPUコア)の上で処理すれば良いように思えます.しかし,AとBの処理に依存関係がある場合(例えばAで計算した結果をBで使用するなど),AとBは同時に処理できません(図1).つまり,並列化によって性能向上を期待する場合,その効果は並列化するプログラムの構造に大きく依存すると言えます.さらに,各計算機の間の通信がボトルネックになるなどの問題点も挙げられます.

zu01_01.gif
図1 処理の並列化に伴う性能向上
並列処理を行うと,プログラム全体の処理時間が短縮される.しかし,すべてのプログラムが並列化できるわけではない.例えば,A,B,Cという三つの処理を行うとき, AとBの処理に依存関係があると(例えばAで計算した結果をBで利用する場合など),AとBを同時に処理することができない.また,多くの場合,処理のはじめに多少のオーバヘッドが存在する.

 また,最近増えてきたマルチコア,マルチスレッドの環境では,まだまだプログラミング環境が整備されていないのが実情です.並列処理を行おうとする場合,マルチスレッドなどを意識して,プログラマが明示的にプログラムを書く必要があります.そうなっていないプログラムは,マルチコア環境でもシングル・コアと同じようなの性能しか発揮できません.実際にマルチコア・プロセッサを搭載したパソコンで一つのアプリケーションを走らせてみても,今までのパソコンとあまり差がないと感じることが多いのはそのためです.

1.CBEの構造と特徴

 CBEは大きく分けて,CPUコアであるPPE(Power PC Processor Element)とSPE(Synergistic Processor Element),外部I/O,メイン・メモリ,それらの間を接続するEIB(Element Interconnect Bus)などで構成されています(図2).以下に,それぞれの役割を説明します.

zu02_01.gif
図2 CBEの概略図
CBEの基本的なアーキテクチャとしてよく紹介されている図.CBEアーキテクチャは,1個以上のPPE(PowerPC Processor Element)と1個以上のSPE(Synergistic Processor Element),一つの内部割り込みコントローラ(IIC),チップ内のユニット同士を接続するEIB(Element Interconnect Bus)を持つものと定義されている.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日