Нумерация ЦП NUMA в Linux

У меня есть доступ к двум серверам NUMA. Один из них - Dell R720 и имеет следующие процессоры:

$ cat /proc/cpuinfo |grep Xeon|sort|uniq -c
     24 model name  : Intel(R) Xeon(R) CPU E5-2630L v2 @ 2.40GHz

Другой - HPE DL360 Gen8 и имеет следующие процессоры:

$ cat /proc/cpuinfo |grep Xeon|sort|uniq -c
     24 model name  : Intel(R) Xeon(R) CPU E5-2630 0 @ 2.30GHz

На работе, где у нас много серверов HPE Gen9, я привык к нумерации процессоров (socket0, socket1 , socket0 HyperThreads, socket1 HyperThreads). Похоже, что HPE DL360 Gen8 использует эту нумерацию:

$ cat /proc/cpuinfo |grep physical.id|uniq -c
      6 physical id : 0
      6 physical id : 1
      6 physical id : 0
      6 physical id : 1

Но сервер Dell R720 использует другую нумерацию:

$ cat /proc/cpuinfo |grep physical.id|uniq -c
      1 physical id : 0
      1 physical id : 1
      1 physical id : 0
      1 physical id : 1
      1 physical id : 0
      1 physical id : 1
      1 physical id : 0
      1 physical id : 1
      1 physical id : 0
      1 physical id : 1
      1 physical id : 0
      1 physical id : 1
      1 physical id : 0
      1 physical id : 1
      1 physical id : 0
      1 physical id : 1
      1 physical id : 0
      1 physical id : 1
      1 physical id : 0
      1 physical id : 1
      1 physical id : 0
      1 physical id : 1
      1 physical id : 0
      1 physical id : 1

Мой вопрос: в чем причина этой разницы? Серверы имеют две немного разные версии ядра:

Dell R720:

$ uname -a
Linux dell 4.10.0-33-generic #37~16.04.1-Ubuntu SMP Fri Aug 11 14:07:24 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

HPE DL360 Gen8:

$ uname -a
Linux hpe 4.11.0-14-generic #20~16.04.1-Ubuntu SMP Wed Aug 9 09:06:22 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

Это вызвано разными версиями ядра? Или разными процессорами? Или на разных материнских платах / BIOS?

Edit: Я обновил ядра на обеих машинах и перезагрузился, так что теперь обе машины используют одну и ту же версию ядра. Тем не менее, разница все же есть.

3
задан 18 December 2017 в 16:49
2 ответа

შეაჩერე grepping და uniq და გაუშვი lscpu და lstopo --of png> server.png და ვიზუალიზირე შედეგები ...

[root@LA_Specialty ~]# lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                24
On-line CPU(s) list:   0-23
Thread(s) per core:    2
Core(s) per socket:    6
Socket(s):             2
NUMA node(s):          2
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 62
Model name:            Intel(R) Xeon(R) CPU E5-2643 v2 @ 3.50GHz
Stepping:              4
CPU MHz:               3501.000
BogoMIPS:              7013.88
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              25600K
NUMA node0 CPU(s):     0-5,12-17
NUMA node1 CPU(s):     6-11,18-23

enter image description here

2
ответ дан 3 December 2019 в 06:27

lscpu [1] უფრო მოკლედ გამოხატავს თითოეული სისტემის ნუმეტის განლაგებას. lstopo [2] იძლევა პროცესორის ურთიერთობების იერარქიულ ხედვას.

ჩამოთვლა განისაზღვრება CPU + BIOS + ბირთვით. მაღალ დონეზე, დედაპლატს აქვს 0 და 1 სხვადასხვა ბუდე, ის ყოველთვის იწყებს 0. პროცესორი 0 სოკეტში, შემდეგ იწყებს ბირთვს 0 კონკრეტულ მისამართზე და იწყებს BIOS– ს, რომელიც შემდეგ ჩამოთვლის ლოგიკურ პროცესორებს ამ ჩიპზე და დამატებით პროცესორებზე. (შესაძლოა არა ამ თანმიმდევრობით) [3]. BIOS აღრიცხვის მონაცემებს გადასცემს OS– ს, როგორც საჭიროა, მაგრამ ოპერაციული სისტემა თავისუფალია პროცესორების დანომვრაზე, როგორც სურს (წარმოიდგინეთ, რა ახდენს ცხელი ჩართვის პროცესორები ნუმერაციას).

თუ შეშფოთებული ხართ სიახლოვით და ქეშირება, აპიციდი არის გამოსაყენებელი სასარგებლო რიცხვი. ბიტ ველი უნდა განისაზღვროს ისე, რომ მეხსიერებას / მეხსიერებებს, რომლებიც ყველაზე ახლოს არიან ერთმანეთთან, აქვს აციციდები, რომლებიც რიცხობრივად ახლოს არის ბიტების შეკვეთით Socket | ძირითადი | SMT ამ ველების სიგანე არ არის დაფიქსირებული, ასე რომ თქვენ ვერ ენდობით LSB– ს, რომ ყოველთვის ნიშნავს SMT– ს, მას არ შეიძლება ჰქონდეს SMT და ეს ბიტი წარმოადგენს ძირითადი ID– ს ნაწილს.

1
ответ дан 3 December 2019 в 06:27

Теги

Похожие вопросы