numa

どの物理アドレスがどのNUMAノードに属しているかを確認するには?
numa

どの物理アドレスがどのNUMAノードに属しているかを確認するには?

物理アドレスがあり、それが属するNUMAノードを確認したいと思います。 検索中にNUMAノードを確認するいくつかの方法が見つかりました。仮想アドレス(例move_pages:)ですが、実際の住所は含まれていません。おそらく2番目に良い方法は、pagemap物理アドレスを仮想アドレスに逆変換することを確認することです。 ...

Admin

マルチスレッドアプリケーションで使用されるCPUスレッドの理解
numa

マルチスレッドアプリケーションで使用されるCPUスレッドの理解

最近、私はマルチスレッドアプリケーションがCPUコアをどのように使用するかを調べました。以下を使用して、各スレッドがどのコアを使用しているかを確認できます。 例:ceph-osdはマルチスレッドアプリケーションです。 for i in $(pgrep ceph-osd); do ps -mo pid,tid,fname,user,psr -p $i;done 私のCPUには32個のコアと72個のスレッドがあるので、ceph-osdには72個のTID(スレッドID)があります。 PID TID COMMAND USER PSR ...

Admin

カーネルAPI関数を呼び出す前にNUMAを明示的に有効にする必要がありますか?
numa

カーネルAPI関数を呼び出す前にNUMAを明示的に有効にする必要がありますか?

私はC ++アプリケーション(Ubuntuで実行)を単一のソケットから複数のソケットに変換しています。 NUMA認識でメモリ割り当てを変更したいです。 アプリケーションがメモリ割り当てとコア予約のためにC API関数を呼び出す必要があることを知っていますが、NUMAが正しく機能するためには、これを行う前にLinuxカーネル設定を有効にする必要がありますか? たとえば、grubブートコマンドラインなどを変更する必要がありますか? ...

Admin

2つのCPUを持つコンピュータから各CPUのローカルメモリの物理アドレスを取得するにはどうすればよいですか?
numa

2つのCPUを持つコンピュータから各CPUのローカルメモリの物理アドレスを取得するにはどうすればよいですか?

私のコンピュータの仕様は次のとおりです 2 インテル CPU x86_64 合計メモリ8GB(CPUあたり4GB) オペレーティングシステムはRocky Linux 9です。 memmapgrubのパラメータを使用してCPUあたり1 GBのメモリを予約したいと思います。確認しdmesgて/proc/meminfo試してみましたがnumaclt -H。ただし、各CPUのメモリ物理アドレスが見つかりません。 各CPUローカルメモリの物理アドレスを取得するには? ...

Admin

LinuxのNUMA対応キャッシュ
numa

LinuxのNUMA対応キャッシュ

