コンピューター好きのブログ

主にコンピューター・ラズパイと電子工作・オーディオ関連の記事を書いています。

KVMにおけるVT-dの効果を検証してみました

KVMで仮想マシンを動かすとき、Intel CPUの場合、仮想化支援機能VT-xは必須です。

一方、I/O処理の仮想化を支援するVT-dは必須ではありません。

 

VT-dの有無が性能に影響するのか気になったため、検証してみることにしました。

 

 

検証方法

ホストPC(NEC VersaPro VB-G)は、BIOSでVT-dを有効/無効を切り替えられます。

そこで、VT-dが有効なパターン、無効なパターンのそれぞれにおいて、ゲストOSのWindows 10でWindowsエクスペリエンスインデックスCrystalDiskMarkによるディスク性能を測定し、比較してみました。

WindowsエクスペリエンスインデックスとCrystalDiskMarkの両方とも、数回測定して得られた安定値を採用しました。

なお、VT-dを有効にしたときは、grubのカーネル起動オプションに intel_iommu=on を追加し、dmesgに以下の出力があることを確認しました。

[ 0.000000] DMAR: IOMMU enabled

 

 ホストPCのスペックは以下です

CPU:Core i5-3340M

メモリ:DDR3-12800 4GB

ドライブ:2.5インチHDD WDC WD3200LPVT

OS:Ubuntu 18.04 LTS

 

検証結果

Windowsエクスぺリエンスインデックス

下記の通り、全く同じ測定値となりました。

VT-d有効

CPUScore : 8.6
D3DScore : 9.9
DiskScore : 5.9
GraphicsScore : 2.9
MemoryScore : 5.5
TimeTaken : MostRecentAssessment
WinSATAssessmentState : 1
WinSPRLevel : 2.9
PSComputerName :

VT-d無効

CPUScore : 8.6
D3DScore : 9.9
DiskScore : 5.9
GraphicsScore : 2.9
MemoryScore : 5.5
TimeTaken : MostRecentAssessment
WinSATAssessmentState : 1
WinSPRLevel : 2.9
PSComputerName :

 

CrystalDiskMark

測定には、CrystalDiskMark 6.0.1 x64 を使用しました。VT-dが無効の方が性能が良いように見えます。

VT-d有効

* MB/s = 1,000,000 bytes/s [SATA/600 = 600,000,000 bytes/s]
* KB = 1000 bytes, KiB = 1024 bytes

Sequential Read (Q= 32,T= 1) : 697.787 MB/s
Sequential Write (Q= 32,T= 1) : 102.366 MB/s
Random Read 4KiB (Q= 8,T= 8) : 24.353 MB/s [ 5945.6 IOPS]
Random Write 4KiB (Q= 8,T= 8) : 23.781 MB/s [ 5805.9 IOPS]
Random Read 4KiB (Q= 32,T= 1) : 24.173 MB/s [ 5901.6 IOPS]
Random Write 4KiB (Q= 32,T= 1) : 23.674 MB/s [ 5779.8 IOPS]
Random Read 4KiB (Q= 1,T= 1) : 20.841 MB/s [ 5088.1 IOPS]
Random Write 4KiB (Q= 1,T= 1) : 20.383 MB/s [ 4976.3 IOPS]

Test : 1024 MiB [C: 60.4% (38.1/63.0 GiB)] (x5) [Interval=5 sec]
Date : 2018/10/22 22:20:26
OS : Windows 10 Professional [10.0 Build 17134] (x64)

 

VT-d無効

* MB/s = 1,000,000 bytes/s [SATA/600 = 600,000,000 bytes/s]
* KB = 1000 bytes, KiB = 1024 bytes

Sequential Read (Q= 32,T= 1) : 737.491 MB/s
Sequential Write (Q= 32,T= 1) : 106.258 MB/s
Random Read 4KiB (Q= 8,T= 8) : 24.829 MB/s [ 6061.8 IOPS]
Random Write 4KiB (Q= 8,T= 8) : 24.156 MB/s [ 5897.5 IOPS]
Random Read 4KiB (Q= 32,T= 1) : 25.629 MB/s [ 6257.1 IOPS]
Random Write 4KiB (Q= 32,T= 1) : 24.529 MB/s [ 5988.5 IOPS]
Random Read 4KiB (Q= 1,T= 1) : 22.195 MB/s [ 5418.7 IOPS]
Random Write 4KiB (Q= 1,T= 1) : 19.937 MB/s [ 4867.4 IOPS]

Test : 1024 MiB [C: 60.1% (37.9/63.0 GiB)] (x5) [Interval=5 sec]
Date : 2018/10/22 23:32:01
OS : Windows 10 Professional [10.0 Build 17134] (x64)

 

考察

Windowsエクスペリエンスインデックスは、VT-dの有効・無効で差はありませんでした。CrystalDiskMarkは、予想に反してVT-d無効時の方が少し性能が良い結果となりました。KVMの場合、VT-dを有効にしてもディスク性能が良くなることはないのかもしれません。

 

(c) 2018 toomath