ニュース
» 2006年10月06日 09時02分 UPDATE

IDF Fall 2006:「80コア」の誤解と真実 (1/2)

IDFリポートの最後は、80コアプロセッサやシリコンフォトニクス(レーザーと半導体の融合)の意味、そしてIntelや業界が考える「メニーコア」時代のCPU像について紹介する。

[鈴木淳也,ITmedia]

Intelが考える「メニーコア」時代の課題とは?

 Intel社長兼CEOのポール・オッテリーニ氏は、自身の基調講演の中で同社初となる「80のコアを包含したCPU」のプロトタイプを公開した。今回のIDFはサーバ/デスクトップPC向けのクアッドコアCPUの登場が大きな話題となったが、その20倍もの数のコアを内蔵したCPUである。正比例の関係ではないものの、コア数を増やせば増やすほどCPU全体のパフォーマンスが向上することはご存じのとおりだろう。コア数を20倍にして20倍に近いだけのパフォーマンスを得ることはできない。どこかになにかしらのボトルネックや落とし穴が存在して、パフォーマンスの上昇曲線が抑制されることになる。それを探るのが、今回の80コアCPUプロトタイプの役割といえる。

 では具体的に、どのような問題が発生するのだろうか。例えばIntelでは、「テラスケール・コンピューティング」を次世代システムのキーワードとして掲げている。これは、「テラバイトの容量のデータをテラFLOPSの速さで処理する」ことが可能なシステムのことだとオッテリーニ氏はいう。こうしたシステム内では、現状のCPUと比較して短時間でより多くのデータの処理が行われることになり、CPUとメモリ、各種インタフェースなどのコンポーネント間通信、ひいてはCPU内のコア間通信などで、より大きな帯域幅が要求されることを意味する。単位CPU内のコア数が何十〜何百にもなるメニーコア時代における大きな課題の1つがこの「高速な通信環境」の整備なのだ。

コア間通信における課題

 現在のCPUにおけるコア間通信は非常にシンプルだ。IntelのCore2 Duoの場合、共有キャッシュとチップセットを介してコア同士が接続されている。Core2 Quadのケースでも同様の構成をとることになる。だが今後コア数が増え、メニーコアと呼ばれる世代になったときには、個々のコアにさまざまな役割が与えられ、互いに連携して動作するケースが増えてくるだろう。その場合、どのようにコア間で協調動作を行えばいいのだろうか。そのアイデアは、インターネットやLANにおける通信に近いといえる。

 Intelによれば、コア間で通信を行う手法として「リング」「メッシュ」の2つの方式が考えられるという。リング型の構造では、すべてのコアを通過するリング型のトポロジーを持つ専用の道を用意し、この上を決まった方向へデータを周回させ続けることですべてのコア間にデータが行き渡るようにする。一方のメッシュ型では、隣接するコア同士でメッシュ状にパスを張り巡らし、実際の通信にあたってはこの複数あるパスをいくつか経由する形でコア間のデータがやり取りされる。リング型はシンプルで実現しやすい構造だが拡張性やパフォーマンスに難があり、メッシュ型はパフォーマンスや拡張性の面で期待できるものの、複雑なルーティング動作を必要とするために実現がやや困難だ。このあたりの実現性を探るのもプロトタイプの役割になる。

 また、メモリアクセス高速化ための「ダイ・スタッキング」と呼ばれる手法も考案されている。コア数が増え、扱うデータの量が増大することで、メモリ、とくにキャッシュメモリといった同じダイ上にあるコンポーネントのアクセスでさえ、通信上の遅延がボトルネックにつながってくる。もしこの部分を高速化できれば、パフォーマンスの向上に大きく貢献するはずだ。ダイ・スタッキングでは、SRAMのパターンが焼かれたトランジスタ素子の層と、CPUのロジック部にあたるトランジスタ層を立体的に張り合わせることで、CPUコアとキャッシュメモリの間で高速なインタフェースの構築を実現する。Intelは、この技術がDRAMにも応用できると述べており、将来的に高速化したい一部のメモリをCPUのダイに統合することで、さらにパフォーマンスの向上を期待するといった使い方も可能になるだろう。

