Hyper-Threadingテクノロジーを無効化し、Intel CPUのMDS脆弱性の緩和策を行った前後でのMacのベンチマークスコア。

スポンサーリンク

 Hyper-Threadingテクノロジーを無効化し、Intel CPUのMDS脆弱性の緩和策を行った前後でのMacのベンチマークスコアを調べてみました。詳細は以下から。

MDS脆弱性

 Intelやグラーツ工科大学の研究チームは現地時間2019年05月15日、ユーザー情報が悪意のある攻撃者により取得される可能性があるIntel CPU の投機的実行の脆弱性Microarchitectural Data Sampling (MDS)/ZombieLoadを公開し、Appleはこの脆弱性に対する緩和策をmacOS 10.14.5 MojaveおよびHigh Sierra/Sierra向けのセキュリティアップデート2019-003で講じましたが、

macOS Mojave 10.14.5 includes security updates for Safari, and the option to enable full mitigation, as described below. Security Update 2019-003 High Sierra and Security Update 2019-003 Sierra include the option to enable full mitigation.

Additional mitigations for speculative execution vulnerabilities in Intel CPUs – Apple Support

加えて、Appleはこの脆弱性に対する完全な緩和策を講じるにはHyper-Threading(HT)を無効化する必要があるが、これを行うとマルチスレッド処理のタスクで最大で40%パフォーマンスが低下する可能性があるとして、このオプションをオプトインで提供すると発表していたので、実際にHTを有効/無効化してベンチマークを行ってみました。

MacでIntelのHyper-Threadingを無効化する

Fig.1:HTを無効にしたMacBook Pro (Retina, 13-inch, Early 2015)モデル

スポンサーリンク

HT有効/無効でのベンチマークスコア

 今回、ベンチマークに用いたMacはCPUサイドでMDS脆弱性対策が行われていない第5世代Intel Core (Broadwell)プロセッサ搭載のMacBook Pro (Retina, 13-inch, Early 2015)モデルで、ベンチマークアプリはマルチスレッド処理のベンチマークを含むGeekbenchを3回行い、その平均値をプロットしています。

Hyper-Threading有り無しでのGeekbench

クリックで拡大

 結果は以下の通り、HTを無効にするとInteger/Floating Pointベンチマークでスコアが11~12%低下し、これが全体のスコアを下げているようで、より詳しく見てみるとInteger WorkloadsではLZMA圧縮やPDFレンダリング、LLVMが約18%、JPEG圧縮やOpenStreetMapを用いたダイクストラ(Dijkstra)法のスコアが約25%低下しており、

Hyper-Threading有り無しでのGeekbench

クリックで拡大

Floating Point Workloadsでは3次元でのN体重力シミュレーション(N-Body Physics)やレイトレーシングが約10~15%、Box2D物理エンジンを利用した剛体シミュレーション(Rigid Body)が約20%低下しているため、複数の写真や3Dグラフィックス処理、シミュレーションなどMultithreadを多用する環境ではAppleの言う通りパフォーマンスが最大40%低下するかもしれません。

macOS MojaveでのZombieLoad Attackの修正

 ただ、Appleはこの緩和策をオプトインで提供し、悪意のある攻撃者による攻撃のリスクがあるMacや信頼できないコードを実行する環境にあるMacを利用しているユーザーに推奨するとしているので、多くのユーザーの方はセキュリティアップデートと最新のブラウザ(Safari v12.1.1やFirefox v67など)をインストールし、AppleがMDS対策にアップデートしたsysctlを利用する環境にしておけば問題ないと思われます。