フォローアップの質問ですマルチCPUシステムのdentry/inodeキャッシュ/メモリアロケータの設定しかし、ここでは別の方法で質問を提起したいと思います。 私の問題は、デュアルソケットシステムがあり、カーネルキャッシュ(dentry / inode /バッファ)用のメモリがbank0(cpu0のメモリバンク)から割り当てられ、最終的に消費されることです。ただし、Bank1はキャッシュに使用されないため、システム全体で使用可能なメモリがたくさんあります。したがって、この状態では、メモリアロケータは、自分のプロセスが実行されている場所に関係なく(メモリアフィ...

Admin

LinuxでNUMAを使用するときに「問題」はありますか?
numa

LinuxでNUMAを使用するときに「問題」はありますか?

2ソケットCPUを搭載した新しいシステムがあります。 NUMAシステムを使用すると、プロセッサ0のアプリケーションがプロセッサ1に接続されているメモリにアクセスしようとすると、ボトルネックが発生する可能性があると聞きました。 Linuxカーネルは、NUMAシステムで動作するソフトウェアをどのように処理しますか? 可能であれば、カーネルが(自動的に)すべてのアプリケーションスレッドとメモリを1つのCPUに配置する優先順位を設定しますか? アプリケーションが多くのCPUを使用し、1つのCPUで使用できるコア数よりも多くのスレッドを作成した場合はどうなりますか?...

Admin

プロセスはグローバルCPUAffinity設定を無視します。
numa

プロセスはグローバルCPUAffinity設定を無視します。

グローバルCPUAffinityを設定してこれを実行しています/etc/systemd/system.conf。以下のスニペットをご覧ください。 root@PC1-03:~# cat /etc/systemd/system.conf # This file is part of systemd. # # systemd is free software; you can redistribute it and/or modify it # under the terms of the GNU Lesser General Public License...

Admin

2スロットサーバーはPCIeの場所を表示しますが、4スロットサーバーは表示しないのはなぜですか(4スロットサーバーでPCIeの場所を見つける方法)。
numa

2スロットサーバーはPCIeの場所を表示しますが、4スロットサーバーは表示しないのはなぜですか(4スロットサーバーでPCIeの場所を見つける方法)。

2台のサーバーがあります。 ソケット2個スーパーマイクロX9DBL-3F ソケット4個スーパーマイクロX10QBI 2ソケットサーバーを実行すると、hwloc-ls各NUMANodeにHostBridgeを持つPCIeトポロジが表示されますが、4ソケットサーバーではNUMANodeの代わりにパッケージが表示され、すべてのHostBridgeが下部に一覧表示されます。また、lscpu2ソケットサーバーには2つのNUMAノードが表示されますが、4ソケットサーバーには1つのNUMAノードのみが表示されます。 4ソケットサーバーのどのスロットにどのPCIeデバイ...

Admin

LinuxのNUMAアーキテクチャもメインメモリを共有していますか?
numa

LinuxのNUMAアーキテクチャもメインメモリを共有していますか?

NUMA (Non-Uniform Memory Access) アーキテクチャについて読んでいます。ハードウェアアーキテクチャは次のとおりです。マルチプロセッサシステムでは、各コアはリモートメモリにアクセスできるよりも早く内部ローカルメモリにアクセスできます。 私が知らないのは:メインメモリ(RAM)もノード間で分かれているようです。同じCPU内のすべてのノードが同じ速度でメインメモリにアクセスできると思ったので、これは混乱しています。それでは、Linuxはなぜ各ノードのメインメモリを分割するのですか? ...

Admin

NUMAノードのページエラーが「重要」か、それとも「マイナー」ですか?
numa

NUMAノードのページエラーが「重要」か、それとも「マイナー」ですか?

私が理解したのは、単一のソケットLinuxシステムでは、このsudo ps -eo min_flt,maj_flt,cmdようなコマンドは通常、永続的なリポジトリが「少し」に触れていないとページエラーを処理します。しかし、エラーのためにあるNUMAノードから別のノードにデータを転送する必要がある場合でも、これはNUMAシステムでは本当ですか?それとも「メジャー」の線を越えるのでしょうか? ...

Admin

最初のコンタクトポリシーを介してローカルドメインにデータを割り当てることについて話すときにccNUMAシステムで動的メモリを使用するのはなぜですか?
numa

最初のコンタクトポリシーを介してローカルドメインにデータを割り当てることについて話すときにccNUMAシステムで動的メモリを使用するのはなぜですか?

多くの本では、ccNUMAシステムの最初の連絡先ポリシーについて話しているときに、場所ドメインにデータを配布するときに動的メモリ割り当てを使用しています。たとえば、スタックに配列があるとどうなりますか?最初のタッチポリシーも同じように機能しますか? ...

Admin

LinuxシステムでNUMAノードメモリを無効にする方法
numa

LinuxシステムでNUMAノードメモリを無効にする方法

特定のNUMAノード/ソケットに関連付けられているメモリへのアクセスを無効にする方法はありますか?沼マシン? 私たちは、HP DL560システムに関してデータベースベンダーといくつかの紛争を経験しています。 DBセールス技術サポート担当者は、DL560が利用できず、スロットが少ないため、新しいDL360を購入する必要があることに喜んでいました。私は彼らがソケット間のメモリアクセス速度に興味があると思います。彼らは私がDL560を維持するために2つのスロットを空にしなければならないと提案しました。私は彼らが間違っていると思いますが(別名狂った)、私の立場がしっ...

Admin

ページの移行を中止するものは何ですか?
numa

ページの移行を中止するものは何ですか?

OpenSUSE 42.3、カーネル 4.4.175-89 - デフォルト メモリ帯域幅が多いアプリケーションの実行中に、次の動作がわかりました。アプリケーションは、2つのノードを持つNUMAシステムの物理メモリの約55%を使用しました。アプリケーションは並列化にOpenMPを使用しますが、NUMAを考慮しません。したがって、かなり良い実行速度を達成するために、ページの移行に依存しています。 次のようになります。 約180回の繰り返しで、次のように手動でキャッシュを消去しました。 # echo 3 >| /proc/sys/vm/drop_c...

Admin

各NUMAドメインに別々の大きなページプールを割り当てる
numa

各NUMAドメインに別々の大きなページプールを割り当てる

マイデュアルソケットコンピュータの最初のソケットに固定されているアプリケーションAが最初のプールを使用し、アプリケーションBが2番目のAプールされたソケットを使用して独自のローカルプールを使用するように2つのhugepageプール(各ソケットごとに1つ)を割り当てようとしました。 ただし、 hugepages の数を入力すると、/sys/devices/system/node/node{0,1}/hugepages/hugepages-1048576kB/nr_hugepagesまだhugeadm --explain2 つではなく 1 つのプールと 1 つ...

Admin