2 Processors server and RAM

0

Estou no processo de comprar um servidor Dell T620 com dois processadores E5-2660v2 e 128 GB de RAM. Dell me disse que, se eu pedir 128GB de RAM, eu teria que ter 64GB por processador. Por que isso acontece?

Digamos que eu esteja executando um único processo em todos os 20 núcleos que carregam 40 GB de dados na memória e os processam. Preciso carregar os dados duas vezes (1 por processador)? Se sim, como eu faria isso? Se não, de que maneira a separação de memória afeta o computador?

    
por Roey Nissim 07.01.2014 / 08:55

2 respostas

2

Existem, talvez, três razões pelas quais alguém gostaria que a memória fosse dividida entre os dois processadores.

Primeiro, a interface de memória de cada processador tem uma determinada largura de banda máxima. Ao duplicar o número de processadores, essa largura de banda de memória de pico é duplicada.

Segundo, em alguns sistemas, a velocidade da interface de memória pode ser limitada pelos módulos numéricos conectados a um canal de memória, portanto, usar um módulo por canal (com o dobro de processadores e duas vezes mais canais) pode permitir maior largura de banda. . Além disso, o número de módulos de memória suportados por um processador pode forçar o uso de um módulo mais caro para fornecer a mesma capacidade total do sistema.

Terceiro, se a carga de trabalho se beneficia do processamento de espalhamento para outro processador (por exemplo, grande contagem de threads ou menos segmentos que se beneficiam de mais capacidade L3 por thread) mais do que perde de maior latência (e possivelmente menor largura de banda) de alguma memória acesso indo para o outro processador, então mesmo sem otimização significativa da alocação de memória pelo SO (otimização NUMA [Non-Uniform Memory Access], alocando memória e agendando threads para que a memória anexada ao processador do thread seja usada mais frequentemente) o desempenho pode ser Melhor. Com uma otimização substancial da NUMA (que pode não ser prática para a carga de trabalho), a maioria dos acessos à memória seria uma memória local mais rápida.

Em apenas dois nós, é improvável que a replicação de memória seja feita, já que o fator NUMA (quanto a memória remota mais lenta é relativa à memória local) é pequeno. Se a memória de um acesso específico for anexada a um processador remoto, a solicitação passará por uma interconexão entre processadores (QPI para Intel) para o controlador de memória do processador remoto (embora seja possível um acerto de cache no L3 desse processador) eo controlador de memória (ou Cache L3) satisfará a solicitação enviando os dados para o solicitante através da interconexão do interprocessador.

(Um sistema com um grande número de nós / processadores pode se beneficiar do conteúdo da memória de duplicação do sistema operacional - que não pode ser gravável. Alguns sistemas operacionais já usaram migração (movendo o conteúdo da memória para um nó diferente) como uma otimização NUMA. )

    
por 07.01.2014 / 21:12
0

Tem a ver com a arquitetura Intel. A memória deve ser dividida igualmente entre todos os processadores, portanto, no seu caso, você instala 64 GB de memória em cada barramento do processador. O sistema operacional ainda vê todos os 128 GB de memória, mas a memória está espalhada pelas duas CPUs.

Também é importante que a memória na CPU1 corresponda fisicamente à memória na CPU2. Por exemplo, se você tiver memória nos slots A1, A2 e A3 (A se conecta à CPU1), você precisará exatamente do mesmo tipo de memória / especificação nos slots B1, B2 e B3 (B é anexado à CPU 2). Se você não fizer isso, o CPU2 não ficará online.

É por isso que 2 CPUs são empurradas atualmente, em vez de apenas 1 CPU em um sistema com duas CPUs. Se você tem apenas 1 CPU, então qualquer memória conectada aos slots 'B' não pode ser usada

    
por 11.01.2018 / 16:46