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

柘植 宗範,伊藤 智義

tag: 組み込み

技術解説 2008年1月24日

ここではマルチコア・プロセッサ向けプログラムの作成手法について解説する.マルチコア・プロセッサの例として,家庭用ゲーム機であるPLAYSTATION3に搭載されている「Cell Broadband Engine」を取り上げる.このプロセッサの上で動作するプログラムの開発手順と,計算機合成ホログラムのプログラムをCell Broadband Engineに移植した例を紹介する.  (編集部)

 昨今,プロセッサの動作クロック周波数の向上やプロセスの微細化が進んでいます.そして,このことがトランジスタのリーク電流の増大を引き起こし,消費電力量や発熱量の増加という問題を生んでいます.これらの問題を回避しながら性能を引き上げる手法として,プロセッサのマルチコア化や並列処理技術の導入が提唱されています.

 このような流れの中で,いくつかのプロセッサ・メーカは同じコアを複数個搭載したホモジニアス(対称)型のマルチコア・プロセッサを発表しています.さらに,異なるタイプのコアを一つのプロセッサ内に搭載するヘテロジニアス(非対称)型のマルチコア・プロセッサについても,アプリケーションに特化した処理機構を有するコアを組み合わせたものがいくつか発表されています.

 本稿でとり上げるマルチコア・プロセッサ「Cell Broad-band Engine(以後,CBE)」は,ソニー・コンピュータエンタテインメント,IBM社,東芝の3社が共同開発したヘテロジニアス型マルチコア・プロセッサです.2006年末に発売された家庭用ゲーム機「PLAYSTATION3」に搭載されたプロセッサであることから,皆さんも耳にしたことがあるのではないかと思います.筆者らが開発に使用した機材を写真1に示します.

pic01_01.jpg
写真1 CBE(Cell Broadband Engine)の開発機材
右上が家庭用ゲーム機「PLAYSTATION3」.

 本稿では,まずCBEの構造や特徴を簡単に紹介し,ある処理に対してそれを並列化する作業,および実際のプログラミングについて解説します.また,計算機合成ホログラム(写真2)のプログラムをCBEに移植した例を紹介します(コラム1を参照).

pic02_01.jpg
写真2 電子ホログラフィの表示例

● すべてのプログラムを並列化できるわけではない

 並列処理とは,一つの処理を幾つかの小さな処理に分割し,それらを複数の機構で個別に処理することを言います.そして,それら小さな処理を同時並行で行うことにより,全体の実行時間の短縮を目指します.大手プロセッサ・メーカから最近出荷され始めたマルチコア・プロセッサは,その名のとおり複数の処理機構(CPUコア)を利用して並列処理を行っています.

 なぜ大手プロセッサ・メーカがシングル・コアからマルチコアへとかじを切ったのかについては,さまざまな理由があるようです.例えばその一つとして,昨今のCPUでは,そのピーク性能で稼働し続けている時間が非常に短くなってきている,ということが挙げられます.多くの場合,CPUで実際に動かそうとしているプログラムはそれほど難しい計算を行っているわけではなく,さらに,そういった単純なプログラムを複数同時に起動していることがほとんどです.そういった場合,一つ一つの処理に多少の手間がかかっても,同時に複数の処理を実行できる方が都合が良い,ということになります.そこに,シングル・コアの性能向上の限界も相まって,「高価な一つのプロセッサよりも(製造歩留まりなどのコストから見て)安価な複数のプロセッサ」という流れが出てきたのだろうと思います.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! 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日