第3世代インテル® Core&trade i7 プロセッサー

5人1組のチーム制、合計30人がレビュー!

zigsowでは、インテル® vPro™ テクノロジーによる5つの機能を「5つの謎」に置き換えて、5人1組のチーム制で解き進む「冒険レビュー」を実施。「解読のストーリー」は、レビューアーに選出された30名をランダムに組み合わせて5人1組全6チームに編成し、テーマとして伝達された「謎=機能」を制限時間内で実験・検証を行うレビューです。各チームが行う実験・検証のプロセスを記したレビュー(冒険記)は自由に閲覧することができるので、インテル® vPro™ テクノロジーに対応したプロセッサーを最大限有効に使いたい時には最適です。

5人1組チームレビューの詳しい企画内容はコチラ!
インテル® vPro™ テクノロジー  第一の謎

「インテル® バーチャライゼーション・テクノロジー」とは!?

「インテル® バーチャライゼーション・テクノロジー」とは!?

仮想化時のパフォーマンス向上を図るIntel VT

英語で書くとIntel Virtualization Technology。

その名の通り仮想化に関してのテクノロジーです。

 

当初発表されたx86仮想化を支援するIntel VT-x、Itenium用のIntel VT-i、I/O処理の仮想化支援のVT-dなどがあります。

 

この中でIntel VT-xは、最近のIntelプロセッサでは、ほぼすべてのプロセッサでサポートされています。一方、Intel VT-dはCore i5以上のシリーズに限られています。Core i5以上でも必ずサポートされているわけではなく、Core i7 3770Kのような、Kシリーズのプロセッサではサポートされていません。

 

Intel VT-dのサポートはCPU側の対応の他にマザーボード側の対応も必要になります。Intelではチップセットでサポートの有無がはっきり分かれています。デスクトップ向けでサポートされているのがQシリーズとXシリーズのチップセット。LGA2011/LGA1366などはXシリーズなのですべてサポートされています。そもそも、X58/X79シリーズにはCorei7しかありません。LGA1155/LGA1156だと、一般的に販売されているP/Z/Hシリーズは非サポート。Qシリーズのみの対応になります。

 

もちろん、Intel純正ではQシリーズはラインナップされていますが、他のメーカーだと意外と選択肢が限られます。メーカーによってはQ77チップセットのマザーはない場合もあります。逆に、ノートPCではQM77とかを採用したものは意外と多くあります。今回のレビューでは、Intel純正のDQ77KBを使用します。

 

VT-dをサポートするマザーとCPUが手元にあるわけですが、VT-dは仮想化の際にどれくらいのメリットがあるのでしょうか?

 

いつも使っているWindowsですが、VT-dの恩恵を受けるのはHyper-Vを利用するのが手っ取り早いです。しかし、Hyper-Vでも最新の3.0にならないとサポートされません。考えてみると結構狭い条件になります。Hyper-V 3.0はWindows8とWindows Server 2012でサポートされています。

 

どれくらいの効果があるのか、いくつか実験してみることにします。

インテル® vPro™ テクノロジー 実施・検証レビュー

VT-dって本当に効果があるの?

さて、Hyper-V 3.0でVT-dの有無でどれくらいパフォーマンスが変わるのでしょうか。

VT-dといえば、仮想マシンから物理マシンへのI/Oをハードウェアは支援することによってパフォーマンスの向上を目指しているのだと考えます。

 

その効果を確かめるとすれば、VT-dのON/OFFを切り替えて、仮想マシン上でベンチマークを走らせてみて違いを確認するのが手っ取り早いと考えます。

 

そこで、Windows 8にHyper-Vをインストールして仮想環境にWindowsを載せ、その上でベンチマークを実施することにします。

 

CPUはCore i7 3770、マザーはDQ77MKとして、ほかのパーツはこんな感じにしました。

 



 

今回の検証では、VT-dに的を絞ることにしました。理由としては、①VT-xは最近のインテルのCPUではほとんど搭載されていて、昨日の有無による差が少ないと思われること、②VT-dは上位のCPUに限られいることから、ある程度の性能差が予想されること。③VT-xがないと、そもそも仮想化できないことです。

 

そんなVT-dを利用することによるメリットのある環境とはどんな環境なのかを探っていくことにしました。

 

最初は、ぱっとやれば出来る、と思っていたのですが大間違い。テストをしては思うような結果にならない連続です。実験として考えたものの失敗した歴史を振り返ります。

 

 

前段:Windows8編

 

・VT-dのサポートはHyper-Vに関しては3.0から対応

・Windows8にはクライアントHyper-Vがある

 

以上のことからWindows8上にHyper-Vをインストールしてテストを開始しました。しかし、テストの途中で「クライアントHyper-VはVT-dに非対応」といった記事を見かけます。

 

