|
Fall Microprocessor Forumレポート Sun Niagara2の詳細が明らかにカンファレンス会期:10月10日~11日(現地時間) 会場:米カリフォルニア州サンノゼ DoubleTree Hotel Fall Microprocessor Forum 2006のカンファレンスで、Sun MicrosystemsのPrincipal Architect Robert Golla氏は、UltraSparc T1の後継となるNiagara2の詳細について語った。 現在Sun MicrosystemsのSun Fire T1000/2000に採用されているのがNiagaraこと、UltraSPARC T1プロセッサである。UltraSPARC T1は、簡単にいえばシンプルなコアを多数使ってシステム全体の性能を向上させようというもの。現在のUltraSPARC T1は、4スレッドをSMTで実行するコアを8個搭載し、最大32スレッドの同時実行が可能なプロセッサ。コアは、SPARC V9準拠のシンプルコアで、パッケージ全体で最大73Wという低消費電力となっている。 UltraSPARC T1の基本になる考え方は、CoolThread、あるいはThroughput Computingなどと呼ばれている。半導体技術の進歩により、プロセッサの実行速度は向上したものの、メモリのアクセス速度やレイテンシとの乖離が進んでいる。 これを解決するために、多層キャッシュやアウトオブオーダー実行、インテリジェントなプリフェッチといった技術が使われてきたが、これらは、達成される性能向上と比較すると必要とされるトランジスタ数が大きくなる。つまり、大量のトランジスタ(あるいはそれが占有するダイサイズ)の増加に比べると、性能向上部分はあまり大きくないといえる状態になっている。 CoolThread技術では、メモリレイテンシが大きいという前提で設計され、命令のメモリアクセス待ちの間に、ほかのスレッドの命令を実行するようにした。つまり、多数のスレッドを同時実行すれば、1つのスレッド内の命令がメモリレイテンシにより次の命令に進めなくても、他のスレッドの命令が実行できるわけだ。 この構造では、CPU側でメモリレイテンシを隠蔽する必要がなく、コアはシンプルなままでいい。つまり、メモリレイテンシを隠蔽するために大量のトランジスタを使う必要がなく、より多くのコアを同じ面積に搭載できるわけだ。また、アウトオブオーダーのような機能を省略したとしても、性能低下は僅かにとどまる。 多数のサーバーを配置するデータセンターやそれを利用する企業にとって、システムの消費電力は大きな問題となっている。単に電力を消費するだけでなく、その冷却などでデータセンター全体として大きな電力を使うことになってしまうからだ。UltraSPARC T1は、シンプルなコアを使うため、この点でも有利。 ちなみに、UltraSPARC T1の基本的なコンセプトは、Sun Microsystemsのオリジナルではなく、2002年にSunに買収されたAfara Websystemsのものだ。といっても、この会社はSunでUltraSPARCを設計したLes Kohn氏や、HydraマルチプロセッサのKunle Olukotun氏などが設立したもの。UltraSPARCベースのマルチプロセッサを開発していて、Sunとまったく無関係ではない。 ●シングルスレッド性能の低いUltraSPARC T1 UltraSPARC T1は、8コアをクロスバーで4つの2次キャッシュ、FPUユニット、システムバスと接続している。4つの2次キャッシュには、それぞれメモリコントローラが接続されていて、DDR2メモリに対応。90nm CMOSプロセスで作られ、2億7,900万トランジスタを搭載している。 コア部分は6段の整数演算パイプラインをマルチプレクサで切り替えて、4スレッドを実行できるようにしてある。 UltraSPARC T1は、用途によっては高い性能を発揮するものの、あまり性能の出ない用途もあり、主にネットワーク関連アプリケーションのエッジ部分などに使われることが多い。原因の1つは、整数演算性能に比べて浮動小数点演算の性能が低いことである。 もう1つは、スレッドの数とその平均的な処理時間の関係によって、性能を発揮できない場面があることだ。UltraSPARC T1は、最大32スレッドの同時実行が可能だが、シングルスレッド性能はそれほど高くない。シングルスレッド性能を高くしないで、同じ面積により多くのコアを詰め込めるというのが基本原理だからである。 UltraSPARC T1の場合、現在の多くのアプリケーションに対して、シングルスレッド性能が少し低すぎた。正確にいうと、同時実行できるスレッド数とシングルスレッド性能のバランスが現状のアプリケーションからみると悪かった。 ●UltraSPARC T1の2倍の性能を目指すNiagara2 これを解決するためにSun Microsystemsが開発しているのがNiagara2である。Niagara2は、UltraSPARC T1の2倍の性能を達成することを目標に開発された。 コア数は、UltraSPARC T1と同じく8つだが、1コアあたり8スレッドの同時実行が可能になった。コア数を16に増加することも検討されたが、そうなるとコア部分の面積が増え、浮動小数点演算ユニットなどを入れる余地がなくなってしまう。このため、コア数はそのままに、同時実行できるスレッド数を増やすことにしたようだ。 クロスバーで2次キャッシュやシステムバスを接続する点は同じ。ただし、2次キャッシュは8バンクになり、メモリコントローラは、FB-DIMM対応である。 UltraSPARC T1では、4スレッドを切り替えてパイプラインで処理していたが、Niagara2では、実行ユニットが2つあり、8スレッドを2つにわけてパイプラインを構成している。ただし、ロードストアユニットは、2つのパイプラインで共有している。 また、UltraSPARC T1では、浮動小数点演算ユニットは1つしかなく、これを8つのコアで共有しているため、浮動小数点演算性能を落とす原因となっていた。Niagara2では、各コアが個別に浮動小数点演算が可能になった。 また、コア内に暗号処理用のストリームプロセッシングユニット(SPU)を配置し、DESやAESなどの暗号化処理や、ハッシュ計算などをコアのパイプラインと並行して行なわせることができる。またNiagara2は、Ethernetインターフェースを内蔵していているが、SPUにより、10GbitのEthernetポートからのパケットをワイヤスピードで処理できる。 これらにより、整数演算はシングルスレッド性能でUltraSPARC T1の1.4倍以上となり、浮動小数点のシングルスレッド性能は5倍、プロセッサ全体では10倍以上となるようだ。 Niagara2は、5月にファーストシリコンが完成、すでにSolarisが動作している状態だという。製品としての出荷は2006年後半だが、年内には試作機を一部ユーザーに提供できるという。 □Fall Microprocessor Forumのホームページ(英文) (2006年10月12日) [Reported by 塩田紳二]
【PC Watchホームページ】
|
|