macOS 10.12.6 ~ 10.13.2を搭載したMeltdown脆弱性前後のMacBook Pro (13-inch Retina Early 2015)ベンチマーク。

スポンサーリンク

 macOS 10.12.6 ~ 10.13.2を搭載したMeltdown脆弱性前後のMacBook Pro (13-inch Retina Early 2015)ベンチマークです。詳細は以下から。

Meltdownのロゴ

 GoogleのProject Zeroチームが現地時間2018年01月03日に公開したIntelやAMD, ARMなどのプロセッサを利用したデバイスでシステムメモリ上からパスワードや暗号鍵などを読み取ることが出来る脆弱性「Meltdown」および「Spectre」を緩和するため、Appleは現在iOS 11.2およびmacOS 10.13.2でMeltdown脆弱性の緩和策を講じ、その後Spectre脆弱性についてもSafari v11.0.2

ARM ベースおよび Intel CPU の投機的実行の脆弱性について

現在のところ、GeekbenchやJavaScriptベンチマークなどに与える影響は限定的であると発表していますが、その後IntelMicrosoft4GamerImpressさんなどがWindows/Linux環境でパッチ適用前後のベンチマークを行い面白い結果が出ていたので、以前のベンチマークに続いて比較的新しい環境で再度ベンチマークを行ってみました。

Firmware Updates and Initial Performance Data for Data Center Systems

 利用したMacはMacBook Pro (13-inch Retina Early 2015)のエントリーモデルで、複数のmacOSを利用する関係上 SSDの容量が厳しかったのでトランセンドのJetDrive 820240GBモデルを購入し換装してあります。

スペック 注釈
Model MacBook Pro (13-inch Retina Early 2015) MacBookPro12,1 (A1502)
CPU Intel Core i5 2.7 GHz Broadwell (i5-5257U)
メモリ 8GB 1866 MHz PC3-14900 LPDDR3 SDRAM
GPU Intel Iris 6100 Graphics 共有メモリ
SSD JetDrive 820 SSD 240GBモデル TS240GJDM820

スポンサーリンク

Geekbenchベンチマーク

 クロスプラットフォームに対応し、AESやSQLite、HTML5 Parse/DOM、LLVM、SFFTなどのテストにより、システムのスコアを出すGeekbenchのベンチマークスコアについては、Appleの声明や開発者のJohn Pooleさんのコメント通り、

Meltdown
Meltdown は、CVE-2017-5754 (「rogue data cache load」) として知られる脆弱性に付けられた名称です。Meltdown が悪用されると、ユーザプロセスからカーネルメモリが読み取られる可能性があります。Apple の解析によれば、この脆弱性は悪用される可能性が最も高いことが判明しています。Apple では、iOS 11.2、macOS 10.13.2、tvOS 11.2 において Meltdown の影響緩和策をすでにリリースしています。watchOS には影響緩和策は必要ありません。公開ベンチマークを使った当社の検証では、GeekBench 4 ベンチマークや一般的な Web ブラウジングベンチマーク (Speedometer、JetStream、ARES-6 など) による測定では、2017 年 12 月のアップデートにおける修正後の macOS および iOS のパフォーマンスには測定可能な低下が見られませんでした。

ARM ベースおよび Intel CPU の投機的実行の脆弱性について – Apple サポート

Meltdown緩和策を講じたmacOS 10.13.2より前のスコアとほぼ同じで、これはmacOS High Sierraがサポートしている最も古いMac mini (Mid 2011)でも同様の結果でした。

Meltdownパッチ適用前後のGeekbenchスコア

UnixBench

 次に一般的なCPU性能からシステムコールの繰り返し、ディスクI/O、Shell Script処理の性能までを測定してくれるUnixBenchを使用したベンチマークスコアでは以下の通り、macOS 10.12.6 Sierraが最もスコアがよく、Meltdown緩和策が講じられたmacOS 10.13.2ではIndex Scoreが10.12.6の67%程のまで落ち込んでいますが、

Index Score macOS 10.12.6
Build 16G1114
macOS 10.13
Build 17A405
macOS 10.13.1
Build 17B1003
macOS 10.13.2
Build 17C205
1CPU 869.1 678.0 667.3 548.2
4CPU 1848.2 1254.5 1252.1 1243.6
Link Gist Gist Gist Gist

UnixBenchの各テストごとのスコアをMeltdown緩和策が行われていないSierraおよびHigh Sierraのバージョンを基準にSierra比(macOS 10.13.2/macOS 10.12.6)High SierraのMeltdownパッチ前後比(macOS 10.13.2/macOS 10.13)として、緩和策後のmacOS 10.13.2と比較して見てみると、以下のテストがMeltdownの影響を大きく受けていることがわかります。

