Как лучше настроить Linux / CPU для запуска крупномасштабного программного обеспечения (NUMA) - PullRequest
2 голосов
/ 17 февраля 2011

Я делаю анализ производительности на Linux для крупномасштабных программ, которые управляются памятью (десятки гигабайт памяти)

Я думаю, возможно ли настроить Linux / аппаратное обеспечение, чтобы оно было более подходящим для запуска такого рода больших программ. Но я не знаком с этой стороной.

У кого-нибудь есть замечания по настройке

  1. стратегия выделения памяти ОС
  2. конфигурация кеша для процессора
  3. еще ...

Любой комментарий приветствуется ..

Это типичная модель процессора (4 процессора Opteron каждый имеют двухъядерный процессор):

processor       : 3
vendor_id       : AuthenticAMD
cpu family      : 15
model           : 65
model name      : Dual-Core AMD Opteron(tm) Processor 2218
stepping        : 2
cpu MHz         : 2600.000
cache size      : 1024 KB
physical id     : 1
siblings        : 2
core id         : 1
cpu cores       : 2
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy
bogomips        : 5200.09
TLB size        : 1088 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp tm stc

1 Ответ

0 голосов
/ 02 ноября 2011

Полезно для исследования памяти / кеширования в системе с несколькими сокетами:

  • hwloc lstopo ( пример ):

    lstopo
    
  • numactl / libnuma (но только если это действительно система NUMA)

    numactl --hardware
    numactl --show
    
  • sysfs, procfs:

    sudo grep . /sys/devices/system/cpu/cpu*/cpufreq/*
    grep . /sys/devices/system/cpu/cpu*/topology/physical_package_id
    sudo grep . /proc/irq/*/smp_affinity # compare w/ /proc/interrupts
    
...