2009年02月11日

シンプルプロセサと超並列と不揮発

実は、このあたりの話を先週、某所でしていたのですが、狙ったかのようなタイミングで各種のプレスリリースがでていたので、まとめがわりにこのエントリーを書いてみました。
ただ、書いてはみましたが、案の定というか、『ただ思っていることを列挙しただけ』になりました。orz
まったく、まとまっていないので、読んだ人がフォローしてくれることを祈っております。




●シンプルなプロセサ
並列コンピューティングの大物を研究部門のトップにスカウトしたNVIDIA」 という記事より。

大雑把には、SIMDのようなシンプルなプロセサが、メインストリームのCPUになるのではないか(とは言っても、10年スパンでしょうけど。)

というお話ですね。

問題点の一つが、

NVIDIAがx86互換チップ開発へ?

ですね。なんだかんだいっても、『IAで作られたアプリは捨てられない』わけです。
で、ここで、CELLのようなヘテロジニアスな方向性で、『FPGAが載せる』なんてのもよいのではないかとおもっています。
要するに、数クロックで書き換えられるようなFPGA上で、『必要に応じて各種VM走らせてしまえばいいだろ』的な方向です。すでに、MSXはFPGAで再現されているわけですし、JavaVMも開発しているところがありますし、けっこう、良い選択肢と思っていたりします。




●超並列と言語
SIMDってことは、超並列なワケですが、関数型言語が流行っているってのが、けっこう追い風ですよね。10年以上のスパンでみれば、関数型言語プログラマーの方が多いかもしれず、その場合、スムーズに超並列へいける可能性があるわけです。
要するに、関数型言語であれば、スムーズに並列処理がかけるわけで、その典型例が、Erlangなわけです。
(超嘘入ってます。細かい点は、フィーリングで察してください!(w または、コメントででも突っ込んでください。フォローします。)

さらに、Intelさんも、超並列に向けたコンパイラを、10年スパンとかで開発中らしいです。

なんというか、このCPU側の変化とその間にある言語側(+コンパイラ)の変化が、絶妙にシンクロしているあたり、波を感じますね。




●不揮発と電池
ちょっとそれますが、モバイル系では、電池問題というのがあります。
モバイルデバイス上でいろいろなサービスやアプリを開発する上で、『バッテリーの持ち』というものがネックになります。特に、待ち受けさせることを前提としたサービスやアプリでは、かなり、響いてきます。
ぶっちゃけ、サービスをするには、ネイティブにチューニングしたアプリじゃないと、かなり厳しいというのが、現状です。

というのを踏まえて、SIMDの構造をみると、メモリ部分に、

東芝、世界最大最速の不揮発メモリ「FeRAM」

とか使えたら、けっこう、『不揮発CPU』作りやすいんじゃないの?とか、素人考えでは夢想してしまいます。
しかも、OSの世界も、まさに、

メイド・イン・ロシアの「永遠に動き続けるOS」、Phantom OS

『不揮発』に向かって動いているようです。


で、このあたりの構造をOSやVMなどに組み込めば、ネイティブにチューニングしなくとも待ち受けするアプリをかなり省電力に出来る可能性があるわけです。
(まっ、かなり、理論展開に無理ありますけど、気にしない。)


ということで、SIMDのこのシンプルさと 将来性と 現状での使えなさ(w 加減が、けっこう、『革新的イノベーション』の条件を満たしている気がするんですよね。
このあたりで、妄想するとけっこう楽しい議論が出来そうです。



ということで、オチとしては、

東芝最強伝説はじまた

かな(w

Creative Commons License
This weblog is licensed under a Creative Commons License.