vmug 20230609 DMM回 vnumaのローカルアクセスとリモートアクセスについて

ksotakstyle 5 views 35 slides Sep 24, 2025
Slide 1
Slide 1 of 35
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35

About This Presentation

vmug 20230609 DMM回 vnumaのローカルアクセスとリモートアクセスについて


Slide Content

vNUMAツール
2023/6/9
vmware 曽田 和博

© 2023 VMUG. A ll rights re se rved.
2
自己紹介
•名前:曽田 和博(Kazuhiro Sota)
•所属:VMware, Global Support
•担当製品: vSphere, vSAN, SRM
•経歴:某 SIer でインフラ構築担当後、 Linux サポート担当
2018年から現職
•趣味:バドミントン、カラオケ、ドライブ

© 2023 VMUG. A ll rights re se rved.
3
免責事項
•こちらの発表は私個人の知見に基づいておりますので、
所属している会社や組織とは一切関連性がございません

450 10
th
Circle N., Nashville, TN 37203
NUMA 好きですか?

450 10
th
Circle N., Nashville, TN 37203
NUMA (不均一なメモリアクセス )ってなに?

© 2023 VMUG. A ll rights re se rved.
6
NUMA (不均一なメモリアクセス )とは?
•SMP用の共有メモリアーキテクチャ
•CPU に接続されたメモリで NUMAノードを形成
•直接接続 (local)メモリアクセスは、低遅延、高帯域幅
•他のCPU (remote)のメモリにアクセスすると、
待ち時間が長く、帯域幅のパフォーマンスが低くなる

© 2023 VMUG. A ll rights re se rved.
7
NUMA のローカルアクセスとリモートアクセス
•CPU から見て メモリは距離が異なっている(物理)
出典:
https://www.sqlskills.com/blogs/jonathan/understandin
g-non-uniform-memory-accessarchitectures-numa/ 出典: https://frankdenneman.nl/2016/07/07/numa-deep-
dive-part-1-uma-numa/
Intel Quick-Path Interconnect (QPI)
速い
遅い

© 2023 VMUG. A ll rights re se rved.
8
Sub-NUMA cluster は socket の中で分割
https://www.intel.com/content/www/us/en/developer/articles/technical/xeon -processor-scalable-family-technical-overview.html
速い
速い
速い
遅い?

450 10
th
Circle N., Nashville, TN 37203
本当に遅くなるのかたしかめました

© 2023 VMUG. A ll rights re se rved.
10
メモリの負荷試験 TPでベンチマーク
コードは Chat GPT 先生にお願いしてみます
===== prompt =====
linux システムで numa の負荷試験を行うテストプログラムが必要です。
以下の機能を有しているものとします。
・c 言語で引数にメモリサイズを MB で指定することができ、引数は --mem とします
・負荷試験は指定した回数繰り返すことができ、引数は --loop とします
・メモリアクセスにかかった時間をミリ秒で、かかった時間からメモリ速度を MB/秒で表示します
・繰り返した 1回毎の結果と、最後に平均の時間 (ms/GB)と速度(MB/s)を表示します
・string.h のinclude を忘れないこと

© 2023 VMUG. A ll rights re se rved.
11
できあがり

© 2023 VMUG. A ll rights re se rved.
12
仮想マシンスペック
•Alma linux 8.8 (4.18.0-477.13.1.el8_8.x86_64)
•2 vCPU
•16 GB vram
===== hardware =====
•PowerEdge R640 (実はnest)
•Xeon(R) Silver 4114 CPU @ 2.20GHz (Skylake 10 core 20 thread x2)
•DDR4-2400(PC4-19200) 19.2GB/s

© 2023 VMUG. A ll rights re se rved.
13
TP で負荷をかけてみた – 4gb
[root@alma8 ~]# ./memaccess --mem 4096 --loop 10
メモリサイズ : 4096 MB
ループ回数 : 10
試行1: 時間3399 ms, 速度1233.98 MB/s
試行2: 時間1613 ms, 速度2600.31 MB/s
試行3: 時間1588 ms, 速度2641.25 MB/s
試行4: 時間1605 ms, 速度2613.27 MB/s
試行5: 時間1606 ms, 速度2611.65 MB/s

