どのようにコアが配置されているかを把握する方法について。
マルチコア・プロセッサ上で、/proc/cpuinfo を見ると8コアであれば、0~7までのプロセッサ番号が付くことになる。しかし、それだけではどのように配置されているかわからない。単純に連番になっているのではなく、またプロセッサによって異なるので、その都度調べる必要がある。
例えばどちらも QuadCore Xeon x 2 で計 8 コアの構成ではあるが、番号の振り方が異なる。以下は少しわかりづらいかもしれないが、プロセッサ番号を表している。一番深い括弧から、L2 共有コア、同一ダイ上のコア、ノード上のコアとなっている。
1、Intel(R) Xeon(R) CPU E5345 @ 2.33GHz (L2 4MB)
[[0,2], [4,6]], [[1,3], [5,7]]
2、Intel(R) Xeon(R) CPU X5460 @ 3.16GHz (L2 6MB)
[[0,4], [2,6]], [[1,5], [3,7]]
さて、どのように調べるかなのだが、/proc/cpuinfo を確認すると、processor, physical id, core id が記されている。以下のように書き出すとわかりやすいのだが、processor はコアに対しての通し番号、physical id は ダイの通し番号、core id はダイ内での通し番号になっている。よって、上のような構成であることがわかる。
1、Intel(R) Xeon(R) CPU E5345 @ 2.33GHz (L2 4MB)
2、Intel(R) Xeon(R) CPU X5460 @ 3.16GHz (L2 6MB)
マルチコア・プロセッサ上で、/proc/cpuinfo を見ると8コアであれば、0~7までのプロセッサ番号が付くことになる。しかし、それだけではどのように配置されているかわからない。単純に連番になっているのではなく、またプロセッサによって異なるので、その都度調べる必要がある。
例えばどちらも QuadCore Xeon x 2 で計 8 コアの構成ではあるが、番号の振り方が異なる。以下は少しわかりづらいかもしれないが、プロセッサ番号を表している。一番深い括弧から、L2 共有コア、同一ダイ上のコア、ノード上のコアとなっている。
1、Intel(R) Xeon(R) CPU E5345 @ 2.33GHz (L2 4MB)
[[0,2], [4,6]], [[1,3], [5,7]]
2、Intel(R) Xeon(R) CPU X5460 @ 3.16GHz (L2 6MB)
[[0,4], [2,6]], [[1,5], [3,7]]
さて、どのように調べるかなのだが、/proc/cpuinfo を確認すると、processor, physical id, core id が記されている。以下のように書き出すとわかりやすいのだが、processor はコアに対しての通し番号、physical id は ダイの通し番号、core id はダイ内での通し番号になっている。よって、上のような構成であることがわかる。
1、Intel(R) Xeon(R) CPU E5345 @ 2.33GHz (L2 4MB)
processor physical id core id 0 0 0 1 1 0 2 0 1 3 1 1 4 0 2 5 1 2 6 0 3 7 1 3
2、Intel(R) Xeon(R) CPU X5460 @ 3.16GHz (L2 6MB)
processor physical id core id 0 0 0 1 1 0 2 0 2 3 1 2 4 0 1 5 1 1 6 0 3 7 1 3