Defina uma política padrão para "intercalar" todo o sistema

4

Eu sei que é possível definir o modo numa para "intercalar" (veja NB abaixo) para um processo específico usando numactrl --interleave , mas eu gostaria de saber se é possível fazer deste o padrão de todo o sistema ( aka alterar a "política do sistema"). Por exemplo, se houver um sinalizador de inicialização do kernel para conseguir isso?

NB: aqui estou falando sobre o comportamento do kernel que intercala as páginas alocadas através dos nós NUMA - não a configuração do comportamento do controlador de memória no nível do BIOS que intercala as linhas de cache em

    
por BeeOnRope 10.09.2014 / 10:59

1 resposta

2

Se estiver usando o RHEL / CentOS / Fedora, sugiro usar o daemon numad . ( link do paywall da Red Hat ).

Embora não tenha muito uso para a diretiva numactl --interleave , parece que você determinou que sua carga de trabalho exige isso. Você pode explicar por que esse é o caso para fornecer um contexto melhor?

Editar:

Parece que a maioria dos aplicativos que recomendam a definição explícita de numactl fazem um chamada de biblioteca libnuma ou incorporar numactl em um script de wrapper .

Para o lado numad , há uma opção de configuração que pode ser especificada na linha de comando ou em /etc/numad.conf ...

-K <0|1>
   This option controls whether numad keeps interleaved  memory  spread  across  NUMA  nodes,  or
   attempts to merge interleaved memory to local NUMA nodes.  The default is to merge interleaved
   memory.  This is the appropriate setting to localize processes in a  subset  of  the  system’s
   NUMA  nodes.   If  you  are running a large, single-instance application that allocates inter-
   leaved memory because the workload will have continuous unpredictable memory  access  patterns
   (e.g. a large in-memory database), you might get better results by specifying -K 1 to instruct
   numad to keep interleaved memory distributed.

Alguns dizem que tentar isso com algo como numad -K 1 -u X , em que X é 100 x contagem de núcleos, pode ajudar nisso. Experimente.

Consulte também o White paper ProLiant da HP no Linux e no NUMA

    
por 10.09.2014 / 14:46