Hyperthreading et numéro de processeur

2 réponses
Avatar
Lucas Levrel
Bonjour,

Soit un système équipé de deux processeurs hexac½urs avec hyperthreading.
Dans /proc/cpuinfo, on trouve 24 processeurs logiques (soit 2*6*2,
normal).

Je veux identifier les paires de processeurs logiques correspondant aux
threads d'un même c½ur. J'ai cherché un peu avec Google, mais n'ai trouvé
que des exemples où cpuinfo est facilement interprétable. Dans mon cas, je
trouve les infos suivantes, résumées dans une table :

processor physical id core id apicid

0 0 0 0
1 1 0 32
2 0 1 2
3 1 2 36
4 0 2 4
5 1 3 38
6 0 9 18
7 1 8 48
8 0 10 20
9 1 9 50
10 0 11 22
11 1 11 54
12 0 0 1
13 1 0 33
14 0 1 3
15 1 2 37
16 0 2 5
17 1 3 39
18 0 9 19
19 1 8 49
20 0 10 21
21 1 9 51
22 0 11 23
23 1 11 55

Je suis perplexe devant les core id...

Au cas où, on trouve aussi pour chaque processeur logique les infos
identiques suivantes :
siblings : 12
cpu cores : 6
cpuid level : 11
ainsi qu'un "initial apicid" toujours égal à l'apicid.

uname -a donne :
Linux hill 2.6.34.10-0.6-default #1 SMP 2011-12-13 18:27:38 +0100 x86_64 x86_64 x86_64 GNU/Linux

Distribution Opensuse récente (je n'ai pas la version sous la main, je
dirais 11.4 ou 12.1).

Merci pour votre aide.
--
LL

2 réponses

Avatar
Luc.Habert.00__arjf
Lucas Levrel :

Je suis perplexe devant les core id...



Pour chaque physical id, tu as 6 valeurs de core id, chacune présente deux
fois. C'est un peu étonnant qu'elles ne soient pas numérotées de 0 à 5 (ou 0
à 5 pour l'un et 5 à 11 pour l'autre), mais ça semble tout de même
intelligible: un couple (physical id, core id) identifie un core.
Avatar
Lucas Levrel
Le 27 mars 2012, Luc Habert a écrit :

Pour chaque physical id, tu as 6 valeurs de core id, chacune présente deux
fois. C'est un peu étonnant qu'elles ne soient pas numérotées de 0 à 5 (ou 0
à 5 pour l'un et 5 à 11 pour l'autre), mais ça semble tout de même
intelligible: un couple (physical id, core id) identifie un core.



La mise en page de mon message initial étant un peu foireuse, j'ai d'abord
cru que tu avais mal lu le tableau, mais finalement je vois que c'est moi
qui avais lu un peu trop vite ton message ! Maintenant j'ai compris, en
classant par physical id et core id c'est plus clair. C'est très
perturbant que certains core id apparaissent quatre fois et d'autres
deux...

processor physical id core id apicid

0 0 0 0
12 0 0 1
2 0 1 2
14 0 1 3
4 0 2 4
16 0 2 5
6 0 9 18
18 0 9 19
8 0 10 20
20 0 10 21
10 0 11 22
22 0 11 23
1 1 0 32
13 1 0 33
3 1 2 36
15 1 2 37
5 1 3 38
17 1 3 39
7 1 8 48
19 1 8 49
9 1 9 50
21 1 9 51
11 1 11 54
23 1 11 55



Conclusion : ce sont les paires (n,n+12) qui correspondent à un même c½ur.

Merci.
--
LL