Test macOS 10.12.6 (Build 16G1114) macOS 10.13 (Build 17A405) macOS 10.13.1 (Build 17B1003) macOS 10.13.2 (Build 17C205) macOS 10.13.2/macOS 10.12.6 macOS 10.13.2/macOS 10.13 Unit
Dhrystone 2 using register variables 77408321.7 77686376.9 77745674.0 76000290.4 98.18% 97.83% lps
Double-Precision Whetstone 25192.7 25208.6 25208.4 25212.0 100.08% 100.01% MWIPS
Execl Throughput 1685.7 1359.3 1368.8 1249.8 74.14% 91.94% lps
File Copy 1024 bufsize 2000 maxblocks 1175735.2 257020.8 269881.1 496271.9 42.21% 193.09% KBps
File Copy 256 bufsize 500 maxblocks 327654.8 65166.8 67820.2 143825.1 43.90% 220.70% KBps
File Copy 4096 bufsize 8000 maxblocks 3027618.3 949676.3 973831.7 1528547.6 50.49% 160.95% KBps
Pipe Throughput 2655269.6 2625888.8 2533963.8 1560801.2 58.78% 59.44% lps
Pipe-based Context Switching 581894.0 542179.1 526894.5 404460.7 69.51% 74.60% lps
Process Creation 5409.3 5101.5 5129.5 4259.5 78.74% 83.50% lps
Shell Scripts (1 concurrent) 6101.4 5945.8 5594.9 5289.0 86.69% 88.95% lpm
Shell Scripts (8 concurrent) 831.6 822.5 813.5 770.5 92.65% 93.68% lpm
System Call Overhead 2452298.6 2535282.6 2501278.5 1199289.9 48.90% 47.30% lps

File Copy

 まず目につくのがスコアの増減が激しい“File Copy”のテストスコアですが、これに関してはSSDを搭載したMacはmacOS 10.12.6はHFS+ですが、macOS 10.13.xに関してはアップグレード時にstartosinstallプロセスが自動的にAPFSへ変換するため、Meltdownパッチが適用されたmacOS 10.13.2でも10.12.6よりは悪いものの、リリース時から不具合が続いていたAPFS(apfs.efi)のアップデートによりmacOS 10.13.0/1と比較してスコアが160~220%改善しています。(Larger is Better)

UnixBenchのCopy File

macOS 10.13.2でもAPFS暗号化ボリュームやNFS/FAT32など他のフォーマットとの互換性に関して不具合があり、引き続きFusion Driveは非サポートとなっているので、APFSに関しては今後さらに改善されると思われます。

Pipe/System Call

 次にCPUのプロセス間でパイプ処理を繰り返す“Pipe Throughput”“Pipe-based Context Switching”、プロセスIDを返すgetpidを繰り返す“System Call Overhead”のスコアですが、こちらのスコアは事前の情報通り30~50%程度のスコアが低下しています。(Larger is Better)

Meltdownパッチ前後のSystem Call OverheadとPip処理のスコア

AmorphousDiskMark

 最後に、Impress(AKIBA PC Hotline!)さんでパフォーマンスの低下が大きく、「ストレージ系ベンチマークテストについては、2018年1月を境にスコアの一貫性が損なわれていることを覚えておいて頂きたい。」とコメントされていたSSDストレージのベンチマークですが、MacではKatsura Sharewareが移植したAmorphousDiskMarkを利用し、同様のベンチマークを行ってみました。

Meltdownパッチ適用前後のAmorphousDiskMarkスコア

 結果は以下の通りで、macOS 10.12.6 Sierraのスコアを基準(100%)としてグラフ化するとUnixBenchの“File Copy”テスト同様に、初期のAPFS(macOS 10.13)のスコアはmacOS 10.12.6のHFS+と比較して4K QD32(Native Command Queuing) ReadやSeq Writeなどいくつかのテストでスコアを落としていますが、macOS 10.13.2までに大幅に改善され、Meltdown緩和策の影響がほぼ分からなくなっています。

AmorphousDiskMarkを用いたMeltdownパッチ適用前後のベンチマーク

まとめ

 以上のベンチマークをまとめると、macOS 10.13.2でMeltdownの緩和策として導入されたDuble MapはMacの一部性能に影響を与えていますが、パイプ処理やシステムコールなど影響は限定的で、ストレージについてはMeltdown緩和策よりもHFS+/APFSファイルフォーマットとHigh Sierraのバージョンに大きく影響されるので、今後Macのストレージベンチマークを見るさいはmacOSのバージョンを確認し、ベンチマークを掲載する方はそれを記載することをお勧めします。

  • GeekbenchではMeltdown緩和策の影響はほぼ見られない。
  • UnixBenchのPipe/System Callスコアを見る限りでは、MacもMeltdown緩和策の影響を受ける。
  • ストレージについてはMeltdown緩和策の影響よりもファイルシステム(HFS+/APFS)の影響が大きい。

*MacではmacOSとファイルフォーマット、iOSではバッテリーの劣化によるパフォーマンス問題で、AppleのプロダクトはMeltdown/Spectre脆弱性によるパフォーマンスの問題があやふやになっているという指摘もあるようです。

JetDrive 820

TranscendのJetDrive 820のレビューは時間があれば書きます。

コメント

  1. 匿名 より:

    Meltdown脆弱性問題が霞むくらいOSのバグやらAPFSの完成度の低さが問題なApple。