Cell Broadband Engine, Investigation Report August 20, 2008 Kazuhiro Fujie
Cell Broadband Engine, Investigation Report
@author Kazuhiro Fujie @date August 20, 2008
1
Cell Broadband Engine, Investigation Report August 20, 2008 Kazuhiro Fujie
Table of Contents Cell Broadband Engine, Investigation Report ...................................................... 1 Table of Contents................................................................................................................................. 2 Table of Figure .................................................................................................................................... 3 Table of Table ...................................................................................................................................... 3 0. Intention of this documentation....................................................................................................... 4 0-1. Backgrounds............................................................................................................................. 4 0-2. Proviso...................................................................................................................................... 4 0-3. Document revision history ....................................................................................................... 5 1. Beginning ........................................................................................................................................ 6 2. Technology Abridgment .................................................................................................................. 8 2-1. Heterogeneous Multi-core........................................................................................................ 8 2-2. Basic Architecture .................................................................................................................. 10 2-3. Programming Model and Compiler........................................................................................ 10 3. Applicable to something ................................................................................................................ 11 3-1. Consumer Game Machine...................................................................................................... 11 3-2. Electrical Appliance ............................................................................................................... 12 3-3. Personal Computer ................................................................................................................. 13 3-4. Peripheral of Computer .......................................................................................................... 14 3-5. Super Computer ..................................................................................................................... 15 3-5-1. Super Computer Top 10 .............................................................................................. 17 3. Consideration and Inference.......................................................................................................... 18 3-1. Comment ................................................................................................................................ 25 Appendix ........................................................................................................................................... 28 A-1. URLs ..................................................................................................................................... 28 Company.................................................................................................................................... 28 Technical Resources .................................................................................................................. 28 A-2. Glossary................................................................................................................................. 29 C ................................................................................................................................................ 29 E................................................................................................................................................. 29 F................................................................................................................................................. 29 G ................................................................................................................................................ 29 H ................................................................................................................................................ 30 I.................................................................................................................................................. 31 M ............................................................................................................................................... 31 O ................................................................................................................................................ 31
2
Cell Broadband Engine, Investigation Report August 20, 2008 Kazuhiro Fujie
P................................................................................................................................................. 32 S................................................................................................................................................. 32 T................................................................................................................................................. 33 A-3. News...................................................................................................................................... 34 AMD.......................................................................................................................................... 34 IBM ........................................................................................................................................... 34 Intel............................................................................................................................................ 34 Toshiba ...................................................................................................................................... 34
Table of Figure Figure 1: PlayStation 3 ............................................................................................................. 6 Figure 2: Cell Broadband Engines............................................................................................ 7 Figure 3: Arrangement.............................................................................................................. 8 Figure 4: IBM Cell Broadband Engine Processor .................................................................... 9 Figure 5: PlayStation 3 ........................................................................................................... 11 Figure 6: SpursEngine ............................................................................................................ 12 Figure 7: TOSHIBA Qosmio G50 .......................................................................................... 13 Figure 8: Cell Accelerator Board............................................................................................ 14 Figure 9: Roadrunner Breaks Petaflop Milestone................................................................... 15 Figure 10: IBM Roadrunner supercomputer set to bust the petaflop ceiling.......................... 16 Figure 11: Cell/B.E. Die ......................................................................................................... 18 Figure 12: Linux on Cell BE-based Systems.......................................................................... 20 Figure 13: NVIDIA GeForce Go 7800 GPU .......................................................................... 23 Figure 14: ATI Radeon HD 2600 Series ................................................................................. 24 Figure 15: NVIDIA Tesla C870.............................................................................................. 24 Figure 16: AMD plans a twin-die version with a total of 12 cores connected via Hyper Transport 3.0...................................................................................................................... 25 Figure 17: Intel prototype 80 cores processor ...................................................................... 26 Figure 18: Silicon Graphics' Iris Indigo.................................................................................. 27
Table of Table Table 1: Super Computer Top 10 ............................................................................................... 17
3
Cell Broadband Engine, Investigation Report August 20, 2008 Kazuhiro Fujie
0. Intention of this documentation 本書の主旨。 本書は新規製品となるであろう Cell Broadband Engine を調査対象として、これに関する様々な 情報を収集し、特に IBM 社の同関連製品動向に関して現行での事前調査報告を粛粛と纏めた ものです。 調査期間が極めて短時間であり、情報源がウェブにて公開された情報のみに留まりますが、これ ら豊富な情報を元に現時点での事前調査報告を行い現状での理解と把握と共有を推し進め、 我々の今後の状況把握もしくは対抗策への考えを促すものとなることを意図しております。次節 への活動詳細を方向付けすべく周囲の関係者へのご理解を頂ける様、これら情報の記載を行う ものであります。 本文は稚拙な文章と内容でありますが関係各位に御査収頂けますようお願い致します。
0-1. Backgrounds 背景。 IBM 社等の製品である Cell Broadband Engine は、現状では新規製品としての対策検討段階 にすぎません。
0-2. Proviso 但し書き。 尚、これに記載されている内容は、大師匠で在らせられる梅澤殿 1 にお話を伺いしまして得られ た事柄に因る賜物です。本書は、その御高話を拝聴し鑑みた後、独自に補完を行い纏めたもの です。本題であるハードウェアとその周辺に関する難解なお題目に対して光を御導き頂いたこと に対してここに感謝と尊敬の念を示します2。 調査した内容は、現行 2008 年 7 月時点から入手出来た情報を元に考慮され記載しています。 本書は改編、校正を含め随時更新しております。詳細は改定履歴をご参照下さい。 また本書は予告無く改訂していきます。其の点ご了承下さいませ。
1
筆者の師匠である井澤殿の師匠であります。師匠の師匠ですので必然で大師匠となります。 梅澤殿のご指導なくして理解は出来ませんでした。ここに纏めた見解はすべて師のお言葉から 自然と導き出されたものに過ぎません。
2
4
Cell Broadband Engine, Investigation Report August 20, 2008 Kazuhiro Fujie
0-3. Document revision history 改訂履歴です。
Date
Revision
Memorandum
2008/07/08
Sentence appearance
First touch
2008/07/15
Progress (just started)
Skeleton
2008/07/16
Progress (continued)
Shell
st
2008/07/17
1
Edition (revision 1)
2008/08/20
1st Edition (revision 2)
5
Perpetual Beta Correction
Cell Broadband Engine, Investigation Report August 20, 2008 Kazuhiro Fujie
1. Beginning 発端。 Cell (正式名称は、Cell Broadband Engine 3) は、ソニー・コンピュータ・エンタテインメント・IBM・ 東芝によって開発されたマイクロプロセッサです。
製品化当初はソニー・コンピュータ・エンタテインメントのコンシューマゲームであるプレイステーシ ョン 3 4 に採用され世に出回りはじめましたが、その後、高品位テレビなど家電分野にも次第に採 用され初めています 5。 また現在ではスーパー・コンピュータなどのハイエンド製品にも採用され ている様子です6。
Figure 1: PlayStation 3
3
Cell Broadband Engine : Cell/B.E. もしくはCBEとも。 PlayStation 3 a.k.a. PS3 5 今後東芝によってDVDプレイヤーなど更に家電分野での露出が大きくなると予想されます。後 述します。 6 IBM Roadrunner というスーパーコンピュータに搭載されています。後述します。 4
6
Cell Broadband Engine, Investigation Report August 20, 2008 Kazuhiro Fujie
このCell プロセッサーがIBMによってハイエンド機に搭載されるにあたり、エンタープライズ分野 で市場を席巻するかもしれないという危惧が発端の様子です7。
Figure 2: Cell Broadband Engines
特にグリッドなどで並列に処理可能な分野でのサーバー機として活躍するのでは?という脅威も あります。これら憶測が正しいのか否か? そして IBM による今後の台頭はどのような予測が為 されるのか?ということを判断するために、この Cell/B.E. の関連情報を調査し些少ながらも背景 を明らかにするものであります。 以上が簡易ながらも此れのあらましです。
7
詳細は不明ですが、上長が外部よりCell についての説明を受けた経緯であり、それ故にこれ に関して筆者に唐突な質問をされたことに起因します。つまりこれを脅威に感じているため対抗 策を練る必要からも該当製品の理解を進めるために概要を調査するに至りました。調査内容に ついては口頭にて既に報告済みでありますが、ここに文章として纏めておくことにしました。 7
Cell Broadband Engine, Investigation Report August 20, 2008 Kazuhiro Fujie
2. Technology Abridgment 技術概要を簡易に記載します8。 基本情報などに対して平易な解説を含めて記載します。
2-1. Heterogeneous Multi-core 以下、抜粋です。 Cell はマルチコアCPUで、1 つのCPUの中に 9 個のプロセッサ・コアをもつ。1 個の汎用的なプロ
セッサ・コアと、8 個のシンプルなプロセッサ・コアを組み合わせたヘテロジニアス・マルチコア(ヘ テロジニアス : Heterogeneous、非対称、異種混合)。汎用プロセッサ・コアはPowerPC Processor Element (PPE)と呼ばれ、8 個のコアはSynergistic Processor Element (SPE)と呼ばれる。オペレー
ティングシステム(OS)はLinuxなどをサポートする 9 。また、仮想マシン支援機能が搭載されており 複数の仮想マシン上で複数のOS(ゲストOS)を互いに干渉させること無く走らせることができる。 通常のOSが動作するスーパーバイザーモードの上位にハイパーバイザーモードがあり、仮想マ シンを管理する最上位のOSはこのハイパーバイザーモードで動作している。
Figure 3: Arrangement
基本構成としては、PPEと呼称されるコントローラの役割を持つPowerPCが 1 個あり、その周辺に SPEと呼ばれる 8 個のシンプル(単純な)コアが配置される設計となっている10 11。同種のコアが複 数あるのではなく、非対称な構成になっている。これがヘテロジニアス・マルチコアと呼ばれる所 以である。
8
情報源のほとんどはWikipediaからなどの情報もしくはニュースなどの公開された情報に因りま す。 9 要するにPowerPC対応のLinuxが走るらしいです。SPEを利用するための変更部分が加えられ ていると想像されます。 10 PS3 では、1PPE+7SPE搭載するようにしています。これは歩留まりを上げるために 1 個コアが不 良だとしても利用出来るようにしたためと考えられます。 11 最小構成では、1 つのSPEが必要とされるらしいです。これはまさにコプロセッサとして動作す るものと考えられます。 8
Cell Broadband Engine, Investigation Report August 20, 2008 Kazuhiro Fujie
Figure 4: IBM Cell Broadband Engine Processor
9
Cell Broadband Engine, Investigation Report August 20, 2008 Kazuhiro Fujie
2-2. Basic Architecture 以下、抜粋です。 2005 年現在はコアが 9 個 (PPEx1 + SPEx8)搭載されているが、これはCell Broadband Engine ア
ーキテクチャ(CBEA)と呼ばれる規格化された拡張可能なアーキテクチャの一実装形態であり、こ れを 1PEとした 4PE (PPEx4 + SPEx32)など多様な構成を取り得る。 Cell Broadband Engineアー キテクチャ仕様書ではPPEとSPEがそれぞれ一つ以上含まれる事を要求している。さらにIIC12 、 EIB13 がそれぞれ一つ含まれる事を要求している。 前述の PS3 の例からも適用する箇所によってある程度の許容された構成が可能である。 2-3. Programming Model and Compiler 以下、抜粋です。 Cell の SPE は通常のマルチプロセッサと異なり各 SPE が独立したメモリ空間を持ち、また分岐予
測などのハードウェア機構を持たないため、その性能を十分に引き出すにはそれに合わせたプロ グラミングモデルを採用する必要がある。 コンパイラに於ける最適化は、SPUのインストラクションレベル、自動SIMD化、共有メモリモデル の自動並列化の 3 レベルがある。SPUのインストラクションレベルでは、ハードウェアで分岐予測 を持たないので、分岐ヒント命令を少なくとも分岐の 11 サイクルに自動的にスケジュールする。共 有メモリモデルの自動並列化は、OpenMP14 で記述された 1 つのソースからPPEとSPEに自動分 割する。SPEにおいては、コードは、自動分割され、規則的なデータは、共有メモリとローカルスト ア間のDMA命令に自動生成され、不規則なデータは、ソフトウエアキャシュにより処理される。ソ フトウエアキャッシュ(4 way set 連想メモリ)は、SIMD命令で実行される。 これらを鑑みてもこのCellアーキテクチャを有効に利用するためのプログラミングが容易ではない のは容易に想像出来ます。また人間がこれをプログラミングレベルで行うのは、不得手であるの は自明であるため、各々のCellのアーキテクチャに最適化されたコンパイラが必要であるのは必 須事項とも言えるのでしょう
15
。
12
IIC: Internal Interrupt Controller EIB: Element Interconnect Bus 14 並列コンピューティング環境を利用するために用いられる標準化された基盤。 15 これについては考察にて詳細を記載します。 13
10
Cell Broadband Engine, Investigation Report August 20, 2008 Kazuhiro Fujie
3. Applicable to something Cell/B.E.が実際の製品に投入されている例を列記します。 3-1. Consumer Game Machine 前述のようにソニー・コンピュータ・エンタテインメントのコンシューマゲームであるプレイステーショ ン 3 16 に Cell/B.E. が採用されています。この事実からもCell の当初の目的であったのは、リア ルタイムで高解像度の画像処理を行うための演算処理能力が求められていたものであろうと推 理できます。
Figure 5: PlayStation 3
16
PlayStation 3 a.k.a. PS3 11
Cell Broadband Engine, Investigation Report August 20, 2008 Kazuhiro Fujie
3-2. Electrical Appliance 東芝は Cell を家電分野にて利用するために以前から Cell を映像処理用コプロセッサとして利用 するための開発を進めている様子であり、その試作製品として「SpursEngine」を発表済みです。 記事17 より以下抜粋。 Cell/B.E.のストリーミングプロセッサコア「SPE」4 基を搭載したメディアストリーミングプロセッサ。 SpursEngine は、SPE 4 基に加え、フル HD 対応の MPEG-2/H.264 のハードウェアエンコーダ/デコ
ーダを搭載し、ワーキングメモリ用にバス幅 32bit の XDR DRAM 用インターフェイスを備える。ホ スト CPU と PCI Express で接続し、コプロセッサとして映像処理を行なう。加えて、Cell/B.E.よりも 小規模な回路設計とし、低消費電力で動作可能にした。サ ンプルの動作クロックは 1.5GHz で、 消費電力は 10W 台という。 10 月の CEATEC では、同プロセッサを搭載したノート PC とカメラを用意し、人物の顔の向きと表
情を元に髪型の変更と化粧を施した CG を合成する 3D シミュレーションシステムを公開する。ノ ート PC でリアルタイムな 3D 顔認識/シミュレーションを実現するのは、今回のシステムが初として いる。そのほ か、SpursEngine を搭載したノート PC のコンセプトモデルを展示する予定。
Figure 6: SpursEngine
つまりは家電に於いても計算処理能力が必要であり、例えば通常画質から高画質へとリアルタイ ムに変換するためには、相当な計算能力が必要なためこの目的を達するために Cell を利用し ているのである18。 17
東芝、CellのSPEを 4 基搭載した映像処理用コプロセッサ http://pc.watch.impress.co.jp/docs/2007/0920/toshiba.htm 18 東芝,「Cell搭載テレビ」を 2009 年春にも発売 http://itpro.nikkeibp.co.jp/article/NEWS/20080107/290433/
12
Cell Broadband Engine, Investigation Report August 20, 2008 Kazuhiro Fujie
3-3. Personal Computer 東芝は Cell を搭載したノートパソコンを発表している。2008 年 7 月下旬に発売予定だそうです。 記事19 より以下抜粋。
東芝は 6 月 23 日、Cell ベースのメディアストリーミングプロセッサ「SpursEngine」を搭載したノート PC を 7 月下旬に発売すると発表した。DVD などの SD 映像をリアルタイムにアップコンバートして HD 表示する機能などを備えた。
同プロセッサを搭載するのは、AV 機能を重視した「Qosmio G50 シリーズ」と「Qosmio F50 シリー ズ」。アップコンバート機能に加え、地上デジタル放送の録画時に H.264 変換しながら録画するこ とで、画質低下を抑えながら同社従来比で約 8 倍の約 492 時間録画する機能や、地上デジタル 番組を DVD に書き込む際のエンコードを高速化してダビング作業時間を約半分に短縮する機能 ──などを備える。 SpursEngine は Cell プロセッサの技術をベースに東芝が独自開発。Cell のプロセッサ・コア「SPE」
(Synergistic Processor Element)×4 個(1SPE 当たり 12GFLOPS)を搭載し、同社は「Quad Core HD Processor」と呼んでいる。
Figure 7: TOSHIBA Qosmio G50
東芝の Cell の利用方法は AV 機能の拡充というアプローチであることに変化はなく、ノートパソコ ンに Cell を搭載するのも AV ノートとしての機能強化が目的であり、実際の利用方法としても地デ ジの録画や HD 表示をリアルタイムに変換するなど、動画の伸張圧縮など映像関連機能強化の ために Cell を使用している様子である。
19
東芝、Cellベース「SpursEngine」搭載ノートPCを発売 http://www.itmedia.co.jp/news/articles/0806/24/news012.html
13
Cell Broadband Engine, Investigation Report August 20, 2008 Kazuhiro Fujie
3-4. Peripheral of Computer Cell が搭載されたパソコンなどの周辺機器も登場しています。 Mercury and IBM's Technology Collaboration Solutions (TCS) group are jointly developing solutions based on the Cell Broadband Engine™ (BE) processor that offer dramatically improved performance for many graphic-intensive applications. Mercury's software tools and libraries, professional services, and hardware acceleration technologies can significantly accelerate mathematical computations for complex algorithms. Mercury works with customers in medical imaging, electronic design automation (EDA), semiconductor, aerospace and defense, seismic processing, and video processing markets to eliminate bottlenecks in their applications. We assisted Mentor Graphics Corporation, for example, in their efforts to deploy EDA slutions on Cell processor-based systems. Mercury Computer Systems, Inc.は、IBMと共同で Cell/B.E. の開発を行っており、プロセッサ自 体の生産も行っている様子です
20
。此れゆえに、彼等はCell/B.E.をパソコン部品としても販売し
ている模様です。
Figure 8: Cell Accelerator Board
このPCIe 21 インターフェースのアクセラレータ・ボードとしての利用法は、主にEDA 22 でのグラフ ィック支援を意図したものと考えられます。今後は他の並列処理のための拡張としての利用も増 えるかとも想われます。
20
IBM は、Mercury と共同開発という体制を執ることに因って彼等に実際の生産を肩代わりさ せているのかもしれません。 21 PCIe : PCI Express. I/Oシリアルインターフェース。 22 EDA : Electronic Design Automation 14
Cell Broadband Engine, Investigation Report August 20, 2008 Kazuhiro Fujie
3-5. Super Computer IBM は Cell/B.E. を使ってスーパー・コンピュータを作りました。それが Roadrunner です。 記事
23
より以下抜粋。
IBM は、2006 年に米国エネルギー省国家核安全保障庁から受注し開発に着手していたスーパ
ー・コンピュータ「 Roadrunner 」がとうとう 1 ペタフロップスの大台を突破したと発表しました。 Roadrunner は 12960 個の「改良版」Cell Broadband Engine チップと、6948 個のデュアルコア Opteron を使用したハイブリッドクラスタ型コンピュータで、消費電力はピーク値で 3.9 メガワット。
今のところベンチマーク値がどこまで到達したのか詳しい情報はわかっていませんが、2006 年当 時の発表によれば 1.6 ペタフロップスは出る見積もりのようです。ちなみに地球シミュレータは実 効値で 35 テラフロップス(2002 年)、昨年 top500 王者の IBM BlueGene/L は 478 テラフロップ ス。
Figure 9: Roadrunner Breaks Petaflop Milestone
Roadrunnerの構成は、Cell/B.E. と Opteron のハイブリッド型だそうです。但し、Cell/B.E.は改良 型とされていて、PS3 のそれとはスペック
24
が異なるであろうと推測されます。
「Roadrunnerがハイブリッド型の構成を採用している」、この事実からもCell/B.E. が何者かが見え 23
IBM のスーパーコンピュータ「Roadrunner」がペタフロップス達成 http://japanese.engadget.com/2008/06/09/ibm-roadrunner-breaks-peta-flops/ 24 特にSPEのレジスタ長は通常 128bitであるそうですが、ベクトル計算を高速に行うために 256bit に拡張されているらしいと想像されます。もしくはレジスタの個数(通常 128 個)が増やされ ているのでしょう。 15
Cell Broadband Engine, Investigation Report August 20, 2008 Kazuhiro Fujie
てきます
25
。
また、プレスリリース
26
に記載されている Roadrunner の諸元は以下になります。
* 80 テラバイトのメモリ * 288 台の IBM BladeCenter ラック(冷蔵庫大) * 6000 平方フィート(557 平方メートル)の設置面積 * 10000 のネットワーク接続 (Infiniband とギガビットイーサの併用) * 57 マイルの光ケーブル *総重量 500000 ポンド(227 トン)
Figure 10: IBM Roadrunner supercomputer set to bust the petaflop ceiling
モンスターマシンと呼ぶべきものであり、まさにスーパー・コンピュータです。
25
後述します。 Fact Sheet & Background: Roadrunner Smashes the Petaflop Barrier [09 Jun 2008] http://www-03.ibm.com/press/us/en/pressrelease/24405. 26
16
Cell Broadband Engine, Investigation Report August 20, 2008 Kazuhiro Fujie
3-5-1. Super Computer Top 10 参考までにスパコン(スーパー・コンピュータ)の性能ランキングを付記しておきます。 Roadrunner がトップを捕った最新版である 2008 年 6 月 18 日版 スパコン TOP10 です。 Rank Name
Customer
Vendor
Score (TFLOP/s)
1
Roadrunner
DOE/NNSA/LANL (U.S.)
IBM
1026.00
2
BlueGene/L
DOE/NNSA/LANL (U.S.)
IBM
478.20
3
Blue Gene/P
Argonne National
IBM
450.30
Sun
326.00
Laboratory (U.S.) 4
Ranger
Texas Advanced Computing Center (U.S.)
5
Jaguar
Oak Ridge National
Microsystems Cray
205.00
IBM
180.00
SGI
133.20
HP
132.80
Laboratory (U.S.) 6
JUGENE
Forschungszentrum Juelich (Germany)
7
Encanto
New Mexico Computing Applications Center (U.S.)
8
EKA
Computational Research Laboratories (India)
9
Blue Gene/P
IDRIS (France)
IBM
112.50
10
SGI Altix ICE 8200EX
Total Exploration Production
SGI
106.10
(France) Table 1: Super Computer Top 10
6 月 18 日に、スーパー・コンピュータの性能ランキング「TOP500」の 2008 年 6 月版が発表された。
今 回 の 1 位 は 米 ロ ス ア ラ モ ス 国 立 研 究 所 に 納 入 さ れ た IBM の 「 Roadrunner 」 で 、 初 め て 1P(Peta)FLOP/sを超えた。同システムは電力性能比でも最上位を争う 1 つとなっている。
17
Cell Broadband Engine, Investigation Report August 20, 2008 Kazuhiro Fujie
3. Consideration and Inference この文書の核となる考察と推測です27。 前述の事実から重要項目を抽出し、そこから自ずと見えてくる事項から推論を施します。 ① Cell は、PPEと呼称されるコントローラの役割を持つPowerPCベース の 1 つのコアに加えて、 SPEと呼ばれる別のアーキテクチャのシンプルなコア 8 つ28 で構成されヘテロジニアスなアーキテ クチャである。 まず小さいコアを載せるメリットは、ダイ 29 のサイズに対してより多くのコアが配置できるとという 利点があるのだそうです。要するに、部屋のサイズは変わらないけれど、大きい人より小さい人 の方がより沢山の人が部屋に入れるという理屈だと考えられます。コアの数を多数載せることに より、処理能力を上げるという方法です。
Figure 11: Cell/B.E. Die
27
これらの推理を施すことが出来たのは、全ては大師匠(師匠である井澤殿の師匠)である梅澤 殿からの教えにより導かれたものです。ハードウェアの根本である一番難解な部分に関して、判 りやすく質疑応答に応じて頂けました。これらの成果は全て大師匠のお陰であります。 28 前述のようにPlayStation は歩留まり上げるために 7 つしかない。 29 Die: シリコン・ウェハー上に半導体回路を作り、四角に切り出したもの。ベア・チップとも。 18
Cell Broadband Engine, Investigation Report August 20, 2008 Kazuhiro Fujie
また現在では、デュアルコアやクアッドコア 30 と呼ばれるようなマルチコアCPUが既に市場に投 入されています。それにも拘らず、この非対称であり特殊な構成を採用する理由を考えてみると、 サイズだけでなくシンプルなコアが安価であるというコスト面も浮かび上がってきます。 複雑な命令を多数含んだ汎用と呼ばれるコアに比べて、シンプルなコアであれば製造が容易で あり、つまりはコストを下げることが可能になるのでしょう。 つまりマルチコア CPU にとっての要因は以下に集約されるのでしょう。 ② ダイ・サイズ(半導体本体の面積)と消費電力、そしてメモリ帯域。 これら 3 つは、同時に制約としても存在します31。 また逆説的になりますが、コアを数値演算処理だけに特化すれば、汎用コアを使う必要がありま せん。数値演算だけしか行わないのであれば汎用コアを使うのはオーバーヘッドになるでしょうし ましてや無駄です。実際Cell/B.E. のSPEは、数値演算処理に特化したものであり、所謂、汎用の 処理のための命令が省かれています。 このことからもFPU32 と同等の位置づけです。つまりシ ンプル・コアの役割が数値演算処理に特化するためなら、まさにFPUであり、またはコプロセッサ でしょう。 SPE が担う部分は数値演算処理のみと限定できます。つまりこれ以外には能力を発揮出来ない (もしくは発揮しない)ことになります。長所であり、短所でもあり、まさにこれがヘテロジニアス・マ ルチコアの特徴であると言えるでしょう。 これらから導き出されましたことにより次のように言えるでしょう。 ③ Cell/B.E. は数値演算処理だけが得意である。 では、この数値演算処理能力を何に使うのでしょうか? 勿論、膨大な数値演算を必要としているものであるのでしょうから、科学技術計算などはそれに 当てはまるのでしょうし、具体的なものであれば構造解析などのシミュレーションは膨大な計算を 必要とします。金融分野であればリスク計算などの処理が適しているでしょうし、まさにその近辺 で必要とされるのでありましょう。 30
従来のマルチ・コアです。この先にはメニー・コアがあるのかもしれません。 まさにこれはGPUとの統合の場合には制約となります。 32 FPU: Floating Point number processing Unit、浮動小数点演算装置。 31
19
Cell Broadband Engine, Investigation Report August 20, 2008 Kazuhiro Fujie
またもっともポピュラーな例で言えば、既に東芝などが進めている方向性で露出しているように、 グラフィックスでのレンダリングやシェーディングなど、動画フォーマットのエンコーディング、デコ ーディング、そして画像情報の動的補完など画像処理がその一番の用途に挙げられるでしょう 33
。
但し、問題はこの複数のシンプル・コアを果たして有効に使えるのか?です。 言い換えると、どうやって複数のコアに最適化されたプログラムを実行させるのか?という意味で す。ヘテロジニアスのマルチコアという代物を普通に使いこなせるのか?ということがこれには疑 問が残ります。
Figure 12: Linux on Cell BE-based Systems
Cell/B.E. を利用するレベルによるとは思いますが、このハードウェア上で動作するオペレーティ ング・システムが重要になることは間違いありません。更には、その OS 層の上位レイヤーで動作 するアプリケーションが自ら対応する羽目になるのかもしれません。 自明ですが、この依存関係は以下になります。 ハードウェア Æ オペレーティング・システム Æ (ライブラリ、ミドルウェア) Æ (コンパイラ) Æ アプリケーション
つまり、この特殊なハードウェア環境で最適化されたアプリケーションがなければ、リソースを十 分に有効活用出来ないのも当然です。 ④ Cell/B.E.に対応した標準オペレーティング・システム、そしてプログラムを並列処理部分の分 離を自動的に行えるような最適化されたコンパイラが必要である。
33
但し、こういった画像修理の部分は、ソニーでは別途GPUを接続しています。東芝では Cell/B.E. のSPEのうち 4 つを画像伸張圧縮用のASICに差し替えて利用しています。 20
Cell Broadband Engine, Investigation Report August 20, 2008 Kazuhiro Fujie
これが汎用的なプログラムを Cell/B.E. で稼動させるための最大の要因になります。 現行では Cell/B.E. で動作する Linux34 が既に存在するのですが、これはあくまでもコントロー ラであるPowerPCアーキテクチャ用のLinuxを載せたものにしか過ぎないようであり、SPE部分を 十分に動作させるものではないと想像されます35。 つまり現状では、十分に抽象化されハードウェアを隠蔽したオペレーティング・システムではなく、 ライブラリの援護に留まるということであれば、プログラマが十分にプロセッサ・コアを意識した並 列処理部分を十分に分離したプログラミングを行わなければ、期待した性能を得られないという 結果になることでしょう。 このマルチコアに於ける関係は、マルチプロセッサが登場した際にSun Solaris OSがユーザ空間 ではなく、カーネル内部にカーネル・スレッドを実装したことでオペレーティング・システムそのもの が、タスクをカーネル・スレッド単位で有効にスケジューリングしマルチプロセッサ性能を十二分に 発揮できるようにしたことに類似していると言えます 36 。ましてやヘテロ型マルチコアである Cell/B.E. を利用する場合には、更にオペレーティング・システムの判断が重要 37 であり、この段 階まで達していないと言えます。 また Solaris では、アプリケーション・レベルで並列処理の最適化を有効にするためにマルチ・ス レッドのライブラリを提供しています。但し、実際のプログラミングでこのマルチ・スレッドを活用す ることは、並列処理そのものが非常に難解であり実際に有効に活用するどころか、難解さ故にプ ログラム自体の不具合を産み出し、デッドロックが発生するなどしてプログラムが正常動作しない などの弊害が多く起こるのが現実です。 こういったマルチスレッド・プログラミングを有効に実装できるプログラマはごく少数であり、違う見 方をすれば、こう処理を人間が気を使いながらプログラムを書くというのは不得手なことであり、 本来コンピュータが得意なタスクであり淡々と処理してくれるのが理想的な筈です。それには、プ ログラマが書いたコードを自動的に並列処理 38 に最適化してくれるコンパイラ(もしくはミドルウェ ア)が必須であると考えます。 34
Linuxカーネル 2.6.16 でCellサポートを謳っています。またIBMからはCell/B.E. ハードウェアサ ポート用のLinuxパッチが提供されている様子です。 35 この段階ではOSレベルで全て隠蔽してくれるものではなく、プロセッサ・コア間での制御と通信 に於けるソフトウェア・サポートの用意があるということです。対応ライブラリが用意されているとい うことだと理解しています。詳細は理解しておりません。 36 SMPに於けるSUNの対応を意図しています。 37 もしくは、シンプル・コアをFPUと考えれば、もっとシンプルにオペレーティング・システムの判断 が可能なのかもしれません。つまり通常のスレッド処理を任すことはないので、判断が不要であろ うからです。このカーネル内部の実装方法については、全く知識が無く存じません。 38 並列処理については詳しく存じません。悪しからず。 21
Cell Broadband Engine, Investigation Report August 20, 2008 Kazuhiro Fujie
やはり、通常のマルチコアでも並列処理を行うためのプログラムを実装するには、マルチコアに対 応したコンパイラが必要であり、Intel でも自社のマルチコアに対応したコンパイラを提供している のだそうです39。Cell/B.E. でも当然必要であると感じますが、それは現行存在していません。 Cell の開発者が提案しているプログラミング・モデルに於いて、最適化コンパイラについても言及 されています。抜粋します。
最適化コンパイラ 最適化は、SPU のインストラクションレベル、自動 SIMD 化、共有メモリモデルの自動並列化の 3 レベルがある。SPU のインストラクションレベルでは、ハードウェアで分岐予測を持たないので、分 岐ヒント命令を少なくとも分岐の 11 サイクルに自動的にスケジュールする。共有メモリモデルの自 動並列化は、OpenMP で記述された 1 つのソースから PPE と SPE に自動分割する。SPE におい ては、コードは、自動分割され、規則的なデータは、共有メモリとローカルストア間の DMA 命令に 自動生成され、不規則なデータは、ソフトウエアキャシュにより処理される。ソフトウエアキャッシュ (4 way set 連想メモリ)は、SIMD 命令で実行される。 現在での Cell/B.E. の環境はオペレーティング・システムのサポートほとんどなく、ライブラリが提 供されているのみです。つまり Cell 用のプログラミングは難解であることに変わらないであろう という見解です。実際、その様子です。 やはりこれからも IBM などメーカーから提供されるリソースがどれだけ簡易に利用出来るように なるのか?これが今後の Cell/B.E. 普及に最も影響するであろうことになるでしょう。 但し、前述の用にグラフィックスの処理など特定(固定)の動作に対しては、Cell/B.E. に最適化さ れた専用ソフトウェアをメーカ−が提供すれば、可能なのでしょうし、これは組み込みの場合もドラ イバなどのソフトウェアを同梱することによって同様に簡易に利用できるのでしょう。40
39
繰り返しになりますが、Intel などのホモジニアス・マルチコアCPUでもプログラミングは複雑で あるが、ヘテロジニアス・マルチコアである Cell は、更に複雑さを増すのは当然でしょう。プログ ラミングの際には、並列処理を自動的に最適化可能なコンパイラが必要であります。問題はこれ がどこから提供されるのか?どこで入手し利用出来るのか?が、一番の要になります。 40 梅澤殿のお話では、某日本企業で Cell B.E. を装着した PC (Lenovo ThinkCentre) をソフト 付きで販売するというのがあるらしいです。梅澤、井澤、両師匠がその企業の出資説明会に参加 されて聴いたのだそうです。どうやら、そのソフトはリスク計算をするためのものでモンテカルロ・ シミュレーションの計算を行うのだそうです。その結果は、Cell B.E. を装着後、今まで 30 秒掛か ったのが、3 秒になり、つまり処理速度が 10 倍になったそうです。その企業はそのPCをソフト付き で丸ごと販売するというアプライアンス商売なのだそうです。 22
Cell Broadband Engine, Investigation Report August 20, 2008 Kazuhiro Fujie
Figure 13: NVIDIA GeForce Go 7800 GPU
ところでグラフィックなど画像処理に関してですが、Cell/B.E. を利用すれば、GPU41 が不要という 訳でもなさそうです。 ⑤ この分野に対する GPU 側からの侵攻(台頭)があります。 Cell/B.E. のヘテロジニアス・マルチコアというアプローチは、マルチコアがメニー・コアとなるべく その進化の過程であるといえるのでしょう。 これに対して、GPU 側からのアプローチがあります。 これは通常グラフィックス処理しかしないGPUにグラフィックス以外の処理にも利用しようというア プローチです42。つまりCPUが処理しきれない部分をGPUに肩代わりさせるという代物です43。 これを総じて GPGPU(General Purpose GPU)と呼称するのだそうです。 このアプローチに取り組んでいる GPU の一つは ATI であり、ATI では汎用のコアを並べていた のをシンプル・コアに置き換えする方向性で開発が進んでいる様子です。ATI は現在、AMD に買 収されています。AMD Fusion という製品コード名で開発を進んでいます。
41
GPU : Graphics Processing Unit. パーソナル・コンピュータやワークステーション等の画像処理 を担当する主要な部品のひとつ。 42 GPUで採用しているコアもSIMD系であることが少なからず関係あるように想います。 43
但し、これには多数の障壁と制約がありそうです。
23
Cell Broadband Engine, Investigation Report August 20, 2008 Kazuhiro Fujie
Figure 14: ATI Radeon HD 2600 Series
GPU のもう一つが NVIDIA であり、NVIDIA は本来グラフィックアクセラレータのための CPU で あり、シンプルな命令のみが実装されているのですが、これを汎用のコアをも実装すべく開発して いる方向性の様子です。ちょうど ATI の方向性と真逆です。NDIVIA では、Tesla シリーズなどの ハードウェアラインアップの拡充と同時に、CUDA(Compute Unified Device Architecture)と呼称さ れる開発環境をも提供する様子です。
Figure 15: NVIDIA Tesla C870
この点に関しては、今後必要に応じて調査し随時加筆していきます。 以上が本書の本旨となる考察と推測です。
24
Cell Broadband Engine, Investigation Report August 20, 2008 Kazuhiro Fujie
3-1. Comment 個人的な所感としては、これも一つの過渡期の進化かもしれないと考えます。 高クロック化からマルチコア化というのは、現在のトレンドであります。この先を想像します。 前述のようにシンプル・コアが多数あるのは、レンダリングや膨大な数値計算処理をするために 有効であるのでしょうが、これは多数のコプロセッサが搭載されているのと意味的には似通ってい ると想像しています。コプロセッサなら浮動小数点の計算しかしないので逆に余計なことをしない ので処理速度は上がります。しかもコストや特に面積が削減出来るらしいので、多数のコアにす る場合は非対称な設計というのは現行の施策として一つの正しい方向性なだと理解しました。こ れが進歩しメニー・コアと呼ばれるようなヘテロ型が進化していく主流になるかもしれません。 また現行通り、デュアル、クアッドと進んで、近い将来には数百の汎用のコアを多数載せる技術が 進んでいくのも確実でしょうから、同等のコアが多数あり分岐予測などのハードウェア機構を持っ て数値計算だけでなく汎用目的に利用できるのは優位であります。そうなると非対称なアーキテ クチャが不要になり淘汰されるかもしれません。 これに関してはどちらの選択枝もまだ残されています。
Figure 16: AMD plans a twin-die version with a total of 12 cores connected via Hyper Transport 3.0
それに加えて GPU からのアプローチも軽視できないのでしょう。但し、メモリ管理などの制約が存 在している故に、HPC の分野では大きな壁があるのが現実だそうです。
25
Cell Broadband Engine, Investigation Report August 20, 2008 Kazuhiro Fujie
何よりも問題となるのは、果たしてこのリソースを有効に使うことが出来るのであろうか?というこ とです。このハードウェアリ・ソースを存分に利用したいのであれば、このハードウェア自身を意識 せずに使えるような環境が必要でしょう。マルチコアのそれはマルチ・プロセッサのそれと置き換 えて考えることも出来ます。ハードウェアを意識せずに実行したアプリケーションが最適化され実 行されるには、オペレーティング・システムやコンパイラ、ライブラリなどの支援が必要でしょう。こ れを充たしてくれるだけのソフトウェアが広く提供されることが最優先課題なのでしょう44。 要するにちゃんと動くアプリケーションがあるか?という話です。
Figure 17: Intel prototype 80 cores processor
45
またさらにその先に存在するであろう将来に目を向けそのビジョンを想像するならば、メニー・コア が実現するならば、超並列処理を行うことが可能なデスクトップ・スーパー・コンピュータがやって くるのは確実なのでしょうが、それで果たして面白いのでしょうか?46 メニー・コアであろうがなかろうが 47 、「1つの問題を解決する」だけではあまり意味的には広がり がないのかもしれません。 もし超並列処理が実現できるのであれば、「多くの問題を並列で解決する」という仕組みが可能に なるのではと憶測できます。
44
Intelなどでは順次整備しつつありそうです。 IntelがISSCCで発表した 80 コアのプロセッサ。Intelは、このプロセッサを「将来のPCやサーバで 1 秒当り数兆回の演算速度(テラフロップス)を実現することを目的に開発した」としている。
45
46 47
確かにそうなったら凄いことではあるのでしょうことは判ります。 単純に集積度を上げたスーパーチップでも構わないですけど。 26
Cell Broadband Engine, Investigation Report August 20, 2008 Kazuhiro Fujie
それが可能であるならば、本当の意味でのスーパー・コンピュータとなるような気がします。 それは多数の無関係な問題を解くという汎用性を持るのでしょうし、それら複数解から更に別の 解を産み出すということまで出来るようになれば、それは推論が可能になることを意味すると考え ます。人間の脳が持つ思考パターンを一部模倣出来るようになるのかもしれません。
Figure 18: Silicon Graphics' Iris Indigo
また直接関係ないのですが、レンダリングと聴いて思い出されたのは 3DCG が注目されていた頃、 (今は無き?)シリコン・グラフィックスのマシンを何台も並べて、画像のレンダリングを並列に処理 していた光景が良く取り沙汰された時期がありましたが、それを思い出しました。 まさにこの Cell Broadband Engine を多数搭載した Roadrunner 自体もその風景を想起させるよ うな出で立ちでありました。 歴史は幾度も繰り返していくものでしょうし。48 以上。
48
またチップメーカー主導で様々な動きが出始めています。巻末のニュースなどをご参照頂けれ ば幸いです。また今後もこれらの流れに注視する必要があるのでしょう。 27
Cell Broadband Engine, Investigation Report August 20, 2008 Kazuhiro Fujie
Appendix 補足情報を付記します。
A-1. URLs
Company ATI products on AMD Advanced Micro Devices, Inc. http://ati.amd.com/products/index.html IBM Corporation http://www.ibm.com/ Mercury Computer Systems, Inc. http://www.mc.com/microsites/cell/ NVIDIA Corporation http://www.nvidia.com/page/home.html Sony Computer Entertainment Inc. http://www.scei.co.jp/ TOSHIBA CORPAORATION http://www.toshiba.co.jp/
Technical Resources IBM Cell Broadband Engine resource center http://www.ibm.com/developerworks/power/cell/ Sony Computer Entertainment Inc. Cell Broadband Engine http://cell.scei.co.jp/ Linux on Cell BE-based Systems http://www.bsc.es/projects/deepcomputing/linuxoncell/
28
Cell Broadband Engine, Investigation Report August 20, 2008 Kazuhiro Fujie
A-2. Glossary 用語集です。本文と同様(もしくはそれ以上)に用語集の充実を図っております。主に重要なキー ワードや本文中で解説しなかった語句等についても簡略に補足します。但し、他の用語について は本文の注釈及び文脈よりご判断下さい。尚、用語集を作成する源泉としているのは、「群衆の 叡智」の代表とされている”Wikipedia”を主要なリソースとしています。尚、解説には筆者の文言を 主体に記述しておりますが、疑問点がある場合には原文をご参照下さいます様お願い致します。
C : Cell (Cell Broadband Engine) Cell(セル、正式名称は Cell Broadband Engine)はソニー・ソニーコンピュータエンタテイ ンメント・IBM・東芝によって開発されたマイクロプロセッサである。ソニーコンピュータエ ンタテインメントのコンシューマゲーム機であるプレイステーション 3 を始め、高品位テレ ビやスーパーコンピュータなど様々な製品に搭載することが想定されている。 (→ http://ja.wikipedia.org/wiki/Cell)
E : EIB (Element Interconnect Bus) Cell 内部での機能名称。EIB とは Element Interconnect Bus の略であり、Cell 内部のメ インバスであり各部を接続している。 現在の PPE×1+SPE×8 インプリメンテーションで はリングバス構造をしている。インプリメンテーションによって大きく異なるので Cell 仕様 の範囲外とされている。 EIB としての役目が果たせるならば実装上の制限は無い。 (→ http://ja.wikipedia.org/wiki/Cell)
F : FPU (Floating Point number processing Unit) FPU(Floating Point number processing Unit、浮動小数点演算装置)とは、浮動小数点 演算を専門に行う処理装置のこと。単独では動作せず、主装置である CPU から利用さ れるため、コプロセッサ(co processor, 副処理装置)と呼ばれる。また、AMD では Am9511 を APU (Arithmetic Processing Unit) と呼んだ。 (→ http://ja.wikipedia.org/wiki/FPU)
G : GPGPU (General Purpose GPU) GPGPU (General Purpose GPU)とは、高度な並列計算を得意とする GPU をグラフィック ス描画という本来の目的ではなく、より一般的な計算用途に使おうという主旨の方策。
29
Cell Broadband Engine, Investigation Report August 20, 2008 Kazuhiro Fujie
GPU は、CPU に比べて条件分岐などの処理が不得意であるほかキャッシュメモリを搭 載しないなどプログラムの実行には不向きである。その分、トランジスタをデータ処理に 振り向けており、1 つの GPU に計算処理ユニットが 100 以上も搭載されることもある。こ のため、物理シミュレーションなど科学計算に向く。 : GPU (Graphics Processing Unit) GPU(グラフィック・プロセッシング・ユニット、Graphics Processing Unit)とは、パーソナ ル・コンピュータやワークステーション等の画像処理を担当する主要な部品のひとつ。コ ンピュータシステムにおいて画像表示を担当する ASIC であるグラフィックコントローラか ら発展したもので、GPU はジオメトリエンジンなどの専用ハードウェアによって画像デー タ処理を行う集積回路をさす。同様の意味で VPU(Visual Processing Unit)という名称も あるが一般には GPU と呼ばれる。現在の高機能 GPU は高速の VRAM と接続され、 グラフィックスシェーディングに特化した演算器を複数搭載するマイクロプロセッサとなっ て い る 。 ま た 「 GPU 」 と い う 名 前 に 関 し て は 、 NVIDIA Corporation ( nVIDIA ) が 、 Geforce256 の発表時に提唱した呼称である。それに対して VPU という名称は 3Dlabs Inc.が、WildcatVP(量産品としては世界初の汎用シェーダ型設計の GPU)の発表時に 命名した。なお、VPU の呼称に関しては、ATI Technologies が RADEON9500/9700 の発 表時に提唱したと誤解されやすいが、実際は、3DLabs の WildcatVP の発表が先行して いる。また、ATI が VPU の呼称を使ったのは、当時は 3DLabs と提携していたからでも ある。 (→ http://ja.wikipedia.org/wiki/Graphics_Processing_Unit) H : Heterogeneous Multi-core ヘテロジニアス・マルチコア(英:Heterogeneous multi core)とは、異種のアーキテクチャ をもつマイクロプロセッサが統合された CPU、異種混在のマルチコアを表す用語。組み 込みシステム向けのマイクロコントローラに広く使われている技術だが、パーソナルコン ピュータやサーバ向けの CPU では一般的ではなかった。しかし、将来的にはこれらの 分野にもヘテロジニアス・マルチコアが浸透すると見られ、ソニーグループ+IBM+東芝 が開発した『Cell プロセッサ』や、インテルが今後数世代のうちに実現するとしている『メ ニイコア(Many-core)CPU』等の CPU の本質を突いた言葉と言える。 (→ http://ja.wikipedia.org/wiki/%E3%83%98%E3%83%86%E3%83%AD%E3%82%B8%E3 %83%8B%E3%82%A2%E3%82%B9%E3%83%9E%E3%83%AB%E3%83%81%E3%8 2%B3%E3%82%A2) (→メニイコア(Many-core)→マルチコア(Multi-core))
30
Cell Broadband Engine, Investigation Report August 20, 2008 Kazuhiro Fujie
I : IIC (Internal Interrupt Controller) Cell 内部での機能名称。IIC とは Internal Interrupt Controller の略であり、Cell 内部で割 り込み処理を担っている。 外部からの割り込み信号の対応や内部の PPE や SPE から 発せられた割り込みを外部に伝えたり等をしている。 (→ http://ja.wikipedia.org/wiki/Cell)
M : Multi-core (Multiple core) マルチコア(Multiple core、Multi-core)は、一つの CPU パッケージ内に複数の CPU コア を封入した技術である。外部的には 1 つの CPU でありながら内部的には 2 つの CPU と して認識されるため、主に並列処理を行わせる環境下においては、CPU チップ全体で の処理能力を上げ性能向上を果たすために行われる。この CPU パッケージ内の CPU コアが 2 つであればデュアルコア、4 つであればクアッドコアとよばれる。従来の 1 つのコ アを持つ CPU はマルチコアに対してシングルコアと呼ばれる。 (→ http://ja.wikipedia.org/wiki/%E3%83%9E%E3%83%AB%E3%83%81%E3%82%B3%E3 %82%A2)
O OpenMP OpenMP は、並列コンピューティング環境を利用するために用いられる標準化された基 盤。OpenMP は主に共有メモリ型並列計算機で用いられる。MPI では明示的にメッセー ジの交換をプログラム中に記述しなければならないが、OpenMP は OpenMP が使用で きない環境では無視されるディレクティブを挿入することによって並列化を行う。このた め並列環境と非並列環境でほぼ同一のソースコードを使用できるという利点がある。 MPI との比較では、OpenMP は異なるスレッドが同一のデータを同じアドレスで参照でき るのに対して、MPI では明示的にメッセージ交換を行わなければならない。そのため SMP 環境においては大きなデータの移動を行わずに済むので高い効率が期待できる。 ただし並列化の効率はコンパイラに依存するのでチューニングによる性能改善が MPI ほど高くならないという問題がある。現在 FORTRAN と C/C++について標準化が行われ ている。 (→ http://ja.wikipedia.org/wiki/OpenMP) (→ http://openmp.org/wp/)
31
Cell Broadband Engine, Investigation Report August 20, 2008 Kazuhiro Fujie
P : PCIe (PCI Express) PCI Express は、2002 年に PCI-SIG によって策定された、I/O シリアルインターフェース である。書籍、文書では PCIe と表記されることも多い。この表記は PCI-SIG 自身もウェ ブサイト上で使用している。名称が PCI-X と紛らわしいが、別規格。PCI バス、及び PCI-X バスの欠点を補うべく、インテルが開発を進めていた 3rd. Generation I/O、3GIO がその基になっている。 (→ http://ja.wikipedia.org/wiki/PCI_Express) : PPE (PowerPC Processor Element) PPEとはCell の汎用プロセッサ・コアの部分の事。PowerPC Processor Element (PPE)と 呼ばれる。PPE は 64bit POWERアーキテクチャであり、命令セットはPowerPC G5 互換 ではあるが、既存のPowerPC系 CPU と異なる内部構造をもつ新設計のコアである。 (→ http://ja.wikipedia.org/wiki/Cell) S : SIMD (Single Instruction Multiple Data) SIMD (Single Instruction Multiple Data) とは、演算装置において 1 回の命令で複数デ ータに対する処理を同時に行うもの。演算装置設計手法の 1 つ。例えば、通常 32 ビット のデータを受け付けるプロセッサなら 128 ビットのデータを 4 回のクロックで計算するが、 128 ビットのデータを受け付けるプロセッサは、1 回のクロックで処理が済む。ただ多くの 場合、128 ビットを使い切るデータはあまりなく、一般に 128 ビットを 2 分割し 64 ビットと して使うか、4 分割して 32 ビットとして使うが、結局それぞれ 1 回のクロックで 2 倍、4 倍 のデータ処理が可能になり、結果として相対的に低いクロックでも高い性能を引き出し やすい。SPE は SIMD 系のアーキテクチャである。 (→ http://ja.wikipedia.org/wiki/Cell) (→ http://ja.wikipedia.org/wiki/SIMD) : SMP (Symmetric Multi Processing, SMP) SMP とは、Symmetric Multi Processing の略であり、対称型マルチプロセッシングを指す。 対称型マルチプロセッシングとは、特定の CPU に非対称的に割り付けられた処理に依 存する事無く、全ての CPU に対して対称的、均一的に処理が割り付けられた複数プロ セッサによる並列処理方式のことを言う。OS カーネルと CPU キャッシュ同期機構により 仮想化されたシステムメモリ、及び各種資源を細かく管理するロック制御方式を持ち、ソ フトウェア/ハードウェアレベルの割り込み処理を均一的に CPU に割付け、その処理単
32
Cell Broadband Engine, Investigation Report August 20, 2008 Kazuhiro Fujie
位に必要な資源をロックして処理を行う。そのため、サーバの外から見るとあたかもひと つの CPU にて動作するサーバのように見える。なお、実際には多くの SMP 構成サーバ においては、ハードウェア割り込みを特定の CPU に割り付ける事が多く、完全な対称型 とはなっていない。また、起動処理においても、特定のマスタブート CPU により IPL(初期 プログラムローダ)が実行され、OS カーネルをメモリ上に読み込んだ後、スレーブ CPU が組み込まれる形をとることが多い。 (→ http://ja.wikipedia.org/wiki/%E5%AF%BE%E7%A7%B0%E5%9E%8B%E3%83%9E% E3%83%AB%E3%83%81%E3%83%97%E3%83%AD%E3%82%BB%E3%83%83%E3 %82%B5) : SPE (Synergistic Processor Element) SPE とは Cell のシンプルなプロセッサ・コアの部分の事。Synergistic Processor Element (SPE)と呼ばれる。通常 8 個のコアがある。SPE は SIMD 系のアーキテクチャで、単精 度浮動小数点演算を 4 スロット同時に処理することができ、倍精度浮動小数点演算を 2 スロット同時に演算できる。また整数も 16 ビット値を 8 スロット、 32 ビット値を 4 スロット の演算ができる。以上のようなベクトル演算が可能な 128 ビット長 128 個のレジスタを持 ち、ソフトウェアパイプライニングなど処理の最適化を可能とする。Cell の仕様を満たす ためには最低 1 つの SPE を搭載することが求められる。 (→ http://ja.wikipedia.org/wiki/Cell) T : TBB (Intel Threading Building Blocks) インテル スレッディング・ビルディング・ブロック (インテル TBB) は、マルチコア・プラ ットフォーム上で性能を引き出すために、スレッドをタスクに抽象化し、安定性、移植性 とスケーラビリティーに優れた並列アプリケーションを作成する C++ ランタイム・ライブ ラリーです。一般的な C++ テンプレートとコーディング・スタイルを使用して、時間のか かるスレッド化実装作業を省略できます。ライブラリは本質的にスケーラブルなため、よ り多くのプロセッサ・コアが利用可能になってもコードのメンテナンスは必要ありません。 (→ http://www.xlsoft.com/jp/products/intel/threading/tbb/index.html) (→ http://www.threadingbuildingblocks.org/)
33
Cell Broadband Engine, Investigation Report August 20, 2008 Kazuhiro Fujie
A-3. News
AMD AMD to target ultra-thin laptops with first Fusion CPU [June 27, 2008] http://techreport.com/discussions.x/15014 「Fusion」チップは 2 種類--AMD、開発計画を明らかに [2007/07/27] http://japan.cnet.com/news/ent/story/0,2000056022,20353548,00.htm AMD、CPU/GPU の統合プロセッサは「Fusion」 [2006/10/26] http://journal.mycom.co.jp/news/2006/10/26/101.html
IBM Fact Sheet & Background: Roadrunner Smashes the Petaflop Barrier [09 Jun 2008] http://www-03.ibm.com/press/us/en/pressrelease/24405.wss IBM のスーパー・コンピュータ「Roadrunner」がペタフロップス達成 [Jun 9th 2008] http://japanese.engadget.com/2008/06/09/ibm-roadrunner-breaks-peta-flops/ みずほ証券へ Cell/B.E.搭載ブレードサーバーを納入 [2008 年 5 月 27 日] - 世界の金融機関で初めて金融高速計算システムに Cell/B.E.を採用へ http://www-06.ibm.com/jp/press/2008/05/2701.html
Intel インテルがテラスケール・コンピューティング、メニーコアなどを解説 [2006/11/17] http://journal.mycom.co.jp/articles/2006/11/17/intel/002.html 数百コア搭載の「メニーコア」CPU――Intel が 2015 年に計画 [2005/03/04] Intel は 2015 年に数百の処理コアを搭載した「メニーコア」プロセッサの量産に入りたいと考えてお り、プログラマがこうしたプロセッサを活用できる新しいプログラミング言語「Baker」に取り組んで いる。(IDG) http://www.itmedia.co.jp/enterprise/articles/0503/04/news030.html
Toshiba 東芝、Cell ベース「SpursEngine」搭載ノート PC を発売 [2008 年 06 月 24 日] http://www.itmedia.co.jp/news/articles/0806/24/news012.html
34
Cell Broadband Engine, Investigation Report August 20, 2008 Kazuhiro Fujie
【CES2008】東芝,「Cell 搭載テレビ」を 2009 年春にも発売 [2008/01/07] http://itpro.nikkeibp.co.jp/article/NEWS/20080107/290433/ 東芝、Cell の SPE を 4 基搭載した映像処理用コプロセッサ [2007 年 9 月 20 日] http://pc.watch.impress.co.jp/docs/2007/0920/toshiba.htm
35