Trabajo para una empresa con muchas aplicaciones web LAMP heredadas, donde estamos tratando de actualizar nuestro hardware de ~ 250 servidores físicos a ~ 40 nuevos servidores con virtualización. Hemos recibido dos presupuestos de proveedores: uno sugiere procesadores Intel y el otro AMD.
Una cosa que me gusta de los altos recuentos de núcleos con AMD es que podremos dedicar núcleos a las máquinas virtuales, lo que significa que tenemos menos posibilidades de que las aplicaciones interfieran entre sí debido a picos, que en cierta medida es más importante para mí que el rendimiento máximo.
Las otras consideraciones que tengo en mente son:
- El consumo de energía puede ser diferente (no es un problema en nuestro caso).
- Las instrucciones de CPU como CRC32 (SSE 4.2) no serán compatibles (Edición: MySQL 5.6 parece ser compatible con SSE4.2. No estoy seguro acerca de Apache)
- MySQL no escala perfectamente después de ~ 16 / ~ 32 núcleos (estoy dispuesto a aceptar esta compensación).
¿Qué otras consideraciones me estoy perdiendo?
(Nota para los moderadores: conozco este hilo , considero la pregunta un poco diferente).
Editar: Suponga que las tareas son excepcionalmente paralelas (servidores web) y que no me importa que los servidores de bases de datos no sean tan paralelos.
fuente
Respuestas:
Ha habido una buena cantidad de prensa con respecto a la última oferta de procesador AMD, llamada Bulldozer. La versión "Servidor" de esta parte aún no está disponible, pero la oferta de escritorio es una excelente visión de algunos de los posibles problemas de las nuevas cosas.
En cuanto a la generación actual de la parte del servidor, en general, la recomendación es bastante buena a nivel genérico. El trabajo en la Web y (la mayoría) de las bases de datos se basa principalmente en números enteros, y las CPU AMD funcionan bien con el cálculo de números enteros. Además, el servicio web es (genéricamente) un problema que puede ser altamente paralelo. AMD se está enfocando específicamente en "muchos núcleos hacen que el trabajo sea más rápido", y LAMP (nuevamente, genéricamente) tiende a responder bien a eso.
Un área a la que realmente debe prestar atención son las dependencias de un solo hilo en sus aplicaciones. Las partes de AMD no se escalan tanto en sentido horario como las partes de Intel, por lo que los procesos que son fundamentalmente de un solo hilo pueden embotellar su sistema general mucho más rápido de lo que lo harían en las partes de CPU más rápidas. Solo usted sabe si esto se aplica a usted o no. Ciertas operaciones de la base de datos pueden ser mejor servidas desde procesadores Intel más rápidos con recuentos de núcleos más pequeños para que esos pocos hilos gordos realmente puedan gritar.
El código de la aplicación también es importante aquí. Algunos procesos de servidor web de larga duración podrían consumir mucho tiempo de subproceso único y también desearían un reloj más rápido. Eso puede resolverse reescribiendo la necesidad de ese proceso de larga ejecución, pero hasta entonces un reloj más rápido sería bueno.
Pero, en general, para cargas de trabajo de estilo lot-o-webserver-vm, esas partes de 12 núcleos pueden escalar bastante lejos. Si se encuentra con algunos problemas de un solo hilo, ir con las partes de 8 núcleos con mayor frecuencia sería un compromiso aceptable.
fuente
En su mayor parte, encontrará que ambos procesadores son muy comparables. Los procesadores AMD tienen una ligera ventaja en las velocidades de RAM (generalmente) debido al cuarto canal. Los procesadores Intel generalmente tienen un CPI más bajo (posiblemente más con HT , aunque depende mucho de la carga de trabajo). AMD son generalmente más baratos.
La mayoría de estos factores le darán una ventaja a uno u otro, dependiendo de su carga de trabajo. Ninguno de los dos será significativamente peor que el otro (suponiendo configuraciones sensatas y CapEx aproximadamente igual).
fuente
Debe considerar las diferencias de rendimiento que puede traer la arquitectura RAM diferente, y si ese es un factor decisivo para su organización.
También como una nota al margen, si bien es posible que no le preocupe el rendimiento máximo, si sus máquinas virtuales no tendrán múltiples núcleos cada una y / o tareas específicas dentro de un solo subproceso, hay una considerable ventaja de rendimiento en las inteligencia por núcleo que AMD, incluso si el recuento total de núcleos es menor.
fuente
La principal diferencia está en el enfoque; en el rango medio, AMD tiene un ligero énfasis en los núcleos en una parte que cuesta tanto como una parte similar a Intel. La parte de Intel tendrá menos núcleos sincronizados más alto.
Entonces, para las cargas de trabajo de aplicaciones web virtualizadas, es probable que desee favorecer los sistemas AMD.
A menos que haya una gran diferencia de precio, no me preocuparía por los dólares. Yo miraría más al subsistema IO. Y, el TCO en 40 servidores será principalmente soporte, licencias de software, si corresponde, y personal, probablemente no los servidores en sí.
Como mínimo, debe hacerse un favor, atraer a ambos proveedores y ejecutar sus sistemas en su hardware antes de comprometerse con 40 servidores de cualquiera de ellos. Solo usted puede responder la pregunta correctamente para su carga de trabajo particular.
fuente
Una cosa más para tirar, tenga cuidado si usa la virtualización de cualquier tipo, ya que la migración de los invitados de Intel a AMD puede ser un problema real y la agrupación entre las marcas no está en absoluto en las tarjetas. Apéguese a una plataforma para cada clúster y acepte que es difícil saltar de uno a otro.
fuente