Skip to Content Java Solaris コミュニティ パートナー 開発者 マイ・アカウント ご購入について (0120-33-9096) Japan Worldwide

トピックス
2005


 

UltraSPARC T1プロセッサ (開発コード名:Niagara) が謳う環境性能、すなわち爆発的なスループット性能と低消費電力の両立について、これまで語られることが少なかった、低消費電力をいかにして実現したのかをご説明します。

今年の8月に本サイトに掲載した「新世代エコ・プロセッサ:Niagara」では、Niagara (開発コード名、正式名称:UltraSPARC T1) を「スループットと低消費電力を極めて高い次元で両立した真に革新的なCPUです」と紹介しました。UltraSPARC T1プロセッサは8つのコアで合計32のスレッドを実行出来ますから、Webサーバやアプリケーション・サーバの処理能力としてのスループットが極めて高いことは、容易に想像できると思います。

では、UltraSPARC T1プロセッサはどのようにして低消費電力を実現し、「Eco-Responsibleな (環境に配慮している)」プロセッサになっているのでしょうか? 8個のコアを実装することで8倍の消費電力になってしまったのでは、低消費電力は実現できません。低消費電力の実現には、最先端の半導体技術や8個のコアで (キャッシュ、TLB、メモリインターフェイスなどの) 周辺回路を共有できる点も寄与していますが、それらに加えて大胆な発想の転換もありました。以下に、UltraSPARC T1プロセッサが低消費電力を実現するためのアイディア、すなわちCoolThreadsテクノロジーの基本的な発想についてご説明します。

その前に基本的知識として、以下の点を覚えていて下さい。プロセッサの消費電力は、動作周波数が高くなるほど、そして集積されるトランジスタの数が多くなるほど、高くなります。一方、半導体の製造プロセス技術 (130nmとか90nmとか) の精密化によって、消費電力 (トランジスタ当たりの) を抑えることが可能です。

ダイ面積の使用率と性能

まず、何年か前の時点での最先端のプロセッサを想定し、そのプロセッサのチップの面積 (ダイ面積) を100、性能を1としましょう (上図A)。このプロセッサはシングルコアで、ひとつのコアでダイを占有しています。そこでひとつの課題を考えます。それは「コア面積が半分になるようなプロセッサを作りなさい」というものです。面積は基本的にはトランジスタ数に比例します。つまりその課題は「トランジスタ数を半分にしたプロセッサを作りなさい」と言い換えられます。

そのようにして作ったプロセッサのコアの面積は50ですが、性能はどの程度になるでしょうか? 実はトランジスタ数を半分にしても、性能は0.9位を実現できるのです (上図B)。それでは、さらに面積に関する条件を厳しくして、「コア面積が1/10になるようなプロセッサを作りなさい」としてみましょう。驚くことに、それでも性能は0.5程度を実現できるのです (上図C)。つまり、性能とトランジスタ数 (ダイ面積) は比例しない、ということです。

1/10の面積のコアで0.5の性能が出せるなら、それを10個集積することで、同じダイ面積のプロセッサで0.5 x 10 = 5の性能が出せるという計算になります。もともと想定していたプロセッサの5倍の性能です。ここでいう性能とは、処理系の数が増えることでその効果を直接的に得られる、スループット (一定時間における処理総量) 型の性能のことです。幸いなことに、Webサーバやアプリケーション・サーバなど、インターネットで利用されるアプリケーションのほとんどにおいては、このスループット型の性能が重要です。つまり、小さなコアを複数集積する、というアプローチが極めて効果的なのです。

さて、ここでSunの革新的技術を利用すると、さらに効率を高めることができます。コア面積を1/10から1/8程度まで大きくすると、各コアで4つのスレッド (各スレッドの性能は0.5をキープ) を実行することが可能になります (上図D)。このコアを8個実装することで、0.5 x 8 x 4 = 16 のスループットが達成できる、という計算になります。これがUltraSPARC T1プロセッサです。

