●クワッドコアCPUは3つ子の兄弟
先週開催されたIDFで、Intelは将来のメニイコアへの布石となる4コア(クワッドコア)プロセッサの導入を2007年第1四半期からスタートさせると発表した。デスクトップ(クライアント)PC向けのKentsfield、DPサーバー向けのClovertown、MPサーバー向けのTigertonの3つだ。 製品を紹介したDigital Enterprise Groupの事業部長であるPat Gelsinger副社長が掲げたモックアップ(Clovertown-MPと書かれたプロセッサは、Tigertonと呼ぶのが正しい、とのことである)を見れば、この3つが実質的に同じダイを用いた3つ子プロセッサであることが分かる。言い換えれば、内蔵するキャッシュ容量等に違いはない、ということだ。 また、KentsfieldとデュアルコアCPUのConroeを比べて見れば、KentsfieldがConroeのダイを1つのパッケージに2個封入したものと考えてほぼ間違いないことも分かる。ConroeのL2キャッシュが4MB(2つのコアで共有)であると公表されていることを考えれば、KentsfieldのL2キャッシュは4MB+4MBの8MB。おそらくClovertownとTigertonも同じだと思われる。MPサーバー向けとしては初のデュアルコアプロセッサであるPaxville同様、MP向けとしてはオンダイキャッシュの小さなプロセッサになることは間違いない。
本来Tigertonの位置には、Whitefieldと呼ばれるプロセッサが来る予定だった。2005年秋のIDFで示された図では、WhitefieldはDPサーバー向けのWoodcrestを2枚貼り合わせ、L2キャッシュを増量したような構成であった。それを実質上Woodcrestを2枚封入するデュアルダイ構成に変更した(シングルダイ化とキャッシュサイズ増量を断念した)ということは、IntelがMPサーバーのセグメントに新しいマイクロアーキテクチャ(Intel Coreマイクロアーキテクチャ)のプロセッサを一刻も早く投入したい、と考えているのだと理解できる。ダイを2枚封入することは、必然的にバスロードが増加するから、できれば1つにした方が安定性の点で有利だと思うが、それを待っている余裕はない、ということなのだろう。 一般に、Intelが採用するマルチドロップのFSB構成は、ライバルであるAMDのアーキテクチャ(内蔵メモリコントローラにクロスバスイッチでプロセッサコアを接続)より性能の点で不利であると言われている。それは間違いないだろうが、FSBであるがゆえに複数ダイの封入に比較的簡単に対応できる、というメリットもあるわけだ(AMDのデュアルコアプロセッサダイを1つのパッケージに2つ封入すると、メモリコントローラの関係でピン互換が保てない。そもそもあまりにピン数が増えすぎて、実現可能かどうかも怪しい)。 IntelとAMD、両社の技術に大きな違いがないとすれば、同世代であれば1つのダイ上に集積できるプロセッサコアの数に極端な差は生じないだろう。とすれば、複数のダイを封入可能なFSB構成をとるIntelは、ソケットあたりのコア数という点で、AMDの2倍が実現可能であるということになる。問題は価格で、1ドルあたりの性能が分からない以上、Intelが決定的に有利とはいえないが、オプションが多いということは、やはり有利だろう(コアあたりの性能ではAMDが有利かもしれないが)。 何よりIntelが有利だと思えるのは、ソフトウェアのライセンス料だ。IntelやAMDの働きかけで、ソフトウェアのライセンスは、コアの数ではなく物理プロセッサ(プロセッサソケット)の数で課金される方針になりつつある。となると、1つのパッケージに複数のダイを封入できる方が、ソフトウェアのライセンス料(コアあたりのライセンス料)という点で有利なことは言うまでもない。エンタープライズ向けソフトウェアの価格は、プロセッサなどよりよっぽど高価なことが珍しくないことを考えれば、こちらの方がより決定的なアドバンテージかもしれない。 ●クライアントにメニイコアは必要か それはそうと、Kentsfieldの登場で、クライアントPCにもクワッドコアプロセッサが投入されることが決定的になった。問題は、複数ユーザーがぶら下がるサーバーと違って、基本的に1人のユーザーが利用するクライアントに、それほど強力なマルチスレッド処理能力が求められているのだろうか、ということだ。 特に、これまでIntelが良く行なってきたデモ、たとえばウイルスチェックしながらメールをPOPしつつ動画をエンコードする、みたいなものを見ていると、デュアルコアでさえ持て余しているんじゃないかと、真剣に疑いたくなる。デュアルコアやクワッドコアはまだしも、10個以上のプロセッサコアが集積されるとなると、本当に使いきれるのか、どうもピンとこない。 クライアントPCの場合、コンソールの前に座るユーザーが1人であることが、大きな問題だとは良く言われることだ。普通、人間は1度に1つのことしか考えられないし、できない。まぁ、何かの作業中に、その前に思い出そうとして思い出せなかったことを突然思い出したりもするから、頭の中でヘルパースレッドみたいなものは走っているのだろうが、基本的には集中すれば集中するほど(言い換えれば仕事の能率が上がれば上がるほど)、シングルスレッド化する傾向が強いと思う。そんな人間に、たくさんのプロセッサコアが与えられても、というわけだ。 だが、メニイコアとか言われると、こうした利用法の以前に、人間が考えるアルゴリズムそのものに限界が現れるのではないか、という気がしてくる。今、マルチスレッドに対応したアプリケーションを作成するために、コンパイラをはじめとするツール類に改良が加えられているが、それでもアルゴリズムを考えるのは人間だ。しかし人間が考えていて、100個を超えるプロセッサコアに最適なアルゴリズムなど作成できるのだろうか。筆者には想像もつかない。 たとえば、特定の処理を行なう際に得られるコアの数(同時処理可能なスレッドの数)に応じて、ダイナミックにアルゴリズムを変える、といったことは筆者の想像を超えている。おそらく、それを可能にするのは計算機自身がアルゴリズムを考えることだろうが、そうなるともはやプログラムは人間にはデバッグできないものになってしまうだろう。人間がデバッグできないということは、人間が正当性を検証できない、ということでもある。 今でも大規模なプロジェクトにおいては、それに近いことが起こっているだろう。しかし、事実上不可能なことと、最初から絶対に不可能なことでは、意味合いが違う。あまり長生きはしたくないもんだ、とも思うが、Intelによると2015年あたりには実現できそうだという。まだ筆者の目が黒い可能性は高いのである。困ったね。
□IDF Spring 2006のホームページ(英文) (2006年3月16日) [Reported by 元麻布春男]
【PC Watchホームページ】
|
|