2017-07-28 6 views
1

デュアルプロセッサで実行されているJavaスレッド(Java 8)を使用したマルチスレッドコードを使用してNUMA(非一様メモリアクセス)に関する調査を行っています。 2.60GHz @のXeon(R)CPU E5-2650 V2:デュアルソケットプロセッサ間でのJavaスレッドの移行

http://ark.intel.com/products/75269/Intel-Xeon-Processor-E5-2650-v2-20M-Cache-2_60-GHz

そこでコンピュータ・アーキテクチャの点で私は2つのNUMAノードとしてこれらのプロセッサのうちの2つを設定しています。 私のプログラムのスレッドが物理的なコアにマップされている場所を理解することはかなり困難でした。いくつかの結論を引き出すために、私のプログラムのスレッドが実行中にコア間またはソケット間の移行現象を被るかどうかを理解する方法が必要です。

提案がありますか?ご協力いただきありがとうございます。

+1

スレッドをCPUコアにマッピングするプロセスは、OSによって異なります。 (タグ付けされていない) – litelite

答えて

2

JavaスレッドオブジェクトはOSのスレッド管理システムに委任されるため、正確な動作はOSによって異なります。さらに、OSは通常、スレッドをコアに「マップ」しないため、プロセッサを非効率的に使用することになります。私はあなたのケースで何が起こっているのかは言えませんが、それは複雑だと思います。

関連する問題