16倍のスループットの比較対象を思い出して下さい。「何年か前の時点での最先端のプロセッサ」です。具体的にはUltraSPARC IIIi (1GHz) プロセッサを想定しています。それとUltraSPARC T1を比較すると、コアを小型化しそれを集積していますから、トランジスタの総数はほぼ同じレベルにあります。また、上の議論では「動作周波数を上げる」という話は一切していませんので、その意味でもほぼ同じレベルです (実際には1GHzおよび1.2GHz)。ただし、その当時とはプロセス技術に進歩があります。従って、UltraSPARC T1プロセッサはUltraSPARC IIIiと同等以下の消費電力でおよそ16倍のスループット (*1) を実現するということになります。

*1 : 弊社の資料等で「15倍」と表記してあるものもありますが、どちらも概数であり、意味するところに本質的違いはありません。本稿では「16倍」を採用します。

電力に関する効率は、消費電力の絶対値だけの問題ではなく、消費電力と仕事量との相関関係で語られるべき問題です。UltraSPARC T1の価値はまさにそこにあります。UltraSPARC T1は単に性能を抑えただけの省電力プロセッサではありません。73Wという低消費電力と高性能を両立し、その結果、圧倒的レベルの「消費電力あたりの性能」を提供するのです。

16倍のスループットを得るためには、UltraSPARC T1プロセッサが捨てたものもあります。コアを小型化するためにトランジスタ数を削ってしまいました。具体的にはキャッシュを小さくし、パイプラインを浅くし、プリフェッチ (命令の先読み) やアウト・オブ・オーダー (命令の順番を入れ替えた実行) の機能もありません。また、浮動小数点演算ユニットも必要最小限しか備えていません。UltraSPARC T1のコアは極めて単純な作りになっているのです。動作周波数も何年か前のレベルのままです。

この結果、UltraSPARC T1プロセッサの演算能力は最新鋭のプロセッサに比べて、各コアの演算能力は高くないものになりました。しかし、それをあえて狙ったのがUltraSPARC T1です。科学技術計算を行うのであれば、演算能力の高さ (速さ) は重要ですが、UltraSPARC T1プロセッサがターゲットにしているのは、インターネットあるいはイントラネットのWeb層、アプリケーション層であり、その層のアプリケーション環境 (膨大な数の小さなトランザクションが発生する) において、爆発的レベルのスループット性能を、従来のプロセッサでは考えられない程の低消費電力で提供することを目的としています。演算能力が決して高くないのは百も承知であって、シングルスレッドの演算能力を捨てることで、それに代わる大きな価値 (高スループットと低消費電力) を手に入れられるのです。

今後、UltraSPARC T1について我々の競合にあたる会社からは、「UltraSPARC T1プロセッサは演算性能が低い、動作周波数が低い」といった批判が寄せられることは容易に想像できます。しかし、本稿をここまで読んでこられた方なら、その批判は全くの的外れであり、保守的な周波数至上主義から脱却できていない批判であることはご理解頂けることでしょう。

従来のプロセッサには仕事の特性による適材適所という考え方がありませんでした。どのような用途であろうと、闇雲に動作周波数を上げ、キャッシュを巨大化させ、パイプラインを複雑化させてきました。UltraSPARC T1プロセッサはネットワーク・コンピューティングのWeb層、アプリケーション層を明確なターゲットとし、従来のプロセッサ設計の常識にはあえて背を向けるアプローチで、爆発的なスループット性能と73Wという電球並みの低消費電力を両立することに成功しました。

UltraSPARC T1搭載のサーバは間もなく発表されます。それは新しいプロセッサ、新しいサーバの誕生であると同時に、低消費電力、スループット性能、地球に優しい、といった、新しい価値観、新しい基準の誕生でもあります。

関連情報 ≫

Reader Survey
この記事は参考になりましたか?
     

コメントがございましたらご記入ください


ページ先頭へ

お問い合わせ 会社情報 ニュース 採用情報 プライバシー 利用規定 商標 Copyright  Sun Microsystems, Inc.