先週末は、先端ITスペシャリスト育成プログラムという大学院のコースの、プロジェクト科目の発表会に行きました。 このプログラムは、慶應・早稲田・中央大学の情報系修士の学生さんが、実戦的ソフトウェア開発を学ぶ場として、企業の立場から協力させていただいているものです。それぞれ2、3名のチームでプロジェクトを実施するものですが、なかなか目の付け所が良く、感心するところがたくさんありました。最近、大学では情報関係学科の人気低下が問題視されるようになってきて気をもむところですが、どうして、まだまだ日本の学生さんはやるものだ、と気を強くしました。
今週も先週と同じ、Communications of the ACMの記事から面白かったものをご紹介しましょう。それは、"The Revolution Inside The Box"というタイトルの記事ですが、これはいわば、「今、アーキテクチャが面白い」という内容のものです。記事の内容には必ずしも沿いませんが、ここで述べられているトレンドを、私なりの理解でご紹介しましょう。
ここでいう「アーキテクチャ」はコンピュータのアーキテクチャです。皆さんはコンピュータ・アーキテクチャ、という言葉から何を考えるでしょうか?私がはじめてコンピュータに触ったのは高校生の時、1970年代の半ばですが、そのコンピュータは沖電気のOKITACというミニコンピュータで、沖電気独自の16ビットアーキテクチャのものでした。その後、マイクロコンピュータの時代が来て、インテルの8080、モトローラの6800を代表とする様々なアーキテクチャが世の中に現れました。それから30年余、世の中のコンピュータ・アーキテクチャに起きてきたことは何でしょうか? それは誤解を恐れずに言えば「インテル・アーキテクチャへの収斂の歴史」だったと言えるのではないかと思います。
アーキテクチャにはそれぞれ一長一短があり、使い方によってはより性能を発揮しやすいもの、そうでないもの、いろいろあります。しかし、ここ30年にわたってコンピュータの性能を支配的に決めてきたのはアーキテクチャではなく、ムーアの法則、すなわち半導体のプロセスルールだったと見ることができます。80年代には、Lispマシンなどプログラミング言語に特化したアーキテクチャのマシンが作られました。一時期はそれなりの性能が出るのですが、ムーアの法則によって汎用マシンの性能が上がると、性能差がなくなってきます。そして、生産量が多く、したがって設備投資の可能な汎用マシンが逆転してしまうわけです。プログラムを書く方にとってはこれはありがたいことで、一度汎用マシン向けにプログラムを書いておけば、半導体の性能向上のおかげでシステムの性能は、自動的に18ヶ月で2倍になってきたわけです。
ところが、今や半導体のプロセスルールによる性能向上に限界が見えてきました。確かに集積度は上がるのですが、今まで集積度が上がるにしたがって上がってきたクロックスピードにはここのところあまり向上が見られません。これには漏れ電流とか熱の問題とかいろいろ理由があるようなのですが、いずれにせよ、クロックスピードの速いプロセッサに置き換えるだけでプログラムの実行速度が上がる時代は終わりを告げつつあります。
システムの性能向上を半導体の性能向上に任せておけないとすれば、何をしなければならないのでしょうか?ここで、アーキテクチャの考えが出てきます。もともと、問題によってアーキテクチャの得意不得意があるのはよくわかっていましたから、解きたい問題にあわせて専用のアーキテクチャを使ったらどうでしょうか?実は、IBMの技術動向文書GTO (Global Technology Outlook)の2008年版でも明確に、「新しいアーキテクチャが出現しつつある」というトレンドを捉えています。典型的には、IBMのBlueGeneに代表される、スーパーコンピュータの世界でしょう。ローレンスリバモア研究所のBlueGeneはしばらく「世界最高速のスーパーコンピュータ」としてランクされていましたが、今年の6月に同じIBMがロスアラモス研究所に納入したRoadRunnerが1位になりました。BlueGeneもRoadRunnerも科学技術計算用に特化された専用アーキテクチャといえます。BlueGeneの場合は、比較的低速のPowerPCコアを非常にたくさん並列に動かす構成、またRoadRunnerはPlayStation3に使われているCell Broadband Engineというプロセッサをアクセラレータとして使うものです。どちらの方がアーキテクチャとして優れている、というものではありません。ローレンスリバモア研究所も、ロスアラモス研究所も、それぞれ解きたい問題があり、それに最適なコンピュータアーキテクチャを選んだ結果が、BlueGeneでありRoadRunnerであったわけです。
スーパーコンピュータ以外の世界でも、新しいアーキテクチャが現れ始めています。デスクトップの世界で常識となりつつあるマルチコアは、ある意味で新しいアーキテクチャと言うことができます。マルチコアマシンの上で、性能を出すためにはソフトウェアの書き換えが必要になってくるからです。あるいは、GoogleやAmazonのデータセンターは、個々のプロセッサこそ汎用のIntelアーキテクチャですが、コンピュータシステムとしては非常に大量のプロセッサを並列に動かすスケールアウトシステムになっています。これらも、ワークロード(負荷)に合わせた専用アーキテクチャのコンピュータシステムと見ることができるでしょう。また、最近流行り始めている面白いものとしては、汎用グラフィックスプロセッサ(GPGPU)を科学技術計算に使う、というのもあります。問題の性質によっては、GPGPUを使うことで汎用プロセッサの一桁以上速いプログラムを書くことができるようです。
解くべき問題によってアーキテクチャを選ぶ、これが「ムーア後」の情報処理の鉄則になりそうです。もちろん、新しいアーキテクチャに対してどのようにプログラムを書くか、というのは大きなチャレンジです。これからしばらくは、いろいろエキサイティングな研究開発が行えそうです。
※このエントリは CNET Japan ブロガーにより投稿されたものです。シーネットネットワークスジャパン および CNET Japan 編集部の見解・意向を示すものではありません。
情報の質とコンテンツ 〜 経験価値経済の時代へ 〜
iPhonista Nightの事後報告
8/29-9/8のアクセス数分析
iPhoneとメルマガ
ホームページの制作費
グリーンITって何?IT業界が作り出した流行マーケットに一言
Joomlaでバイリンガルサイト
あるITマネージャの挑戦
Geeklog1.5でOpenID対応へ
経営者が無断ビデオ撮影するときみんなのお題では、ブロガー同士で質問を出し合いそれに対する回答や意見を集めています。今日はどんな話題が盛り上がっているでしょう?
CNET Japan ブログネットワークは、元はCNET Japanの一読者であった読者ブロガーと、編集部の依頼により執筆されているアルファブロガーたちが、ブログを通じてオンタイムに批評や意見を発信する場である「オピニオンプレイス」、また、オピニオンを交換するブロガーたちが集うソサエティです。
広い視野と鋭い目を持ったブロガーたちが、今日のIT業界や製品に対するビジョンや見解について日々熱く語っています。
CNET Japanやその他サイトが提供するITニュースやコンテンツへの意見や分析、 ビジネスやテクノロジーに対するビジョンや見解について語っていただける方を 募集しています。ご応募はこちらから
ブログの投稿はこちらから(※ブロガー専用)
今年最も活躍したブロガーを表彰します。詳細はこちらから
これは、CNET Japan 編集部の依頼に基づいて執筆されているCNET Japan アルファブロガーによるブログの印です。
CNET Japan ブログネットワーク内で拍手の代わりに使用する機能です。ブログを読んで、感激した・役に立ったなど、うれしいと思ったときにクリックしてください。多くGood!を獲得した記事は、より多くの人に読まれるように表示されます。
今週の新製品総チェック:ノート、デスクトップ、UMPCまでPC秋モデルが続々
今週の新製品総チェック:薄さ13.9mmのサイバーショット登場!NEC「LaVie」はデザインモデルが