Windows 7 での「Windows エクスペリエンス インデックス」のエンジニアリング

世界中の Windows 7 ベータをダウンロードおよびインストールしてくださった大勢の人から山のようなレポートが寄せられ、処理に大わらわです。使い始めたみなさんの興奮がうかがえて、私たちも大変興奮しています。ベータに参加している方の多くは自分が使用しているハードウェアに精通しており調整も十分なので、 Windows 7 Windows エクスペリエンスインデックス (Windows Experience Index = WEI) や、 Windows 7 WEI がどのように変更または改良されたか、といった質問はあまり寄せられていません。この投稿では、再び Michael Fortin がWEI のエンジニアリングの詳細について語ります。

WEI PC の主なハードウェアコンポーネントのパフォーマンスを相対的に測定するための方法で、 Windows Vista から導入されました。ベンチマークのインデックスのように、相対的な評価として使用されるものであり、ある数値を他の数値と比較するものではありません。ほかの測定とは異なり、 WEI は単にコンポーネントの性能を測定するものです。また、 WEI は短時間しか実行されず、ソフトウェアの実行中にコンポーネントのインタラクションを測定するものではありません。どちらかと言うと、ハードウェアの特徴を計測するものです。そのため、システムが自分の使い方によってどのように動作するかは測定しませんし、測定できません。つまり、 WEI はシステムのパフォーマンスを計測するのではなく、単に Windows 7 実行時のハードウェアの相対的な性能を計測するものです。

特定の個人にとって必要な 「絶対的な」 WEI を一般化しようとする方々に対して若干の注意を促したいと思います。私たちはそれぞれ PC のパフォーマンスに対して異なる許容範囲や期待を持っており、 WEI の値が同じでも別の人にはまったく違った意味を持つ場合があります。私の場合、仕事の約 9 割は WEI 2.0 ( ゲーム用グラフィックスのコンポーネントのスコアが比較的低い ) とても安いノート PC で行っています。 PC では Outlook (2GB 程度の電子メールのやり取りを含む ) Internet Explorer (10以上のタブを開いた状態 ) Excel ( 開発チームのメンバーの長いリストを開いた状態 ) PowerPoint 、メッセンジャー ( ビデオ付き ) 、さらには .NET で書かれた基幹業務 (LOB) アプリケーションを実行していることもあります。この程度の作業負荷と Windows 7 が実行されている PC では、今も「ボトルネック」は自分自身の脳と指の WEI ではないかと思ってしまいます。その対極にあるのが私のクリスマスプレゼントに買った 25 インチの一体型マシンで、 WEI 5.1 です ( サブスコアは 7.2, 7.2, 6.2, 5.1, 5.9 で、やはりゲーム用グラフィックスがネックです ) 。このマシンでは 64 ビット版 Windows 7 が動いており、いつもウィンドウで MediaCenter を実行し、デスクトップにはガジェットがいっぱいで、しかもプリントサーバーとしても使用しているにもかかわらず、快適に動作しています ( 搭載している RAM の約 25% を使用し、 CPU 使用率は 10% を超えることはまずありません。 )

--Steven

Windows エクスペリエンス インデックス (WEI) の基本スコアは、5 つのトップレベルの WEI サブスコアのうち、最も低いサブスコアによって決定されます。それぞれのサブスコアは、規則や一連のシステム評価テストを使用して計算されます。Windows 7 で採点されるのは、Vista と同じ次の 5つのエリアです:

  • プロセッサー
  • メモリ (RAM)
  • グラフィックス (一般的なデスクトップ)
  • ゲーム用グラフィックス (主として 3D)
  • プライマリ ハードディスク

採点されるエリアは同じですが、採点の幅が変わりました。Vista では、WEI のスコアは 1.0 から 5.9 の範囲でしたが、Windows 7 では上限が 7.9 に引き上げられました。デバイスの採点のルールも Vista の時から変わって、注意深く格付けされたデバイスと実際の使用における異なる品質を比較したエクスペリエンスとフィードバックを反映させました (すなわち、格付けをより実際の使用を示すものにしました)。ベータ版をインストールして、システムのあるコンポーネントのスコアが (Vista と比べて) 変わったことに気付いた方もいるかもしれませんが、それはこれから説明する理由によるものです。

