【Kill】CELL part 7【Bill】

このエントリーをはてなブックマークに追加
753名無しさん必死だな
CELLとJAVAの関連性について語ってみる。

JAVAは、CELLが共通して備えるISA (Instruction Set Architecture)に相当
する部分を「仮想マシン=バイトコード」としてソフトウェアで実装した。
なぜJAVAがあれだけ注目されたかというと、様々なCPUアーキテクチャとOSの
アーキテクチャの差分をこの仮想マシンで吸収させることで、"バイトコード
のまま"ネットワーク上にデータを流せる日が来るかもしれないと考えられた
からだ。

でも実際には、バイトコードからネイティブコードとの相互変換プロセスが
オーバーヘッドの塊で、クライアントサイドでは使い物にならなかった。
(勿論SWTやSwingがクライアント実装技術として実用的なのは認めるけど、
やっぱり分散処理を行う基盤としてはお話にならない。その証拠にRMIや
Jiniは広まっていない。)
754名無しさん必死だな:04/06/19 00:00 ID:PASudXyH
また、当時としては先進的なセキュリティの仕組みであった「SandBox」だが、
ソフトウェアによる検証機構にはやはり限界があった。その結果、JavaApplet
は制限だらけの使いにくい代物になり、今では最早ニッチな存在である。
(MSとの政治的な駆け引きに敗れたというのもある。)

一つ言えることは、特許でJAVAについて言及されていることからもわかるように、
CELLアーキテクチャも目指す世界はJAVAと同じだということだ。

ただし、共通化するレイヤーはソフトウェアではなく、ハードウェアによる実装
という点でCELLはユニークである。異なるCPUアーキテクチャの差分を吸収する
ためにOSが生まれ、OSの差分を吸収するのにJAVAが生まれた。

でもネットワーク上で動作することを前提としたソフトウェアとしては、パフォーマ
ンス面、セキュリティ面で限界がきている。少なくとも巨大なデータをリアルタイム
で分散処理するには不十分な存在である。従ってJAVAを真似した.NETのCLRも
同様の問題を抱えていると言える。
755名無しさん必死だな:04/06/19 00:03 ID:PASudXyH
つまり、CELLはネットワーク上で連携することを前提としたCPUアーキテクチャを
構築して、アセンブラレベルのコードをSoftwareCellに詰めてネット上に流せる
ようにしようとしているのだ。同期機構やSandboxの仕組みもハードウェアで実装
して、パフォーマンス面、セキュリティ面の問題の解決を図ろうとしているのであ
る。

従ってCELLワールドでは、WindowsもJavaもいらない。何しろISAが同じなので、
変換の必要なレイヤーが圧倒的に少ないからだ。ソフトウェア開発の効率を上げる
ために、Toolの揃ったLinuxと複数のプロセスやスレッドを管理しやすくするための
リアルタイムOSがあれば十分なのだ。

近い将来、バス上のレイテンシとネットワークのレイテンシが逆転する時が来る。
それはシリコンフォトニクスが実用化されてCPUコアが光ネットワークに直結され
る日だ。その時まで、CELLは従来のマルチコアCPUと同等の存在に留まるだろう。