|
●Geyserville-2はデマンドベースのスイッチ技術
Intelは0.13μm版Pentium III(Tualatin:テュアラティン)と0.13μm版Pentium 4(Northwood:ノースウッド)から「Geyserville-2(ガイザービル-2)」と呼ばれる第2世代のSpeedStepテクノロジを導入する。これは、CPUのデマンドをモニターして、ダイナミックにクロック&電圧を最適化する、いわゆるデマンドベースのコントロール「Demand-Based Processor Performance State Control(DBS)」技術になる。つまり、Transmetaの「LongRun」やAMDの「PowerNOW!」と同じような技術になる。
実際、Intelは3月末に行なわれたカンファレンス「WinHEC 2001」で、DBSのCPU制御について、かなり前からリサーチを行なっていることを明かしている。WinHECでは、IntelはさまざまなユーセージモデルでDBSの効果がどうなるかの研究結果を発表した。Intelの結論を簡単に要約すると「ほかのCPUメーカーが言うほどDBSは万能の効果があるわけではないが、一部のアプリケーションでは効果があることは確かだ。そして、IntelもDBSサポートに積極的に動いているが、そのためには準備が必要だった」というあたりになる。
Intelは、これまで公式にはDBSの効果は薄いと主張してきた。その理由は、CPUはアイドル状態の時はCステイト(待機モード)に入って消費電力を大きく下げる仕組みになっており、ほとんどのアプリケーションでは頻繁にCステイトに入るので、実質的な消費電力が低いからだという。しかし、今回はリアルタイムマルチメディア系アプリケーションでは、効果があると主張を変えてきた。
CPUのCステイトにはいくつかの段階がある。Intelプロセッサでは「C1」が「Autohalt」で消費電力は1W以下、「C2」が「QuickStart」で500mW以下/1μ秒のレイテンシで復帰、「C3」が「DeepSleep」で250mW以下/100μ秒(チップセットで異なる)で復帰となっている。
●DVD再生などで効果を発揮するDBS
Intelによると、DBSの効果はユーセージモデルによってかなり異なるという。Intelは次の4つのモデルで説明した。
(1)システムアイドル状態
この場合はほとんどの時間、CPUはC2またはC3にあるためDBSは効果がない。これは当然だ。
(2)オフィスアプリケーション
IntelによるとWordでタイピング入力するようなケースではDBSはほとんど効果がないという。それは、この程度の負荷では、CPUは散発的に処理を行なうだけで、大半の時間はC2/C3にあるため、DBSを導入しても消費電力はほとんど下がらないという。
(3)レンダリング
フォトレタッチなどの処理でも、DBSは効果がないそうだ。これは、こうした処理の場合は作業中はCPUのフルパワーを使い、処理が終わるとC2/C3に戻るためだという。つまり、DBSを使っても、やはり処理中は100%のパワーを使うので、意味がないわけだ。
(4)DVDソフト再生
IntelがDBSの効果が大きいとするのはこのケースだ。Intelによると、Pentium III 500MHzの場合、DVD再生は300MHz程度のCPUパワーを持続的に使う。そのため、DBSで300MHz程度に制御すれば大きな効果が得られるという。
この説明は説得力がある。というのは、これまでTransmetaがLongRunのデモを行なう時もほぼ必ずDVDソフト再生での消費電力を示していたからだ。300MHzしか必要ない時に、500MHzでより高い電圧で駆動し続けるなら、確実に消費電力の差は出るだろう。ところが、これまでのIntelはというと、DBSについて肯定できないため、DVD再生時ですらC2に入るのでDBSは必要ないと苦しいいいわけをしていた。
いずれにせよ、IntelがノートPCの今後の使い方として目指しているのは、まさにDVD再生のようなアプリケーションだ。それなら、Intelとしても必ずDBSが必要となるわけだ。
●DBSのアルゴリズムに必要な条件
また、IntelはDBSのアルゴリズムについても言及した。この種のDBS技術の目標は2つの矛盾する要求を満たすことだ。
○最高クロック&電圧時とほぼ同じ性能と反応性をユーザーが得られること
○最低クロック&電圧時とほぼ同じバッテリライフを得られること
そのためには、DBSで常にCPU使用率を100%に近くに最適化する必要がある。Intelはこのゴールに到達するためにアルゴリズムに必要なのは次の5つのポイントだという。
(1)CPUのクロック&電圧切り替えのトランジションレイテンシを減らす
レイテンシが少なければ単位時間内により頻繁なクロック/電圧切り替えを行なうことができる。つまり、よりきめ細かなクロック&電圧の最適化ができることになる。例えば、Crusoeの場合は、電圧差が小さい場合はレイテンシが短く、電圧差が大きな場合にはレイテンシが比較的長いアルゴリズムになっている。つまり、小幅で最適化する必要があるようなケースで有利になる。
(2)CPUのクロック&電圧切り替えのトランジションコストを減らす
トランジションでコード実行が中断する時間を減らすことは重要だ。このコストが大きいと、クロック&電圧の切り替えを頻繁に行なうと性能が削られてしまうからだ。そうすると、本末転倒でDBSを行なう意味がなくなってしまう。
これもDBSに共通したことで、例えばCrusoeはクロックを20μ秒という極めて短い時間で切り替えたあと、x86コードを実行しながら電圧を段階的に落とすアーキテクチャを採用している。つまり、トランジションでコード実行が犠牲になる時間を最小にしているわけだ。Intelもここは重点的に対策してくるだろう。また、トランジションコストを減らすためには、おそらくチップセット側の対応も必要になると思われる。モバイル版TualatinがIntel 830チップセットファミリと組み合わせられる理由は、そのあたりにあるのかもしれない。
(3)CPUデマンドのサンプリングのオーバーヘッドを減らす
サンプリングのオーバーヘッドが少なければ、それだけ頻繁にCPUへのデマンドの計測を行なうことができる。そうすれば、より迅速に、きめ細かく性能を最適化できるようになる。つまり、負荷が高まった時にCPUのクロックが上がるのが遅れて、もったりした反応になることを避けることができる。
(4)CPUデマンドのサンプリング間隔を最適化する
原則としては、サンプリング間隔を短くすればするほど、反応性は高くなる。しかし、Intelによると、これが短すぎると、不必要なクロック&電圧の移行を頻繁に行なうことになり、逆に性能が犠牲になるという。
(5)CPUのクロック&電圧ステイトの数を最適化する
原則としてステイトが多ければきめ細かく制御できる。しかし、これも切り替えが頻繁になったり、切り替えに時間がかかるようになる危険をはらんでいるという。そのため、2/4/8/16段階のどれがいいのかを見極める必要があるという。
●Fast up-Slow downで制御
こうした研究の結果、IntelはDBSに最適なアルゴリズムは“Fast up-Slow down”だと判断したという。つまり、デマンドに応じて迅速にクロック&電圧を引き上げるが、下げる時は比較的ゆっくり下げるわけだ。短いサンプリング間隔で、デマンドがCPUパフォーマンスの98%に達したらクロック&電圧を引き上げるという。Intelによると、最適なアルゴリズムでは、パフォーマンスは最高クロック&電圧の98%、バッテリ性能は最低クロック&電圧の93%を達成できたという。もちろん、これは自社比なので、実際のところはまだわからない。
Intelの現在のSpeedStepは現在は2段階だけの制御であり、IntelはWinHECでもTransmetaやAMDのような多段階のDBS制御を行なうとは言っていない。しかし、プレゼンテーション内容を見る限り、Intelも多段階DBSを考えているのは確実だ。また、業界関係者によると、Geyserville-2では他段階DBSを採用するという。
WinHECでの説明によると、IntelはすでにDBSに関して数年リサーチを続けており、MicrosoftともDBSサポートについて密接な関係を持っているという。実際、MicrosoftはWinHECで、Windows XPでのDBSサポートアーキテクチャの説明を、Intelのプレゼンテーションを受ける形で行なっている。ただし、Intel自身はWindows XPだけでなくWindows 2000とWindows 98もサポートしなければならないので、アプレットで対応できることも必要だと説明している。また、Intelは「ACPI 2.0」へDBSのためのステイトを追加することでも協力しているという。
Intelの言い分としては、こうしたOSやACPIなどのインフラを整えなければDBSを採用できなかったということなのだろう。
(2001年4月27日)
[Reported by 後藤 弘茂]