問題タブ [numa]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - アレイメモリ管理
私はコンピューティングサイエンスプロジェクトを行っています。私はCを使用してマルチプロセッサプログラミングを行っています。私たちの要件の1つは、メモリの小さなチャンクを割り当て続けることができないということです。必要に応じて、メモリを大きなチャンクに割り当てることができます。
したがって、プログラムで構造体を使用していると想像してください。そして、私のプログラムが機能する方法には、動的メモリ割り当てが必要です。しかし、私たちが使用しているハードウェアでは非常にコストがかかります。したがって、最善の解決策は、最初に大きなメモリプールを割り当て、必要に応じてこのプールからメモリを割り当てることです。
これが機能することを想定する方法は、これらの構造のビット配列を割り当て、このプールからメモリを割り当てて解放する独自のメモリ管理モジュールを作成することです。しかし、私はこれらのモジュールを書くための最も理想的な方法を知りたいです。メモリの管理に役立つライブラリはありますか、またはこれらを書き込む方法はありますか?
編集:これが私が使用しているプラットフォームです:Ubuntuを実行するAMDオプテロンシステム。オプテロンにはNUMAアーキテクチャがあり、メモリを割り当てるときにこれを利用したいと思います。したがって、mallocを使用する代わりに、 1つの特定のノードにメモリを割り当てるnuma_alloc_onnodeを使用します。これを使用してメモリの大きなチャンクを割り当ててから、メモリマネージャを使用してこのメモリを管理したいと思います。
java - NUMAを確認する方法は?
ホストがNUMA対応であることを確認するにはどうすればよいですか?Oracleのドキュメントによると、NUMA認識はカーネル2.6.19から始まるとのことですが、NUMAのマニュアルページには2.6.14で導入されたと書かれています。-XX:+UseNUMA
で始まったJavaプロセスが実際に何かを利用していることを確認したいと思います。
numa_mapsを確認すると、次のようになっていることがわかります。
私のカーネルはOracleが述べていることの背後にありますが:
現在、RHEL5.1で64ビットのjdk1.6.0_29を使用しています。
linux - /sys/devices/system/node/node0/distance の単位は何ですか
質問はタイトルに書いてあります。このsysファイルで距離が何を表しているか知っている人はいますか?
multithreading - 特定の NUMA メモリにスレッドのスタックを割り当てる
特定の NUMA ノードでスレッドのスタックを作成する方法があるかどうかを知りたいです。私はこのコードを書きましたが、うまくいくかどうかはわかりません。
ご協力ありがとうございました
linux - NUMA メモリ ページ移行のオーバーヘッド
Linux でのNUMA メモリ ページの移行に関連するオーバーヘッドを見つけなければなりません。
使用できるツールを教えてください。
可能であれば、例を示していただけますか。
windows - 1 つの CPU システムで NUMA を心配する必要がありますか?
CPU が 1 つしかない場合、NUMA がサポートする CPU アーキテクチャについて Windows 開発者に影響はありますか?
linux - サーバーに NUMA があるかどうかを確認するにはどうすればよいですか?
Java Garbage Collection からホップして、 NUMA の JVM 設定に出くわしました。不思議なことに、CentOS サーバーに NUMA 機能があるかどうかを確認したかったのです。この情報を取得できる *ix コマンドまたはユーティリティはありますか?
mongodb - デーモンとしてnumactlを介してmongodbを開始します
NUMAマシンでデーモンとしてmongodbを起動しようとしています。私が走るとき
Mongoは正しく起動して実行されますが、すべての出力は引き続き表示されます。(例:金6月22日12:10:29 [initandlisten]接続は127.0.1.1:51837から受け入れられました)
ただし、mongoを単独で起動すると(以下のように)、失敗します(以下のログ)。
ログに次のように表示されます
rootとして実行しているときに、admin.nsでアクセス許可の問題が発生する可能性があるのか、numactlでラップすると正常に起動するのかわかりません。理想的には、次のようにstart_server()関数でnumactlを使用したいと思います。
結論として、NUMAマシンでmongoをデーモンとして起動するにはどうすればよいですか?
linux - numa_police_memory
MIPSマシンでNUMACTLをデバッグしています。numa_police_memory()APIには、次のものがあります。
"asm volatile(" "::" r "(((volatile unsigned char *)mem)[i]));"のようです。以前のmmapによって適用されたすべてのメモリが特定の物理メモリに割り当てられるように、VMの読み取りに使用されます。しかし、このasmコードはどのように機能しますか?アセンブリ言語が読めません!最初の二重引用符が空なのはなぜですか?
ありがとう
c++ - OpenMPとNUMAの関係?
NUMAをサポートするLinuxカーネル3.0でubuntuサーバーを実行しているデュアルソケットXeon E5522 2.26GHZマシン(ハイパースレッディングが無効)があります。アーキテクチャ レイアウトは、ソケットあたり 4 つの物理コアです。OpenMP アプリケーションがこのマシンで実行されており、次の質問があります。
OpenMP プログラムは、NUMA マシン + 認識カーネル上で実行する場合、自動的に利点を利用しますか (つまり、スレッドとそのプライベート データは、実行に沿って Numa ノードに保持されますか?)。そうでない場合、何ができるでしょうか?
NUMA とスレッドごとのプライベート C++ STL データ構造はどうですか?