Future of xxxComputing

コンピュータはもちろん用途によって様々用途が異なるべきであるが、近年の発展といったらそれも異常だ。進むべきベクトルが多すぎてどうしたらいいのか分からない。最近知ったのはSunのCMT(ChipMultiTreading)という技術。なんでも、fetch->hoge->storeのところ、Pentiumとかだと普通はパイプライン的な処理をRISCというかCISC的に噛ませて並列化するのだが、そいつをスレッド単位で並列化してしまうことで、シングルスレッドの処理性能よりもマルチスレッドの並列処理性能を重視したのがNiagaraらしく、1チップで8コア、32スレッド並列化できるんだそうだ(ただしマルチCPUはできない)。これでPCI-xとかも一つくらい内蔵されてるのでI/O性能に関しても化け物なんだろう。しかも各コアに暗号化チップと10進浮動小数計算ユニットがついていて、L3キャッシュは全コア共通ときたもんだ。どんだけー。こんな化け物が作れるんだから、そらCPUの設計図もJavaSolarisもオープンにしてしまいますよね。
これからマルチコア化が進んだ後は、こういうSPARCOpteronみたいな進化があるべき姿なんだろうけど、翻って巨塔Xeonはどうなっているんだろうと思う。Opteronはメモコン内蔵しちゃってこれもバス速度はものすごいことになってしまったし、Spiderアーキテクチャはもっと進化するだろうし。Xeonシステムバスの周波数を上げたり、デュアルコアチップを二枚、シングルダイに載せてクアッドとかいってる(速いけど)。
でも、うちの会社ははぜかXeon大好き。Core2やWindowsならまだ分かるんだけどOfficeもIE6も大好き。もうどんだけー。

マルチコアプロセッサの性能指標となるスループット重視のマシン設計についてもメインフレームはもともと最大速度よりもスループット重視で設計されています。コンピュータサイエンスの研究者はメインフレームというと絶滅寸前の恐竜のようなイメージがあるのか、その動向も気にしないのですが、先駆者として学ぶべき点は多いように思います(もちろんメインフレーム系マシンを使いたいとは思いませんが)。実際、今回の発表した新型メインフレームの場合、マルチプロセッサボード構成で、マシン内蔵可能最大コア(IBMはPUと呼びますが)は64個なのですが、演算処理は54個まで、残りは8個はIOプロセッサなどに使われます。それとzシリーズの耐故障機能はPCアーキテクチャでは考えられないほど多重化が高度に進んでいるので(スペースシャトルのメイン制御に使われている耐故障機能付きコンピュータに似ています)、研究のお題目で信頼性とかデペンダブルとをつけたい人は一度勉強されるといいと思います。もう少し正確に言うと、信頼性をあげるのは結局、ハードウェアサポートしだいということ。ソフトウェアだけで監視・制御する方法は研究としては面白いのですが、実用性となると別。実際、メインフレームに限らずエンタープライズ用コンピュータはセンサーの固まりなのですよね。また、メインフレームは先のIOプロセッサとあいまって(非同期処理時の)IO性能は圧倒的なのですが、今回のモデルのIO性能は最大172GB/sだそうです。当方はメインフレーム信者ではないですが、IO性能はいまのPCアーキテクチャでは勝てない。あとプロセッサによるマルチコアや仮想OSサポートはIBMのPower系の技術資料を徹底的に読み込んだ方がいい。IntelAMDの次のアクションが読めます。