↑ トップ頁へ

2007.1.30
 
 


PS3はイノベーションに繋がるか…

 PS3が発売されたにもかかわらず、どうも使用感の情報が少なすぎる感じがする。

 スーパーコンピュータに匹敵する能力があるというが、その力を上手く使えたのか、それともプログラム作成にまだまだスキルが必要なのか、どちらなのかよくわからない。
 高速処理ができるということは、影を実計算でつけることもできるのだから、相当な違いが出てしかるべきと思うのだが、絶賛の話も聞こえてこない。一体、どうなっているのだろう。

 これは、PS3のビジネスの将来を占う上での重要情報というだけでなく、コンピュータの将来を左右する情報でもあるから、もっと議論されてもよさそうなものだが。
 まあ、日本では、そんな議論は期待できないということでなければよいが。

 なにせ、イノベーションを目指す政策を打ち出すと言いながら、為政者も、ゲーム機器について、なんの感想も湧かないようだ。せいぜいが、2006年12月の工業生産額がゲーム機器のお蔭で伸びて、GDP成長率を押し上げてよかったとの感想位しかないようである。
 研究者にしても、企業に頼まれなければ、研究対象にする気もないのかも知れない。

 実は、こうなるのではないかとは思っていた。

 情報処理産業全体を、長期的な視点で俯瞰できる力量がなければ、そう簡単に、この技術を評価できないからだ。要するに、PS3のプロセッサ、Cell Broadband Engineの意義についての、統一見解など出ないということ。
 将来性ありとのお墨付きを付けられないから、生きていくために、皆知らん顔をすることになる。

 このプロセッサの一番の問題は、本当に革新的なものかは、使ってみなければわからない点にある。
 数字を示されても、実際にその数値が実現できるとは限らないのが、この世界。
 高速処理ができるといっても、それが簡単にプログラムできるのか、ほんの一部で活用できるに過ぎないかで、状況は相当違ったものになる。
 それに、当初は、活用が一部に留まっていても、ライブラリーが溜まると、様々な応用ができるものなら、このプロセッサが標準化する可能性も無いとはいえない。
 情報が乏しいから、残念ながら、実体がよくわからないのである。

 と言うのは、プロセッサを複数搭載した多重処理というだけなら、アイデア自体は別段驚くようなものではないからだ。プログラムを、複数のスレッド(素人的には, プログラム実行プロセスでの1単位とでも呼ぶとよいだろうか.)に分け、複数のプロセッサに割り振れば、いくらでも大量処理可能という話は珍しくない。ミニコン時代から語られていた。
 半導体設計・製造技術の進歩で、これが1チップ化できたと見れないこともない。

 いかにもすぐに実現しそうなアイデアだが、現実世界は逆。
 処理の数が膨大になれば、様々な処理があるから遅延の程度も異なる。遅延が顕著なものが一つでも含まれていれば、それが処理のボトルネックになってしまう。
 特に、ネットワークに繋がれば、インプット/アウトプットの遅れは相当大きいし、例外的な現象も発生し易い。ダウンする可能性はそこらじゅうにあるということ。
 要するに、安定稼動の保証は極めて困難な仕組みなのである。

 つまり、どのように処理を分割し、その結果をどうまとめるかで、成否が決まるということ。処理方法が決まっている特定用途ならメリットがあるが、それ以外は得策とは思えない仕組みである。
 その考え方を変えようというのが、PS3のCellプロセッサの思想だと思われる。

 これは、現在進んでいる、パソコンやサーバでの、プロセッサ複数搭載チップでの多重処理とは全く性格が違う。
 複数CPU搭載チップとは、負荷の平準化で高速処理を実現しようとしているにすぎないからだ。PS3のように、異なったCPUを搭載して機能を分担させる構造とは全く違う。

 プロセッサの進歩を振り返ってみれば、アプリケーション毎に最適な処理方法を考えながらプログラムを作成するやり方を避けるのが鉄則だったと言えよう。全体のコストを考えれば、培ってきたソフトを活かせる仕組みでなければ、誰も使わないから当然といえば当然だが。
 このため、1チップのトランジスタの数をできる限り増やし、周波数を上げ、錯綜するプログラムに対応する様々な処理機能の追加が追求され続けてきた。しかし、微細化が極限に迫りコスト的に辛くなってきたし、機能も肥大化し、電力消費量が増え過ぎて、どうにもならなくなったというのが実情である。
 そこで、簡素なCPUを複数搭載したプロセッサを投入し、しのごうというだけのこと。言葉で語れば簡単だが、奏功する保証はない。しかし、この道しかなさそう、ということである。
 おそらく、PS3の競合相手、XBox360はこの構造を採用した筈である。

 要するに、OSで処理の順番をコントロールできれば、今迄とたいして変わらずにプログラムを作成できると踏んでいるということ。

 PS3は、この流れに対し、真っ向から挑戦したのである。
 (但し、PS2のEmotion EngineはMIPSコアにベクトル計算用をつけたものだから, その発展系と見れないこともない. 又、組み込みプロセッサでは類似の構造もあるだろうから、それを大規模化しただけと考える人もいるかも知れぬ.)

 単純計算を行う簡素な構造で、各々が専用のメモリを持つ複数のCPUと、OSを稼動させ全体を制御するCPUとで、機能分担を図り、高速処理実現を図ったのである。当初から分散処理を狙ったチップとしては、おそらく世界初だろう。
 構想上では、PS3以外に、このプロセッサを搭載したTVやホームサーバーを設置すれば、ソフトウエアによって、他の機器の空いている能力が簡単に使えることになる。

 お分かりだと思うが、PS3のCellプロセッサは、それ自体がイノベーションを要求しているのである。

 常識では、この手のプロセッサを使うには、アプリケーション毎に最適なプログラムを作成するしかない。機器は安価でも、ゼロからプログラム開発を始める必要があるなら、費用を考えるととてもペイしまい。
 しかし、チップ内部の通信能力が高いから、楽にプログラムを作る方法が出てくる可能性は無いとはいえない。しかも、アップルコンピュータが使い続けてきたPOWER PCチップを使っているから、このアーキテクチャーに慣れている研究者・エンジニアも豊富だ。
 そんな方向に進むことができるかは、未だに見えてこない。

(参照)
D.Mallinson & M.DeLoura: “CELL: A New Platform for Digital Entertainment”SCEI, 2005
 http://research.scea.com/research/html/CellGDC05/index.html
M.Day & P.Hofstee: “Hardware and Software Architectures for the CELL BROADBAND ENGINE prodessor” IBM Corp., 2005
 http://www.casesconference.org/cases2005/pdf/Cell-tutorial.pdf


 技術力検証の目次へ>>>     トップ頁へ>>>
 
    (C) 1999-2007 RandDManagement.com