スコアの範囲において、特定の PC に求められているエクスペリエンスを相対的に理解するための一般的なガイドラインとなるよう期待しています。この Vista の時代から続いているシステムに対する 1.0 から 5.0 までの一般的なガイドラインは、Windows 7 に対しても適用されます。しかし、先にも述べたように、Windows 7 ではレベル 6.0 と 7.0 が追加されました。つまり、7.9 が出すことのできる最高スコアとなります。新しいレベルは、ソリッド ステート ディスクやマルチコア プロセッサー、ハイエンドのグラフィック アダプターに代表される主要なテクノロジーの大幅な向上をカバーするために設計されました。さらに、システムのメモリ搭載量も決め手となります。

新しく追加されたレベルについて、ガイドラインを設定するべく作業中です。たとえば、ゲーム ユーザーに対して、ゲーム用グラフィックスのスコアが 6.0 から 6.9 の間であれば、DX10 をサポートし、一般的な解像度においてすぐれたフレーム レートを実現するシステム (1280x1024 で 40-50 fps など) とします。そして、スコアが 7.0 から 7.9 の間では、より高解像度の画面でよりすぐれたフレーム レートを求めます。当然、各ゲームのスペックはこれらと密接な関係があるので、ゲームの開発者にとっても WEI スコアが特定のシステムでどのくらいのエクスペリエンスをもたらすかの基準となることも意図されています。グラフィックスはハードウェアの中で最もスコアの幅が広く、また、ユーザーの期待値の幅も最も広いものです。CAD、HD ビデオ、写真、グラフィックスに重点を置くゲーマーが求める最高級品と、平均的なビジネス ユーザーや (仕事というより趣味としてこれらを行う) 一般ユーザーが求めるものでは、かなりの違いがあります。

もちろん、新しいレベルの追加は、なぜ Vista の時は 4.0 以上のスコアが付いていたのに、今は 2.9 しか付かないのかという説明にはなりません。多くのケースでは、スコアが大幅に下がるのは、興味深い実世界での学習とハードウェア状況の大きな変化が見られた新しいディスクのテストがWindows 7 から追加されたからです。

ディスクのスコアについて、最近の Windows パフォーマンスに関する投稿でもお話したように、かなり前から包括的なパフォーマンスをフィードバックするループを開発してきました。このループにより、コンピュータの現在のユーザーがアプリケーションまたは Windows の重大な応答の問題に直面していることを示した時間帯をカバーする何千もの詳細なトレースをキャプチャーすることができました。これらのトレースを分析した結果、ディスク I/O との関係を見つけ、標準的な 4KB のディスクが読み込むのに思っていたよりも長い時間、実際にはずっと長く (10倍~30倍) かかっていることが多いことがわかりました。個々のディスクが読み込むのに、完了までに数十ミリ秒ではなく、数百ミリ秒かかるシーケンスが多く見られます。このようなシーケンスが積み重なると、ハイレベルなアプリケーションの応答は著しく影響を受けることになります。

認識された問題により、多くの I/O シーケンスを合成し、ソリッド ステート ドライブを含む本当にたくさんのディスク ドライブについての大規模な研究に取り組みました。その結果、多くのすぐれたディスクを発見しましたが、残念ながらロードにおいて重大な課題があるものもたくさん見つけました。特に、ソリッド ステート ドライブの第一世代は、よく見られるクライアント I/O のシーケンスに直面しているとき、概して課題があることが分かりました。