==========================================
1.平均時間 : 448 ms/GB, 平均速度 : 2462.86 MB/s
2.平均時間 : 444 ms/GB, 平均速度 : 2456.45 MB/s
3.平均時間 : 443 ms/GB, 平均速度 : 2394.56 MB/s
平均 2430 MB/s

© 2023 VMUG. A ll rights re se rved.
14
メモリを増やすとだんだん遅くなってくる ...

© 2023 VMUG. A ll rights re se rved.
15
Local 10gb, remote 6gb になっていた
sched-stats –t numa-clients
esxtop – memory - NRMEM(remote), NLMEM(local)

© 2023 VMUG. A ll rights re se rved.
16
テストパターン 4gb, 8gb のとき
10GB 6GB
16GB
OS
./memaccess
mem 4096
mem 8192
速い

© 2023 VMUG. A ll rights re se rved.
17
テストパターン 12gb のとき
10GB 6GB
16GB
OS
./memaccess
mem 12g
遅くなる

© 2023 VMUG. A ll rights re se rved.
18
ゲストOS からは numa が見えていない
•numactlでみても 16GB が全部 local にみえる
•6GB が remote とか知りようがない
•ゲストOSも NUMA をみたい!

450 10
th
Circle N., Nashville, TN 37203
「答えは、vNUMA。」

© 2023 VMUG. A ll rights re se rved.
20
vNUMA とは?
•NUMA トポロジーを Guest OS に公開する
•NUMA を認識する GuestOS とアプリケーションが、
物理 NUMA アーキテクチャを最も効率的に使用できる
•HWV8(5.0)以上
•vCPU 9以上 + 物理NUMAノードのコア数を越えた時

© 2023 VMUG. A ll rights re se rved.
21
仮想マシン – CPU トポロジ
•vSphere 8.0 の新機能
•仮想マシンオプション から設定可能
•HWV20(8.0) で利用可能
•vSphere 7.0 までは...
•numa.vcpu.min
•numa.autosize.vcpu.maxPerVirtualNode

© 2023 VMUG. A ll rights re se rved.
22
ゲストOS から NUMA が見えるように

© 2023 VMUG. A ll rights re se rved.
23
local アクセス優先で頑張っている様子
.

© 2023 VMUG. A ll rights re se rved.
24
local アクセス優先で頑張ろうとする様子2
.

© 2023 VMUG. A ll rights re se rved.
25
どうやってアカウンティングする?
•ゲストからみる ?
•esxtop ??
•数が多すぎる ・・・

© 2023 VMUG. A ll rights re se rved.
26
NUMA Observer
•https://flings.vmware.com/numa-observer

© 2023 VMUG. A ll rights re se rved.
27
NUMA Observer の起動
•java -jar NUMA-Observer-1.0_latest.jar –sslNoVerify
•https://server_IP:8443

© 2023 VMUG. A ll rights re se rved.
28
NUMA Observer のログイン画面
.

© 2023 VMUG. A ll rights re se rved.
29
vm:alma8 local9.9g, remote 6gb の警告

© 2023 VMUG. A ll rights re se rved.
30
スケジューラが意図的に偏りを発生されることがある
ESXi ホスト上で一部の NUMA ノードが未使用であったり、 NUMA ノード間の移行が発生したりする事象について (2097369)
https://kb.vmware.com/s/article/2097369?lang=ja
•スケジューラは、スケジューリングした複数のコンテキスト間の関連性を考慮し、同一の NUMA ノードに配置することがある
•例:関連性のあるクライアント間で頻繁に通信が行われる場合など
•この動作ポリシーにより、他の NUMA ノード上には少数の仮想マシンしか配置されないという状況が起こりえる
•一見バランスが悪く、好ましくないように見えるが、実際には仕様どおりの動作
•多少のCPU ready が発生したとしても、このポリシーを維持する方が一般的にはパフォーマンスが向上する
•ただし、 CPU の競合が一定以上に高い場合は、同一ノードへの配置を優先するという原則を破り、より負荷の低い
NUMA ノードに退避させるための移行を行うようアルゴリズムが調整されていることに注意する必要がある

