Spectre / Meltdown パッチ適用後の性能検証【win7 + Haswell 以前】

Spectre と Meltdown のロゴ画像

今更感が漂う記事ですが…

特に影響が大きいと言われる、「Windows8以前+Haswell世代以前のCPU」の組み合わせでの性能比較はあまり目にしないように思います。

そこで、Windows7+Haswell 世代のCPUという組み合わせで、どれほど性能が低下するのか実際にベンチマークを行ってみました。

Spectre / Meltdown 脆弱性対応パッチと性能低下

Spectre(スペクター) や Meltdown(メルトダウン)は、2018年1月に公開されたCPUに関する脆弱性です。

CPUが古くから持っている高速化機能である「投機的実行」と「アウトオブオーダー実行」の実装上のセキュリティホールを突いた攻撃であるため、世に出回っているCPUの大部分を対象とした脆弱性となり、大きな問題になりました。

脆弱性対応パッチについて

これらの脆弱性を修正するパッチは、ソフトウェア(OSなど)+ハードウェア(BIOSなど)両方のパッチが適用されてはじめてフルに機能します。どちらか片方では限定的な効果しか発揮されません。

性能低下の度合い

これらの脆弱性にパッチを当てるということは、CPU高速化機能周りに修正を加えるということです。その代償として、性能低下が発生すると言われています。

マイクロソフトのセキュリティブログでは、環境によりパッチでどの程度性能低下が発生するのかということが解説されています。

Understanding the performance impact of Spectre and Meltdown mitigations on Windows Systems

ざっくりとまとめると、以下のようになります。

 

環境 性能低下の度合い
Windows 10 + Skylake 世代以降のCPU 小(ほとんどのユーザーは気付かない程度)
Windows 10 + Haswell 世代以前のCPU 中(一定数のユーザーが気付く程度)
Windows 8 以前 + Haswell 世代以前のCPU 大(ほとんどのユーザーが気付く程度)
Windows Server + すべてのCPU 大(I/Oの多いアプリケーションでは特に顕著)

 

Broadwell 世代のCPUについて触れられていませんが、おそらく「小」と「中」のグループに属すると思われます。

Windows 7 + Haswell 世代CPUでのベンチマーク比較

前節で説明した通り、特にパフォーマンスの低下が予想される条件に合致する、Windows 7とHaswell世代のCPUの組み合わせで、脆弱性対応パッチを適用する前と後でどの程度パフォーマンスが低下するのか調べてみました。

検証環境

3~4年前で時が止まっているようなスペックのPCですが、今回の検証にはちょうど良いかと思われます。

なお、Windows側の脆弱性修正パッチはパッチ前・パッチ後環境共に適用済みです。(OS側のパッチ適用前と適用後にCinebenchの比較を行いましたが、スコアに有意差は見られませんでした)

 

OS Windows 7 Professional 64ビット版
CPU Intel Core i7-5930K(Haswell-E)定格
マザーボード ASUS X99-A
メモリ Crucial BLS4KG4D240FSA 4GB × 4(DDR4-2400, 16GB)
ストレージ Crucial CT256M550SSD1(SATA 6GB/s, 256GB)
GPU ASUS STRIX-GTX980-DC2OC-4GD5 (Geforce GTX980, GDDR5 4GB)
電源 Corsair AX860i
BIOS バージョン 3801(パッチ前)→ 3902(パッチ後)
電源プラン(OS) 高パフォーマンス

ベンチマーク比較

Cinebench R15

CInebench R15 は、CPU・GPUの性能を測る代表的なベンチマークソフトです。

それぞれ3回実行した結果の平均値をとりました。

Cinebench のCPUスコアグラフCinebench のCPU (Single)スコアグラフCinebench のOpenGLスコアグラフ

テスト項目 パッチ適用前 パッチ適用後 性能比
CPU 1060.3 963.6 90.9%
CPU (Single) 142.6 143.0 100.3%
OpenGL 146.4 142.3 97.2%

注目すべきはマルチスレッド性能を測る、CPUのスコアです。パッチ適用前と比較して、適用後は約9割の性能しか出ていません。

これを見る限り、確かにマルチスレッド性能において「ほとんどのユーザーが気付く程度」の性能低下が見られました

シングルスレッド性能は変化なしでした。

PCMark 10

PCMark 10 は、PCの総合的な性能を測るベンチマークソフトです。

それぞれ2回実行した結果のうち、スコアの良いほうをとりました。

PCMark 10 のスコアグラフ

パッチ適用前 4738
パッチ適用後 4591
性能比 96.9%

全体では約3%の性能低下がみられました。

ベンチマーク結果の詳細をみると、Photo Editing Score(画像編集ソフトのパフォーマンス)のスコアがパッチ適用後に最も低下しており、12%の低下がみられました。

その一方で、Writing(word互換ソフトのパフォーマンス)のスコアはすべてのテスト項目のなかで最も変化が少なく、逆に1%ほど高くなっていました。

これらのテスト項目や、その他のテスト項目の性能比をみる限り、やはりマルチスレッドで処理が行われるものほど性能低下が大きいように思えます。

3DMark

3DMark は、3Dグラフィック性能を測るベンチマークソフトです

それぞれ2回実行した結果のうち、スコアの良いほうをとりました。

3DMark のスコアグラフ

テスト項目 パッチ適用前 パッチ適用後 性能比
Fire Strike 11878 11737 98.8%
Fire Strike Ultra 3159 3215 101.8%

Fire Strike はFull HDの3D性能を、Fire Strike Ultra は4Kの3D性能を測るテスト項目です。

どちらも性能比は誤差程度のものとなっています。

まとめ

今回のベンチマーク結果を見る限り、Windows 7+Haswell 世代以前のCPUでの、Spectre / Meltdown 対応パッチでは、マルチスレッド性能が有意に低下し(10%程度?)、シングルスレッド性能にはあまり変化がないということが分かりました。

あわせて読みたい

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です