一例として、問題のあるシーケンスはひとつ以上のフラッシュが混ざった一連のシーケンシャルおよびランダム I/O から成っています。このようなシーケンス中、多くのランダム書き込みは現実離れした短い時間 (たとえば 500 ミリ秒) で完了します。とても短時間の I/O 完了はキャッシングを示唆するものであり、実際の回転しているメディアやフラッシュ セルにビットを移動させる作業は後回しにされます。成功がとてもすばやく返ってきた後、延期された作業のバックログがたまっていきます。次に何が起こるかはドライブによって異なります。あるドライブは、先に発行または延期されたものがどんなに書き込みやフラッシュを行おうと、期待どおり常に読み込み応答を続けます。そして、よいパフォーマンスを生み、PC を使用する人が問題を感じることはありません。ところがあるドライブでは、作業のバックログをクリアしようとしてとても長い時間先送りされ、その結果知覚できる「ブロッキング」状態またはほとんど「ロックしたシステム」になってしまいます。これを実証するため、あるシステムで性能の悪いディスクを既知の良いディスクと入れ替えて観察したところ、パフォーマンスの劇的な向上が見られました。いくつかのケースでは、ドライブのファームウェアをアップデートするだけで応答を著しく向上させるのに十分でした。

この実世界での学習を反映させるため、Windows 7 のベータ版のコードでは、(採点中に) 問題のある動作を見せるようなドライブに対してスコアの上限を定め、このような結果をさらに評価するためにフィードバック システムを使って情報を私たちのところへ戻すようにしました。スコアが 1.9、2.0、2.9、および3.0 のシステム ディスクは、この新しい上限ルールによる可能性が大きいです。ベータのディスク査定やこれまで観察したデータに基づくこれらの上限に対し、私たちは内部的に自信を持っています。もちろん、さらに広範なベータ参加者からのデータやフィードバック、ドライブ メーカーとのやり取りからももっと学んでいきたいと思っています。

ディスクのスコアが低くてもパフォーマンスに不満がなければ、何もする必要はありません (もちろん WEI はハードウェアの変更を推奨するようなツールではありません)。一般的な作業負荷やアプリケーション用に発行された I/O のシーケンスが、これまで述べたような問題に遭遇するとは限りません。繰り返しになりますが、WEI は測定基準ですが、ユーザー本人だけが自分の PC ニーズにあわせて適用できる測定基準です。

先に、新しいレベルの 6 と 7 は、新しいハードウェア、特に SSD、グラフィックス アダプター、マルチコア プロセッサーなどによって向上したエクスペリエンスを測るために追加されたと言及しました。SSD に関しては、新しいテストは、ランダム I/O レートと先に述べた長い待ち時間の問題の回避に焦点を当てています。ただし、テストは接続されているストレージ デバイスが SSD であるかどうかは特にチェックしません。テストはデバイスの種類にかかわらず実行され、非常に高いランダム I/O レートに耐えられるデバイスはスコアの点が高くなります。

グラフィック アダプターについては、DX9 と DX10 の両方の査定がなされるようになりました。Vista ではテストは DX9 に対してのみでした。6 から 7 点台のスコアを出すには、グラフィック アダプターがすぐれたパフォーマンスのスコアを出し、DX10 をサポートし、ドライバーが WDDM 1.1 対応のドライバー (Windows 7 のベータで、それがダウンロードされようとしていたのに気付かれたかもしれませんが) である必要があります。WDDM 1.0 ドライバーの場合、DX9 の査定のみが実行され、全体のスコアの上限が 5.9 となります。

マルチコア プロセッサーに関しては、シングル スレッドおよびマルチ スレッドの両方のシナリオで実行されます。レベル6 および 7 では、システムの CPU はあまり一般用途向けではなく、過酷なプロセスやマルチ タスクに適していることを意味するのを目的としています。たとえば、クアッドコア プロセッサーの多くは 6 点台後半から 7 点台前半のスコアが付き、8 コア システムは 7.9 近いスコアが出ると見込んでいます。採点では最新のマイクロ プロセッサーも考慮に入れています。

主要なハードウェア パートナーに対しても、変更に関する詳細や理由について説明してきました。今後もフィードバックを適切に取り入れるため積極的に協業していきます。

--Michael Fortin