SunGridEngine: привязка ядра с включенной гиперпоточностью - PullRequest
0 голосов
/ 03 марта 2020

При использовании -binding linear: 1 будет привязывать SGE к следующему доступному ядру. Однако в случае использования Hyperthreading это приводит только к тому, что только половина заданий получает набор задач, а другая половина продолжает работать. Это приводит к снижению производительности остальных ядер.

Как видно из вывода qconf -se, топология, которую выводит sge, равна ctt для серверов с поддержкой гиперпоточности. Таким образом, он планирует только одно задание на этом ядре вместо двух заданий.

Есть ли у sge способ подумать, что число ядер равно столько, сколько показывает lscpu? Или каким-то образом, чтобы гарантировать, что он будет выполнять задания на всех ядрах?

Вывести "qconf -se"

hostname              <sample_exec_host>
load_scaling          NONE
complex_values        NONE
load_values           arch=lx-amd64,num_proc=64,mem_total=257190.054688M, \
                      swap_total=4095.996094M,virtual_total=261286.050781M, \
                      m_topology=SCTTCTTCTTCTTCTTCTTCTTCTTCTTCTTCTTCTTCTTCTTCTTCTTSCTTCTTCTTCTTCTTCTTCTTCTTCTTCTTCTTCTTCTTCTTCTTCTT, \
                      m_socket=2,m_core=32,m_thread=64,load_avg=56.110000, \
                      load_short=56.570000,load_medium=56.110000, \
                      load_long=56.790000,mem_free=111833.890625M, \
                      swap_free=3993.488281M,virtual_free=115827.378906M, \
                      mem_used=145356.164062M,swap_used=102.507812M, \
                      virtual_used=145458.671875M,cpu=91.100000, \
                      m_topology_inuse=ScttcttcttcttcttcttcttcttcttcttcttcttcttcttcttcttScttcttcttcttcttcttcttcttcttcttcttcttcttcttcttctt, \
                      np_load_avg=0.876719,np_load_short=0.883906, \
                      np_load_medium=0.876719,np_load_long=0.887344
processors            64
user_lists            NONE
xuser_lists           NONE
projects              NONE
xprojects             NONE
usage_scaling         NONE
report_variables      NONE

Вывести lscpu -

Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                64
On-line CPU(s) list:   0-63
Thread(s) per core:    2
Core(s) per socket:    16
Socket(s):             2
NUMA node(s):          2
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 85
Model name:            Intel(R) Xeon(R) Gold 5218 CPU @ 2.30GHz
Stepping:              7
CPU MHz:               2300.000
BogoMIPS:              4600.00
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              1024K
L3 cache:              22528K
NUMA node0 CPU(s):     0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62
NUMA node1 CPU(s):     1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47,49,51,53,55,57,59,61,63
...