macOS 10.12.6 ~ 10.13.2を搭載したMeltdown脆弱性前後のMacBook Pro (13-inch Retina Early 2015)ベンチマークです。詳細は以下から。
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“、
現在のところ、GeekbenchやJavaScriptベンチマークなどに与える影響は限定的であると発表していますが、その後IntelやMicrosoft、4Gamer、ImpressさんなどがWindows/Linux環境でパッチ適用前後のベンチマークを行い面白い結果が出ていたので、以前のベンチマークに続いて比較的新しい環境で再度ベンチマークを行ってみました。
利用したMacはMacBook Pro (13-inch Retina Early 2015)のエントリーモデルで、複数のmacOSを利用する関係上 SSDの容量が厳しかったのでトランセンドの「JetDrive 820」240GBモデルを購入し換装してあります。
スペック | 注釈 | |
---|---|---|
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さんのコメント通り、
I’m diving into Geekbench results for macOS and iOS to determine the effect of the Meltdown workaround on performance. I’ll have complete results on Monday, but so far it looks like the impact is negligible.
— John Poole (@jfpoole) 2018年1月5日
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 のパフォーマンスには測定可能な低下が見られませんでした。
Meltdown緩和策を講じたmacOS 10.13.2より前のスコアとほぼ同じで、これはmacOS High Sierraがサポートしている最も古いMac mini (Mid 2011)でも同様の結果でした。
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)
Pipe/System Call
次にCPUのプロセス間でパイプ処理を繰り返す“Pipe Throughput”や“Pipe-based Context Switching”、プロセスIDを返すgetpidを繰り返す“System Call Overhead”のスコアですが、こちらのスコアは事前の情報通り30~50%程度のスコアが低下しています。(Larger is Better)
AmorphousDiskMark
最後に、Impress(AKIBA PC Hotline!)さんでパフォーマンスの低下が大きく、「ストレージ系ベンチマークテストについては、2018年1月を境にスコアの一貫性が損なわれていることを覚えておいて頂きたい。」とコメントされていたSSDストレージのベンチマークですが、MacではKatsura Sharewareが移植した「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緩和策の影響がほぼ分からなくなっています。
まとめ
以上のベンチマークをまとめると、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脆弱性によるパフォーマンスの問題があやふやになっているという指摘もあるようです。
関連リンク
- Firmware Updates and Initial Performance Data for Data Center Systems
- Understanding the performance impact of Spectre and Meltdown mitigations on Windows Systems – Microsoft Secure
- CPU脆弱性Meltdownのパッチ適用でベンチマークスコアが25%低下した – Qiita
- 「CPUの脆弱性」対策パッチで,ゲーム性能はどれだけ低下するのか。Intel製CPUを使って取り急ぎ現状を確認してみた – 4Gamer.net
- CPUの脆弱性対策パッチでSSDのランダムアクセスが大幅減速?影響をチェックしてみた – AKIBA PC Hotline!
コメント
Meltdown脆弱性問題が霞むくらいOSのバグやらAPFSの完成度の低さが問題なApple。
ごもっともです。