Considerações ao escolher processadores AMD sobre Intel

13

Eu trabalho para uma empresa com vários aplicativos da Web LAMP herdados, onde estamos tentando atualizar nosso hardware de ~ 250 servidores físicos para ~ 40 novos servidores com virtualização. Recebemos duas citações de fornecedores - uma está sugerindo processadores Intel, a outra AMD.

Uma coisa que eu gosto sobre as altas contagens de núcleo com a AMD é que poderemos dedicar núcleos às VMs, o que significa que temos uma menor chance de os aplicativos interferirem uns com os outros devido a picos, que até certo ponto a extensão é mais importante para mim do que o desempenho máximo.

As outras considerações que tenho em mente são:

  • O consumo de energia pode ser diferente (não é um problema no nosso caso).
  • Instruções da CPU como CRC32 (SSE 4.2) não serão suportadas (Edit: MySQL 5.6 aparece para suporte SSE4.2 Não tenho certeza sobre o Apache)
  • O MySQL não se adapta perfeitamente após ~ 16 / ~ 32 núcleos (estou disposto a aceitar essa troca).

Quais outras considerações estão faltando?

(Nota aos moderadores: conheço este tópico - Eu considero a questão um pouco diferente.

Editar: Suponha que as tarefas sejam excepcionalmente paralelas (servidores da Web) e que eu não me importo com o fato de os servidores de banco de dados não serem tão paralelos.

    
por Morgan Tocker 21.10.2011 / 18:21

5 respostas

10

Tem havido uma boa quantidade de impressões sobre a mais recente oferta de processadores AMD, chamada Bulldozer. A versão "Server" desta parte ainda não foi lançada, mas a oferta de desktop é uma excelente visão sobre alguns dos possíveis problemas do novo material.

Quanto à geração atual de parte do servidor, tudo em tudo a recomendação é bastante boa a um nível genérico. O trabalho na Web e na maioria dos bancos de dados é amplamente baseado em Integer, e os processadores da AMD se dão bem com a computação Integer. Além disso, a veiculação na Web é (genericamente) um problema que pode ser altamente paralelizado. A AMD está se concentrando mais especificamente em "muitos núcleos contribuem para um trabalho mais rápido", e o LAMP (novamente, genericamente) tende a responder bem a isso.

Uma área na qual você realmente precisa prestar atenção são as dependências de thread único em seus aplicativos. As peças da AMD não são escalonáveis em termos de clock como as da Intel, portanto, processos que são fundamentalmente únicos podem restringir o sistema global muito mais rapidamente do que em partes mais rápidas da CPU. Só você sabe se isso se aplica a você ou não. Certas operações de banco de dados podem ser melhor atendidas com processadores Intel mais rápidos, com contagens de núcleo menores, apenas para que esses poucos segmentos de gordura possam realmente gritar.

O código do aplicativo também é importante. Alguns processos de servidor da Web de longa duração podem absorver muito tempo de thread único e também gostariam de um relógio mais rápido. Isso pode ser solucionado através da reescrita da necessidade desse processo de longa duração, mas até então um relógio mais rápido seria bom.

Mas, em geral, para as cargas de trabalho de estilo lots-o-webserver-vm, essas partes de 12 núcleos podem ser muito bem dimensionadas. Se você se deparar com alguns problemas de thread único, usar as partes de 8 núcleos com maior freqüência seria um compromisso aceitável.

    
por 21.10.2011 / 19:29
4

Na maior parte, você encontrará ambos os processadores são muito comparáveis. Os processadores AMD têm uma ligeira vantagem nas velocidades de RAM (geralmente) por causa do quarto canal. Os processadores Intel geralmente têm IPC (possivelmente mais com HT , embora dependa muito da carga de trabalho). AMD são geralmente mais baratos.

A maioria desses fatores dará uma vantagem a um ou outro, dependendo da sua carga de trabalho. Nenhum vai ser significativamente pior que o outro (assumindo configurações sadias e aproximadamente o CapEx).

    
por 21.10.2011 / 19:26
2

Você deve considerar as diferenças de desempenho que a arquitetura RAM diferente pode trazer, e se isso é ou não um fator decisivo para sua organização.

Além disso, embora você não esteja preocupado com o desempenho de pico, se suas VMs não tiverem vários núcleos e / ou tarefas específicas em um único segmento, há uma vantagem considerável de desempenho em os intels por núcleo do que a AMD, mesmo se a contagem total de núcleos for menor.

    
por 21.10.2011 / 19:19
2

A principal diferença está na abordagem; na faixa intermediária, a AMD tem uma ligeira ênfase em núcleos em uma parte que custa tanto quanto uma parte da Intel. A parte da Intel terá menos núcleos com clock maior.

Portanto, para cargas de trabalho de aplicativos da Web virtualizados, você provavelmente desejará favorecer os sistemas AMD.

A menos que haja uma grande diferença de preço, eu não me preocuparia com dinheiro. Eu olharia mais para o subsistema IO. E o TCO em 40 servidores será principalmente de suporte, licenciamento de software, se houver, e pessoal, provavelmente não os próprios servidores.

No mínimo, você precisa fazer um favor a si mesmo, trazer fornecedores e executar seus sistemas em seus hardwares antes de se comprometer com 40 servidores de qualquer um deles. Somente você pode responder a pergunta corretamente para sua carga de trabalho específica.

    
por 24.10.2011 / 22:09
1

Mais uma coisa a ser lançada, tome cuidado se você usar virtualização de qualquer tipo que migrar os convidados da Intel para a AMD pode ser um problema real, e o agrupamento entre as marcas não está nos cartões. Atenha-se a uma plataforma para cada cluster e aceite que é difícil pular de um para o outro.

    
por 25.10.2011 / 15:18