PMPの流儀

我が家の流儀

我が家で気になったことを夫婦で取り上げていきます

MENU

Intel Alder Lake 向けにVMwareを最適化

Intel 12世代 CPU Alder Lake 向けの VMware Workstation Player 最適化を紹介します。対象となるOS は Windows11です。

1. はじめに

Alder Lake では 2種類のコアを搭載した big.LITTLE 方式が採用されました。高性能コア(Pコア)と高効率コア(Eコア)の2種類です。スレッドの状況からこの2つのコアに割り当てることが必要とされます。Windows11はこの割り当てに対応しています。

しかし、VMware Workstation Player 16.2.4 では適切な対応ができておらず、すべてEコア が割り当てられてしまいます。

2. 最適化方法

いくつか対策方法があり、それによりコアの使われ方が変わります。

検証環境

CPU に Core i5 1235U を用います。Pコア2個(スレッド4)、Eコア8個(スレッド8)で、スレッド計 12個の構成です。
仮想マシンに4コアを割りあて、7zipのベンチマークを4スレッドで実行し、どのコアに割り当てられているかみていきます。

2.1 初期状態

初期状態の電源モードは「バランス」です。

Pコアは使われずに、Eコアのみが使われていることがわかります。

7zip ベンチマーク値は 14,419 です。

2.1 電源モード「最適なパフォーマンス」

設定→システム→電源とバッテリの「電源モード」を「最適なパフォーマンス」に設定します。

これにより、Pコアが2個使われています。Core i5 1235Uは コア数は2個のため、のこりはEコアから配分されています。かなりこまめにスレッドが切り替わるのか、Eコアが4個くらい割り当てられているようにも見えます。

7zip ベンチマーク値は 20,892 です。

2.2 すべてPコアに割り当てる

vmx ファイルで、どのコアを使用するか具体的に設定します。Core i5 1235U では、0~3がPコア、4~11がEコアです。

Processor0.use = "TRUE"
Processor1.use = "TRUE"
Processor2.use = "TRUE"
Processor3.use = "TRUE"
Processor4.use = "FALSE"
Processor5.use = "FALSE"
Processor6.use = "FALSE"
Processor7.use = "FALSE"
Processor8.use = "FALSE"
Processor9.use = "FALSE"
Processor10.use = "FALSE"
Processor11.use = "FALSE"

7zip ベンチマーク値は 15,038 です。(バランス設定時)
7zip ベンチマーク値は 20,004 です。(最適なパフォーマンス時)

コアの割り当てで注意点があります。
・コア数の設定とTRUEの個数を一致させること
・Pコア、Eコアを混在させる場合は、電源モードを「最適なパフォーマンス」にしなければなりません。バランスだとEコアしか使われません。

2.3 すべて Eコアに割り当てる

参考に、すべてEコアに割り当てもやっておきましょう。vmxファイルを設定します

Processor0.use = "FALSE"
Processor1.use = "FALSE"
Processor2.use = "FALSE"
Processor3.use = "FALSE"
Processor4.use = "TRUE"
Processor5.use = "TRUE"
Processor6.use = "TRUE"
Processor7.use = "TRUE"
Processor8.use = "FALSE"
Processor9.use = "FALSE"
Processor10.use = "FALSE"
Processor11.use = "FALSE"

7zip ベンチマーク値は 15,796 です。(バランス設定時)
7zip ベンチマーク値は 18,853 です。(最適なパフォーマンス時)

3. まとめ

7zip のベンチマーク結果をまとめると以下になります。

バランス 最適なパフォーマンス
2.1 初期状態 14,419 -
2.1 電源モード「最適なパフォーマンス」 - 20,892
2.3 Pコアのみ 15,038 20,004
2.4 Eコアのみ 15,796 18,853

vmxは変更せずに、電源モードを「最適なパフォーマンス」に変更する方法が性能が高いです。

バランス設定でのPコア、Eコアで逆転現象が起きていますが、1235U はPコアが2個しかないため、SMTにより4スレッドを割り当てているのに対し、Eコアは4コアあるのが効いたようです。

Pコアが潤沢なCPUでは、Pコアのみで構成するのも有効だと思いますので、それぞれの環境で試してみるといいでしょう。

4. 最後に

VMware 社からは Alder Lake に対する公式な見解がいまだ出ていないようです。早く公式対応してくれるといいのですが。

5. 関連記事

pmp-style.hatenablog.com