そこで、ホストOSを急きょWindows8からWindows Server 2012に変更することにします。

Windows Serve 2012ではHyper-Vは自動でインストールされません。

そのため、Serverインストール後に手動でインストールします。手順は簡単です。

 

1.サーバーマネージャを開きます。

 

2.役割の追加を選択します。するとウィザードが立ち上がります。

 

 

あとはデフォルトの設定のまま次へをクリックしていき、インストールする役割の選択画面でHyper-Vを選択するだけです。(写真はインストール後にとったもの)

 

 

 

Hyper-Vインストール後はHyper-Vマネージャから仮想マシンを作成します。今回作成した仮想マシンはすべてWindows 8 Proになります。

 

 

Hyper-Vマネージャの操作画面で新規仮想マシンを選択します。基本的にデフォルトの設定でいいはずでが、メモリの割り当ては今回のテストでは4096MBとしています。

 

インストールしただけだと、ネットワークが使えません。Hyper-Vマネージャから仮想スイッチマネージャを起動して仮想スイッチを作成します。作成する種類は外部スイッチになります。

(※最後のテストでは、外部スイッチは関係ない気もしますが・・・・)

 

 

 

Q1)仮想マシ上でディスクアクセスの速さの改善があるのか?

VT-dは仮想化の際のI/Oの機能の支援のようなので、I/Oに効果があるのか試します。仮想マシン上でCrystalDiskMarkを実行します。

 

A1)ない。結果としてはVT-dのON/OFFによる差は生じません。テスト対象がHDDであることもあって、そもそも支援しなきゃならないほどのI/Oではないようです。むしろ、VT-d OFFのときのほうが性能が良かった気がしました。

 

左がVT-d OFFで右がVT-d ONのときの結果

 

 

Q2)だったらネットワーク経由のI/Oには差があるのか?

Disk I/OよりもネットワークのI/Oのほうが効果があるのではないかと考えてQ1での実験をネットワーク経由にして試すことにしました。もう1台PCを用意して、そいつのドライブをネットワーク共有ドライブとしてからベンチマークをかけてみます。

 

A2)やっぱりない。そもそも、HDDの共有ドライブが対象だと、ネットワークの帯域よりも読み書きの速度のほうが遅いため、差が出なかったものと思われます。

左がVT-d OFF、右がVT-d ONのときの結果。

 

Q3)だったらラムディスクにしてみたら差が出るのでしょうか?

共有先がHDDだと遅いのでラムディスクを作成して、Q2と同様にテストしてみます。

 

A3)やっぱり差が出ません。

ディスクのアクセス速度が向上することによってネットワークも帯域はほぼ使い切ることになりました。しかし、VT-dのON/OFFで有意な差は出ませんでした。

 

VT-d OFFのときの結果

 

 

 

VT-d ONのときの結果

 

 

ここまできて、不安になります。VT-dの有無で性能差が出ないのは、何か根本的に勘違いをしているのではないか。しばらく考えてから別のテストを考えます。考えついたのは下記のテストです。

 

Q4)ホストOSにラムディスクを載せて、仮想スイッチ経由で仮想OS側からホストOS側のラムディスクをマウントしてCrystalDiskMarkをとる

A4)やっぱり差が出ません。

 

ここで考えます。仮想マシンとホストOSだとあまりメリットがないのではないのか?

そもそも仮想化支援だから、複数の仮想マシン間でデータのI/Oがあるべきなのではないのか。そこで、ようやく下記のテストにたどり着きました。

 

Q5)1台のホストOS上に2台の仮想マシンを作成し、片方の仮想マシンにラムディスクを作成し、もう片方の仮想マシンから仮想スイッチ経由でマウントしてCrystalDiskMarkをとる。

A5)有意な差が出ました。とくにシーケンシャルアクセスで30%近い差となります。

 

 

VT-dが有効なときのベンチマーク結果

 

VT-dが無効の時のベンチマーク結果

 

やっていることを考えてみると、双方の仮想マシン上のメモリの読み書きを大量に行う処理です。今までのテストでは、負荷をかけたと言ってもネットワークの帯域止まり。仮想マシン間での処理とは不可が大きく異なるからではないかと考えています。

 

結果としては、複数の仮想マシン感でのデータのやりとりが多いような使い方ではVT-dを利用することでパフォーマンスが大きく改善されることがわかりました。

 

テストの初期ではなかなかWindows系では差が見えてこず、対応していないのかと考えてしまっていましたが、最後の結果を見て、Windowsでも効果があると同時に、ネットワーク周りはVT-dの有無とはあまり関係なく、最適化されているのかと思いました。

 

 

 

 

 

TEAM REVIEW
5人1組のチームで計30人がレビュー