Eu trabalho para uma empresa com muitas aplicações Web LAMP herdadas, onde estamos tentando atualizar nosso hardware de ~ 250 servidores físicos para ~ 40 novos servidores com virtualização. Recebemos duas cotações de fornecedores - uma está sugerindo processadores Intel, a outra AMD.
Uma coisa que eu gosto nas altas contagens de núcleos com a AMD é que poderemos dedicar núcleos às VMs, o que significa que temos uma chance menor de os aplicativos interferirem entre si devido a picos, o que, em certa medida, é 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 de CPU como CRC32 (SSE 4.2) não serão suportadas (Edit: MySQL 5.6 parece suportar SSE4.2. Não tenho certeza sobre o Apache)
- O MySQL não escala perfeitamente após ~ 16 / ~ 32 núcleos (estou disposto a aceitar essa troca).
Que outras considerações estou faltando?
(Observação para moderadores: conheço esse tópico - considero a pergunta 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.
fonte
Respostas:
Houve uma boa quantidade de informações sobre a mais recente oferta de processador AMD, chamada Bulldozer. A versão "Servidor" desta parte ainda não foi lançada, mas a oferta da área de trabalho é uma excelente visão de alguns dos possíveis problemas das novas coisas.
Quanto à geração atual da parte do servidor, apesar de tudo, a recomendação é bastante boa em nível genérico. O trabalho de veiculação na Web e (a maioria) de banco de dados é amplamente baseado em Inteiro, e as CPUs AMD se dão bem com a computação de Inteiro. Além disso, a veiculação na web é (genericamente) um problema que pode ser altamente paralelizado. A AMD está se concentrando especificamente em "muitos núcleos tornam o trabalho mais rápido" e o LAMP (novamente, genericamente) tende a responder bem a isso.
Uma área em que 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 tão dimensionadas quanto as peças da Intel, de modo que os processos que são fundamentalmente de thread único podem prejudicar o sistema geral muito mais rápido do que em peças de CPU mais rápidas. Só você sabe se isso se aplica a você ou não. Certas operações de banco de dados podem ser melhor atendidas a partir de processadores Intel mais rápidos, com contagens de núcleos menores, apenas para que esses poucos threads gordos possam realmente gritar.
O código do aplicativo também é importante aqui. Alguns processos de servidor da web de longa execução poderiam consumir muito tempo de thread único e também gostaria de um relógio mais rápido. Isso pode ser solucionado através da reescrita da necessidade desse longo processo, mas até então um relógio mais rápido seria bom.
Mas, em geral, para cargas de trabalho no estilo lotes-o-servidor-web-vm, essas partes de 12 núcleos podem ser escalonadas até agora. Se você se deparar com alguns problemas de thread único, seguir as partes com 8 núcleos com maior freqüência seria um compromisso aceitável.
fonte
Na maioria das vezes, você encontrará os dois processadores muito comparáveis. Os processadores AMD têm uma ligeira vantagem nas velocidades de RAM (geralmente) devido ao quarto canal. Os processadores Intel geralmente têm um CPI mais baixo (possivelmente mais com o HT , embora isso 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 dos dois será significativamente pior que o outro (assumindo configurações sãs e CapEx aproximadamente igual).
fonte
Você deve considerar as diferenças de desempenho que a arquitetura de RAM diferente pode trazer e se esse é um fator decisivo para sua organização.
Também como uma observação secundária, embora você possa não estar preocupado com o desempenho máximo, se as VMs não tiverem vários núcleos cada e / ou tarefas específicas dentro forem de thread único, há uma vantagem considerável de desempenho nos intels por núcleo do que a AMD, mesmo que a contagem total de núcleos seja menor.
fonte
A principal diferença está na abordagem; na faixa intermediária, a AMD enfatiza levemente os núcleos em uma parte que custa tanto quanto uma parte semelhante à Intel. A parte da Intel terá menos núcleos com clock mais alto.
Portanto, para cargas de trabalho de aplicativos 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 dólares. Eu procuraria mais o subsistema de E / S. E, o TCO em 40 servidores será principalmente de suporte, licenciamento de software, se houver, e equipe, provavelmente não os próprios servidores.
No mínimo, você precisa fazer um favor a si mesmo, atrair os dois fornecedores e executar seus sistemas no hardware deles antes de se comprometer com 40 servidores de qualquer um deles. Somente você pode responder à pergunta corretamente para sua carga de trabalho específica.
fonte
Mais uma coisa a ser lançada, cuidado: se você usa virtualização de qualquer tipo, 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 uma para outra.
fonte