macOS 10.13.1とMeltdownパッチが一部確認されたmacOS 10.13.2を搭載したMac mini (Mid 2010)の比較ベンチマークです。詳細は以下から。
GoogleのProject Zeroチームは現地時間2018年01月03日、 IntelやAMD, ARMなどのプロセッサを利用したデバイスでシステムメモリ上からパスワードや暗号鍵などを読み取ることが出来る脆弱性「Meltdown」および「Spectre」があることを確認し、完全な情報公開(2018年1月9日)前に一部の情報を公開しましたが、
For example, an unauthorized party may read sensitive information in the system’s memory such as passwords, encryption keys, or sensitive information open in applications. Testing also showed that an attack running on one virtual machine was able to access the physical memory of the host machine, and through that, gain read-access to the memory of a different virtual machine on the same host.
These vulnerabilities affect many CPUs, including those from AMD, ARM, and Intel, as well as the devices and operating systems running on them.Google Online Security Blog: Today’s CPU vulnerability: what you need to know – Google Security Blog
LinuxカーネルではMeltdownを防止するためKAISERをベースにしたパッチKPTI(Kernel page-table isolation)が導入された事でI/Oなど一部のパフォーマンスが5%から最大30%低下したという報告(Phoronix/Reddit)がされており、MicrosoftもMeltdown脆弱性を修正すると多少パフォーマンスに影響があるとコメントしていますが、
これらの対策を有効にするとパフォーマンスに影響があります。実際のパフォーマンスへの影響は、物理ホストで実行されている作業負荷の特定のチップセットなど複数の要因によって異なります。マイクロソフトでは、お客様が環境のパフォーマンスに与える影響を評価し、必要な調整を必要な場合をお勧めします。
投機実行サイド チャネルの脆弱性から保護するために Windows サーバーのガイダンス – Microsoft
Appleで組込みシステムエンジニアをしていたAlex IonescuさんがmacOS 10.13.xをリバースエンジニアリングしたところ、AppleはmacOS 10.13.2で”Double Map”を採用しており、macOS 10.13.3では追加修正がされるだろうとコメントしていたので、macOS 10.13.1と10.13.2のパフォーマンスを比較するためにベンチマークを行ってみました。
The question on everyone's minds: Does MacOS fix the Intel #KPTI Issue? Why yes, yes it does. Say hello to the "Double Map" since 10.13.2 — and with some surprises in 10.13.3 (under Developer NDA so can't talk/show you). cc @i0n1c @s1guza @patrickwardle pic.twitter.com/S1YJ9tMS63
— Alex Ionescu (@aionescu) 2018年1月3日
ベンチマーク
ベンチマークにはPCID(Process-Context Identifiers)をサポートしておらず、影響が大きいと思われる「Intel Core 2 Duo (P8600)」搭載のMac mini (Mid 2011)を利用し、ストレージはCrucial MX300 SSD(525GB)へ換装してあります。
Agreed, I don't think the Windows fix is slower than the Mac fix on equivalent hardware. There's just a larger number of older PCs than older Macs, just due to upgrade cycles and such.
— Alex Ionescu (@aionescu) 2018年1月3日
Disk
ストレージベンチマークでは、High Sierra初期のAPFSで発生していたパフォーマンスなどの不具合がmacOS 10.13.2で修正されたのが幸い(?)したのか、4K Writeスコア以外でmacOS 10.13.2が勝っており、Meltdownパッチの影響はわからない状態です。
コメントを頂いた通り、hdiutilとdiskutilコマンドを用いてAPFSフォーマットのRAM Diskを作成し同じくAmorphousDiskMarkでベンチマークを行ってみましたが、
hdiutil attach -nomount ram://2097152 diskutil eraseDisk APFS "ramdisk" /dev/diskX
こちらもmacOS 10.13.2前後で確認できたのは数%程度でしたので、時間が出来たらもう少しケースを絞って試してみます。
CPU
また、Geekbenchを利用したCPUベンチマークについても最大3%程度しかスコア[1, 2]の低下が見られていないので、macOS 10.13.1から10.13.2へアップグレードされたユーザーの方はMeltdownによるパフォーマンスの低下は古いMacでも通常利用している限り認識できない程度だと思われますが、
AppleがmacOS 10.13.3でMeltdownおよびSpectreのパッチを追加した場合や、Redditに投稿されているようにシステムコール(GETPID)を多用する場合やPostgreSQLなどでは影響が現れているようなので、場合によっては今後対策が必要になるかもしれません。
追記
Appleが同社のデバイスやOS、Safariへの「Meltdown」および「Spectre」対策を既に講じている、または数日以内に提供すると発表しています。また、この対策後に確認できるパフォーマンスの低下はほぼ無いようです。
コメント
遅くまでご苦労様です。
もしまだベンチが可能でしたらRAMベンチも取ってみてください
ttps://twitter.com/ciel11/status/948917808074711040
サンクス。
それほどでもなさそうですね。今のところ安心しました。
Meltdown 対策後の方がR/Wが速くなるなんてAPFSていま一体どうなってるの…
AppleはMeltdownパッチまで計算してAPFSを開発してたてことか(;゚д゚)ゴクリ…
こんな時期にimac proを買ってしまった人が不憫でならない。
羨望の目で見られた一時の栄光が、あっという間に憐憫の目で見られる事になるとは。