kn_idf6tporo.jpg CPUコア間通信におけるリング型とメッシュ型のトポロジーの違い
kn_idf6daistck.jpg ダイ・スタッキングを行ったシリコンウェハのサンプル。左端のウェハがスタック用のベースで、右側2つのウェハがダイ・スタッキングされたCPUのダイ

コンポーネント間通信における課題

 今のIntel製プラットフォームでは、チップセット(ノースブリッジ/サウスブリッジ)を中心にCPU、メモリ、PCI Expressなどの各種インタフェースがぶら下がる形態をとっている。もしCPUの数やメモリモジュールの数が増えたとしても、チップセットにすべてのコンポーネントがぶら下がる形態に変わりはない。だがテラスケール・コンピューティングで扱うデータ量や帯域幅が増えると、チップセットに要求されるバスの帯域幅は大幅に上昇し、各コンポーネント間通信における遅延も無視できないレベルになる。このとき、より高速で、コンポーネントとダイレクトに接続できる手段が必要となる。

 コンポーネント間通信高速化の第1段階は、マルチCPU以上の4-wayや8-way構成のときにCPU間の通信を高速に行う「CPUインターコネクト」の用意だ。CPU間でCPUインターコネクトを張り巡らせることにより、チップセットを介することで発生する遅延や、帯域幅増大に対する要求を抑えられる。

 第2段階では、外部I/Oとして接続されているネットワークインタフェース(NIC)をCPU内に取り込んでしまい、別のマザーボードにあるCPUとの通信を直接行えるようにしてしまう。これにより、例えば同一のシャーシ内に複数のマザーボードを配置するようなブレードサーバにおいてCPU間通信を高速に行えるようになり、ブレードサーバの(ネットワーク上における)バックプレーン帯域がボトルネックとなることを防ぐ。これでNICを介することによる遅延を最小限にできる。具体的には、CPU内のコアの1つにNIC機能を持つような動作をさせて、CPUインターコネクトを使って別のCPUと通信させることになる。

 現在、こうしたマザーボード上のコンポーネント間通信では銅配線が一般的だが、銅配線にはテラスケール時代を担っていくだけの充分なパフォーマンスはない。遅延などの問題で配線の距離を稼ぐことが難しいという課題があるのだ。そこで、すでにLANやインターネットで利用されている光ケーブルを配線に用いることが検討さえている。光ケーブルによる配線は銅配線に比べて高価で、光信号を電気信号に変換するときにロスが発生するなどの問題があるため、マザーボード上の配線には利用されていない。今後Intelが目指すのは、光信号と電気信号を変換するためのモジュールの小型化と低コスト化を実現して一般用途に利用できるレベルまでに落とし込むことだ。IDFでは「シリコン・フォトニクス」と呼ばれる、半導体素子上でレーザーの発生や増幅、受光を行うモジュールのデモが紹介されたが、この技術は将来のコンポーネント間通信で光信号を使うための布石となる。

kn_idf6intcnect1.jpgkn_idf6intcnect2.jpgkn_idf6intcnect3.jpgkn_idf6intcnect4.jpg テラスケール・コンピューティングで求められる転送帯域の増大に合わせ、同一ボード上でのCPU間だけでなく、NIC機能をCPUへ取り込んで別ボードのCPU同士でもインターコネクトできるようになる

kn_idf6onecorenic.jpg CPU間インターコネクト実現にあたっては、コアの1つをNIC機能に割り当て、残りのコアのいくつかをCPU間通信のプロトコル処理に割り当てる分担方式をとる
kn_idf6cappopt.jpg 現状の銅配線による信号伝達に比べ、光配線による信号伝達は50倍の速度を得ることができる。異なる波長の光を束ねて光ファイバへと送り出すことで(多重化という)、より通信速度を高めることも可能

kn_idf6srvopt1.jpgkn_idf6srvopt2.jpg 現状でサーバ同士の外部接続に使われている光配線を、将来的には内部のコンポーネント接続用の配線にまで応用することで、来たるべきバス帯域不足の時代に備える

       1|2 次のページへ

Copyright© 2016 ITmedia, Inc. All Rights Reserved.