Intel CPUのMeltdownパッチが一部導入されたmacOS High Sierraの比較ベンチマーク。

スポンサーリンク

 macOS 10.13.1とMeltdownパッチが一部確認されたmacOS 10.13.2を搭載したMac mini (Mid 2010)の比較ベンチマークです。詳細は以下から。

macOS 10.13 High Sierraのインストーラーアイコン。

 GoogleのProject Zeroチームは現地時間2018年01月03日、 IntelやAMD, ARMなどのプロセッサを利用したデバイスでシステムメモリ上からパスワードや暗号鍵などを読み取ることが出来る脆弱性「Meltdown」および「Spectre」があることを確認し、完全な情報公開(2018年1月9日)前に一部の情報を公開しましたが、

Today's CPU vulnerability: what you need to know

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脆弱性を修正すると多少パフォーマンスに影響があるとコメントしていますが、

Meltdown前後でのCompile Bench

これらの対策を有効にするとパフォーマンスに影響があります。実際のパフォーマンスへの影響は、物理ホストで実行されている作業負荷の特定のチップセットなど複数の要因によって異なります。マイクロソフトでは、お客様が環境のパフォーマンスに与える影響を評価し、必要な調整を必要な場合をお勧めします。

投機実行サイド チャネルの脆弱性から保護するために 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のパフォーマンスを比較するためにベンチマークを行ってみました。

スポンサーリンク

ベンチマーク

 ベンチマークにはPCID(Process-Context Identifiers)をサポートしておらず、影響が大きいと思われる「Intel Core 2 Duo (P8600)」搭載のMac mini (Mid 2011)を利用し、ストレージはCrucial MX300 SSD(525GB)へ換装してあります。

Disk

 ストレージベンチマークでは、High Sierra初期のAPFSで発生していたパフォーマンスなどの不具合がmacOS 10.13.2で修正されたのが幸い(?)したのか、4K Writeスコア以外でmacOS 10.13.2が勝っており、Meltdownパッチの影響はわからない状態です。

macOS 10.13.1とmacOS 10.13.2のAPFSベンチマーク

Mac版CrystalDiskMarkの「AmorphousDiskMark」を利用し、テストサイズは500MiB、試行回数は5回。*4K WriteのスコアがMeltdownの影響を受けているならば通常利用でも影響が出てくると思われます。

 コメントを頂いた通り、hdiutilとdiskutilコマンドを用いてAPFSフォーマットのRAM Diskを作成し同じくAmorphousDiskMarkでベンチマークを行ってみましたが、

macOS 10.13.2でRAMDISKを作成しAPFSフォーマットで測定

hdiutil attach -nomount ram://2097152
diskutil eraseDisk APFS "ramdisk" /dev/diskX

こちらもmacOS 10.13.2前後で確認できたのは数%程度でしたので、時間が出来たらもう少しケースを絞って試してみます。

Meltdown benchmark

CPU

 また、Geekbenchを利用したCPUベンチマークについても最大3%程度しかスコア[1, 2]の低下が見られていないので、macOS 10.13.1から10.13.2へアップグレードされたユーザーの方はMeltdownによるパフォーマンスの低下は古いMacでも通常利用している限り認識できない程度だと思われますが、

macOS 10.13.1とmacOS 10.13.2のGeekbenchベンチマークスコア

AppleがmacOS 10.13.3でMeltdownおよびSpectreのパッチを追加した場合や、Redditに投稿されているようにシステムコール(GETPID)を多用する場合やPostgreSQLなどでは影響が現れているようなので、場合によっては今後対策が必要になるかもしれません。

追記

 Appleが同社のデバイスやOS、Safariへの「Meltdown」および「Spectre」対策を既に講じている、または数日以内に提供すると発表しています。また、この対策後に確認できるパフォーマンスの低下はほぼ無いようです。

MeltdownとSpectreについてのAppleの対策

コメント

  1. 匿名 より:

    遅くまでご苦労様です。
    もしまだベンチが可能でしたらRAMベンチも取ってみてください
    ttps://twitter.com/ciel11/status/948917808074711040

  2. 匿名 より:

    サンクス。
    それほどでもなさそうですね。今のところ安心しました。

  3. 匿名 より:

    Meltdown 対策後の方がR/Wが速くなるなんてAPFSていま一体どうなってるの…

    • 匿名 より:

      AppleはMeltdownパッチまで計算してAPFSを開発してたてことか(;゚д゚)ゴクリ…

  4. 匿名 より:

    こんな時期にimac proを買ってしまった人が不憫でならない。

    羨望の目で見られた一時の栄光が、あっという間に憐憫の目で見られる事になるとは。