[ 目次 ]  [ 1ページ目 ]  [ 前ページ ]  [ 次ページ ]  [ Q&A ]
科学技術計算分科会「次世代HPCを支える基盤技術」

SPARC64 V/VIの高性能、高信頼技術

(6/9)
5.消費電力の問題

5.1. アクティブ電力の低減

SPARC64 V の特徴の一つは消費電力あたりの性能に優れている(高い)事である。平均では約 40W、最悪ケースで 65Wの消費電力は、サーバ用のハイエンドプロセサでは群を抜いて低い。無駄な電力を食わせずに無理なく高い動作周波数を達成するために、クロックを Hツリーで分配してパルスラッチを使用し、食い込みとスキューを積極的に利用してディレーを稼いでいる。さらに、スタンダードセルベースで設計して、論理と実装をハンドチューンで最適化している。また、チップ面積の多くを占める 2次キャッシュはブロック分割して、これを構成する SRAMマクロを必要なときだけ活性化した他、演算器の入出力レジスタやパイプラインのタグ類などのラッチを、内部のクロック伝播を Inhibit(IH)ピンによって制御して、不要なときは止めている。この IHピンの効果は大きく、図4 に示すようにラッチ単体で 7%〜80%の電力を削減できる。ラッチの IHピンを上げると出力も固定されるので、出力に繋がっている論理の動作も抑えられて電力削減効果が更に大きくなる。
SPARC64 Vでは、全ラッチの 50%以上に IHピンの制御を適用している。これらの結果として、SPARC64 Vのアクティブ電力は、数%の動作率に相当する程度まで低減されている。しかしまだ改善の余地が残っており、今後は更に徹底していく。

図 4.電力削減効果
5.2. リーク電流の低減

半導体の微細化により、電力に対してリークの占める割合が大きくなってきた。図5 に示すように、SPARC64 V(90nm)では消費電力の平均 40Wと最悪 65Wの差分 25Wのほとんどがリークであり、消費電力全体に占める割合はおよそ 40%に達している。SPARC64 VI ではアクティブ電力は SPARC64 V より改善が進んでおり、デュアルコアでも単コアの SPARC64 V より少し多い 55W程度である。平均電力は、リークも入れて 80W程度であるが、最悪の場合の電力は 120Wに達し、その内訳はリークが 60%以上を占める。

図 5.消費電力の推移
リーク電力の削減は、背景により複数手段を使い分けて削減する課題である。これを、90nm版の SPARC64 V を用いた実験結果に基づいて示す。
実験から、リーク電流は、個体差、温度、電圧の関数であることを示す。個体差はテクノロジの微細化に伴い拡大する。ばらつきの縮小は、微細化技術の課題である。温度と電流は、設計技術に関連する課題である。
実験は、スタティック電力(図5 左)と消費電力(図6 右:スタティック電力+ダイナミック電力)を、電源電圧(Vdd)と温度を振って測定した。図中、横軸に温度、縦軸に消費電力をとり、温度を振ったときのチップごとの消費電力値を示した。スタティック電力は、クロックを停止した状態の測定であり、ダイナミック電力は、同じサンプルでクロックを入れて行った測定である。実験対象のサンプルは、出荷基準による選別前の全チップであり、温度をフィールドではありえない値まで振って測定した。

図 6.電力のばらつき (スタティック電力,消費電力)
経験から、リーク電流 Ileakは定性的には電源電圧Vdd と温度t の両方に対して指数関数的に増加することが分かっている。その特性に基づき、リーク電流を、実験式(1)であらわす。
Ileak = Iddq×e^{α(Vdd-1.0)+β(t-85)}  ――― 実験式(1)
Ileak: リーク電流
Iddq : 85℃,1.0Vで測ったリーク電流
Vdd : 電源電圧

