2011-06-20 4 views
0

Intel Westmereプロセッサを使用しています。 westmereのアーキテクチャは、2チップに配置された12個のCPUコアで構成されています。つまり、各チップには6つのコアが含まれています。2チップセットのCPUコアの発注/番号付けIntel Westmere

私はCPUコアがどのように順序付けられているのか番号付けされていません。

  1. コア0,1,2,3,4、および5ワンチップおよびコア6,7,8,9,10、および11にある:私の推測では、それが次のいずれかができるということです
  2. 第2のチップ上のコア0,2,4,6,8、および10は、1つのチップとコア1,3,5,7,9であり、そして11 は、第2のチップ上
されています

CPUコアの発注/番号付けを知っている人はいませんか

+0

申し訳ありませんが、私は答えは分かりません。しかし、あなたは私の好奇心を刺激しました:今、私はあなたがこの情報を必要としていることを知りたいです。 – nfechner

+0

@nfechner:コアがどのように順序付けられているか分かっていれば、それに従ってスレッドを並べ替えることができます。現在、私は12コアすべてを利用することはできません。 8スレッドのパフォーマンスは12スレッドのパフォーマンスよりもはるかに優れています。 – veda

+0

情報ありがとうございます。 – nfechner

答えて

0

これらは、であり、連続するコアができるだけ負荷を分散するようにインターリーブされているものとします。 0と1が同じチップ上にある場合、2つのコアのみを使用していた素朴なコードは、キャッシュの半分を無駄にすることになります。

番号が付けられたコアは、最初に物理CPUを交替する必要があります。可能であれば、次にダイを交代させるべきです。彼らは1つのダイのコアを通過する必要があります。可能であれば、仮想コアを含める必要があります。

次の2つの物理CPU(P1、P2)、各デュアルコア(C1、C2)と、各ハイパースレッド(V1、V2)を有していたのであれば、コアは行く必要があります: P1C1V1、P2C1V1、P1C2V1、P2C2V1、 P1C1V2、P2C1V2、P1C2V2、P2C2V2

CPUトポロジーを理解しないコードでは、使用方法を知っているだけでなく、最適なパフォーマンスを得るためのコードを使用できます。 2つのコアしかサポートできない場合は、P1C1V1とP1C1V1ではなくP1C1V1とP2C1V1が必要です。そうしないと、キャッシュと実行ユニットが大量に消費されます。このツールを使用しようとすることができます詳細については

1

http://software.intel.com/en-us/articles/intel-64-architecture-processor-topology-enumeration

それを決定する公式のツールです。

CentOS 5.3を実行している2つの物理Intel X5560(6core + 6HT)を搭載したマシンからの実行例です(古いかもしれません)。

Package 0 Cache and Thread details 

Box Description: 
Cache is cache level designator 
Size is cache size 
OScpu# is cpu # as seen by OS 
Core is core#[_thread# if > 1 thread/core] inside socket 
AffMsk is AffinityMask(extended hex) for core and thread 
CmbMsk is Combined AffinityMask(extended hex) for hw threads sharing cache 
     CmbMsk will differ from AffMsk if > 1 hw_thread/cache 
Extended Hex replaces trailing zeroes with 'z#' 
     where # is number of zeroes (so '8z5' is '0x800000') 
L1D is Level 1 Data cache, size(KBytes)= 32, Cores/cache= 2, Caches/package= 4 
L1I is Level 1 Instruction cache, size(KBytes)= 32, Cores/cache= 2, Caches/package= 4 
L2 is Level 2 Unified cache, size(KBytes)= 256, Cores/cache= 2, Caches/package= 4 
L3 is Level 3 Unified cache, size(KBytes)= 8192, Cores/cache= 8, Caches/package= 1 
     +-----------+-----------+-----------+-----------+ 
Cache | L1D  | L1D  | L1D  | L1D  | 
Size | 32K  | 32K  | 32K  | 32K  | 
OScpu#| 0  8| 1  9| 2 10| 3 11| 
Core |c0_t0 c0_t1|c1_t0 c1_t1|c2_t0 c2_t1|c3_t0 c3_t1| 
AffMsk| 1 100| 2 200| 4 400| 8 800| 
CmbMsk| 101  | 202  | 404  | 808  | 
     +-----------+-----------+-----------+-----------+ 

Cache | L1I  | L1I  | L1I  | L1I  | 
Size | 32K  | 32K  | 32K  | 32K  | 
     +-----------+-----------+-----------+-----------+ 

Cache | L2  | L2  | L2  | L2  | 
Size | 256K  | 256K  | 256K  | 256K  | 
     +-----------+-----------+-----------+-----------+ 

Cache | L3           | 
Size | 8M           | 
CmbMsk| f0f           | 
     +-----------------------------------------------+ 

Combined socket AffinityMask= 0xf0f 

Package 1 Cache and Thread details 

Box Description: 
Cache is cache level designator 
Size is cache size 
OScpu# is cpu # as seen by OS 
Core is core#[_thread# if > 1 thread/core] inside socket 
AffMsk is AffinityMask(extended hex) for core and thread 
CmbMsk is Combined AffinityMask(extended hex) for hw threads sharing cache 
     CmbMsk will differ from AffMsk if > 1 hw_thread/cache 
Extended Hex replaces trailing zeroes with 'z#' 
     where # is number of zeroes (so '8z5' is '0x800000') 
     +-----------+-----------+-----------+-----------+ 
Cache | L1D  | L1D  | L1D  | L1D  | 
Size | 32K  | 32K  | 32K  | 32K  | 
OScpu#| 4 12| 5 13| 6 14| 7 15| 
Core |c0_t0 c0_t1|c1_t0 c1_t1|c2_t0 c2_t1|c3_t0 c3_t1| 
AffMsk| 10 1z3| 20 2z3| 40 4z3| 80 8z3| 
CmbMsk| 1010  | 2020  | 4040  | 8080  | 
     +-----------+-----------+-----------+-----------+ 

Cache | L1I  | L1I  | L1I  | L1I  | 
Size | 32K  | 32K  | 32K  | 32K  | 
     +-----------+-----------+-----------+-----------+ 

Cache | L2  | L2  | L2  | L2  | 
Size | 256K  | 256K  | 256K  | 256K  | 
     +-----------+-----------+-----------+-----------+ 

Cache | L3           | 
Size | 8M           | 
CmbMsk| f0f0           | 
     +-----------------------------------------------+ 
関連する問題