© 2023 VMUG. A ll rights re se rved.
31
まとめ
•リモートメモリにアクセスすると、たしかに遅延がある (5-10%程度)
•意識しなくてもできる限りローカルメモリのアクセスになるようにスケジュールされる
•多少の ready を許容してもローカルメモリにプロセスをスケジュールするほうが結果的に速い
•ほとんどのケースでは vNUMA は自動で任せて OK
•モンスター VM などは vNUMA を観察しながら、過剰なリモートメモリアクセスに陥って
いないか観察してみる(同じコアを pin している VM との競合)

© 2023 VMUG. A ll rights re se rved.
32
参考情報
•vmware blog – NUMA
https://blogs.vmware.com/performance/numa
•frankdenneman.nl - NUMA
https://frankdenneman.nl/category/numa/
•VMware vSphere 8 Virtual Topology performance study/technical white paper
https://www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/techpaper/performance/vsphere8 -virtual-topology-perf.pdf
•Decoupling of Cores per Socket from Virtual NUMA Topology in vSphere 6.5
https://frankdenneman.nl/2016/12/12/decoupling-cores-per-socket-virtual-numa-topology-vsphere-6-5/
•Introduction 2016 NUMA Deep Dive Series
https://frankdenneman.nl/2016/07/06/introduction-2016-numa-deep-dive-series/
•NUMA システムとESXi の併用
https://docs.vmware.com/jp/VMware-vSphere/8.0/vsphere-resource-management/GUID -7E0C6311-5B27-408E-8F51-E4F1FC997283.html
•ESXi ホスト上で一部の NUMA ノードが未使用であったり、 NUMA ノード間の移行が発生したりする事象について (2097369)
https://kb.vmware.com/s/article/2097369?lang=ja

© 2023 VMUG. A ll rights re se rved.
33
33
◼コンテンツを増やしておりますので、ご参照をどうぞよろしくおねがいします!
◼トップページ
◼VMware Japan チャンネルの 「テクニカルサポート」プレイリスト
https://www.youtube.com/playlist?list=PLbQKsLLyNHl_cSWKOXIMgmtkAmAXCGl6D
◼VMware Japan Blog の「グローバルサポート」カテゴリ
https://blogs.vmware.com/vmware -japan/support-service/global-support
VMware グローバルサポート Japan の YouTube、 Blog

© 2023 VMUG. A ll rights re se rved.
34
34
>>>お申込みはこちら https://japanevents.vmware.com/seminar/detail/1471
セッション概要
Technical Support Summit 2023 Jun開催のご案内
開催日時: 2023年06月28日(水)15:00-17:20
15:10-16:00 ESXi が「応答なし」になってしまった際の切り分けとトラブルシューティング
稀に発生してしまう ESXi の「応答なし」のステータス。仮想マシンはどうなっているのか?どうすれば復旧させることが出来るのか?
本セッションでは「応答なし」のステータスが発生してしまう原因やメカニズムに触れつつ、 Support Request 発行前にお客様にて
対応可能なトラブルシューティング方法 および確認すべき Pointをご案内させていただき結果、迅速な事象解消に向けたご紹介をさせていただき
ます。
16:10-17:00 NSX-T とNSX Advanced Load Balancer の連携における落とし穴 !!
NSX Advanced Load Balancer(NSX ALB) は100%ソフトウェアベースで開発されたマルチプラットフォーム、マルチクラウド 対応の次世代ロード
バランサです。
本セッションでは NSX-T 環境にNSX ALB に導入する事を検討されている方に向け、連携時の構成例や、注意点などを事例ベースでご紹介させ
ていただきます。 NSX-T 環境にNSX ALB を連携させる事でより高機能なアプリケーションデリバリの機能を実装したいと考えている方に有益な情
報となります。
※各セッション内で 理解度チェックのお時間を設けておりますので、ご参加をお願いいたします。

450 10
th
Circle N., Nashville, TN 37203