式(2)に変形し、測定データをつかって回帰分析して、係数αとβの値を求め、最終式(1')となる。
ln( Ileak)-ln(Iddq)=α(Vdd-1.0) +β(t-85) ――― 式(2)
α=3.06,β=0.0157

Ileak = Iddq×e^{3.06(Vdd-1.0)+0.0157(t-85)} ――― 式(1')
Ileak: リーク電流
Iddq : 85℃,1.0Vで測ったリーク電流
Vdd : 電源電圧
式(3)から、クロックをいれた場合の電力のアクティブ分(以降Pactive)を、消費電力(以降Ptotal)の実測値と、実験式(1')で算出したリーク電流(Ileak)を用い、式(3)の形で算出できる。
Pactive=Ptotal-Vdd×Ileak ―――式(3)
電力は周波数f に比例し、電源電圧Vdd のほぼ 2乗に比例するため、Pactiveを、実験式(4)であらわす。
Pactive=k×f×Vddγ ―――式(4)
変形すると、式(5)となる。
ln(Pactive) - ln(f) = ln(k) +γ× ln(Vdd) ―――式(5)
ここで、ln(k)とγを測定データから算出されるアクティブ分の電力Pactive を使って回帰分析することで、kとγが得られる。
k=10.3,γ=2.03
アクティブ分の電力Pactive が電源電圧Vdd の 2乗に比例することが確かめられたので、先に求めたリーク電流Ileak の実験式(1)も妥当であると考えられる。
図7 は、実験式の検証である。図の左軸は電力であり、実験式求めたスタティック分 Pstatic、アクティブ分 Pactiveと、その合計値の値を示す。右軸は比を表す。実測した電力 Ptotalと、実験式でもとめた Ptotalの比を、破線で示した。誤差はおよそ ±10%である。
図 7. 実験式による値とその検証
以上の実験で立てた実験式は、チップレベルの特性を外側から見たものである。チップごとのばらつき、電源電圧、ジャンクション温度、動作周波数による、電力の変化をよく表している、アクティブ電力はチップごとのばらつきが小さく、電源電圧と動作周波数が決まればほぼ決まるのに対して、リーク電流はチップごとにばらつきが大きく、電源電圧とジャンクション温度に依存して指数関数的に増大する。
リーク電流の問題は、半導体の微細化とともに一般的に大きな問題となっている。Intelや AMDもその例外ではない。リーク電流は、電源を入れただけで何も働かなくても漏れ流れてしまう電流であるため、回路量の増大に伴ってリーク電流は大きくなる。リーク電流が消費電力に占める割合が無視できないレベルになったのは、富士通の場合は 90nm世代からだが、他社でも情況はあまり変わらないようである。
リークはチップの個体差と使用条件によって大きく違ってくる。このため電源、冷却といった面で最悪の場合に備えた設計が必要になる。結果的に通常の使用では過剰なスペックとなり、筐体サイズやコストの面から好ましくない。
この点もあわせて、マイクロプロセッサが直面する最大の問題は消費電力が大きくなりすぎたことであるといえる。そのことが次に述べるマルチコア化などの、各社 CPUのマイクロアーキテクチャの方向性に大きく影響している。品種によって消費電力の違いはあり、また、搭載する装置によっても許容できる消費電力は異なるため、問題の程度には違いがある。しかし、性能に重点を置いたハイエンドシステムでは、例外なく消費電力を問題にせざるを得ない状況であり、多くはトレードオフとして周波数向上を緩める方策をとっている。
例外は IBMであり、IBMだけが次世代の Power6で 4GHz以上を達成するとしている。Power5の 2.2GHzから 2倍程度の周波数向上である。IBMの場合には、チップを Multi Chip Module(MCM)や Dual Chip Module(DCM)に高密度で搭載しており、周波数を上げるには強力な冷却が必要である。しかし、強力な冷却を前提としてジャンクション温度を低く保つことが出来るのであれば、リーク電流を小さくすることが出来る。これは、リークの、温度に対して指数関数的に増大する性質による。そしてリークが抑圧可能ならば、周波数を高くすることに伴い絶対値として電力が大きくなったとしても、電力あたりの性能が低下する割合は大きくはならない。低い性能の CPUを並べることは、オーバヘッドが大きくなって効率が悪くなる事を考えるならば、あくまでも周波数を上げるという方向性は、強力な冷却を実現できることを前提とするならば理にかなっている。今後さらに半導体の微細化が進んでいくときに、今後長期にわたって同じ戦略をとり続けることが出来るのかは興味深い。

[ 目次 ]  [ 1ページ目 ]  [ 前ページ ]  [ 次ページ ]  [ Q&A ]

All Rights Reserved, Copyright©サイエンティフィック・システム研究会 2006