No es una pregunta fácil de contestar. La arquitectura de la computadora es, como era de esperar, bastante complicada. A continuación hay algunas pautas, pero incluso estas son simplificaciones. Mucho de esto se reducirá a su aplicación y en qué restricciones está trabajando (tanto empresarial como técnico).
Las CPU tienen varias (2-3 en general) levels of caching on the CPU. Algunas CPU modernas también tienen un controlador de memoria en el dado. Eso puede mejorar en gran medida la velocidad de intercambio de memoria entre núcleos. La E/S de memoria entre las CPU tendrá que ir en un bus externo, que tiende a ser más lento.
Los chips AMD/ATI usan HyperTransport, que es un protocolo punto a punto.
Para complicar todo esto, sin embargo, es la arquitectura del bus. El sistema Core 2 Duo/Quad de Intel usa un shared bus. Piense en esto como Ethernet o Internet por cable, donde solo hay mucho ancho de banda y cada nuevo participante simplemente toma otra parte del todo. Core i7 y Xeons más nuevos usan QuickPath, que es bastante similar a HyperTransport.
Más núcleos ocuparán menos espacio, usarán menos espacio y menos energía y costarán menos (a menos que use CPU de muy baja potencia) en términos por núcleo y el costo de otro hardware (por ejemplo, placas base).
En términos generales, una CPU será la más económica (tanto en términos de hardware como de software). El hardware de productos básicos se puede usar para esto. Una vez que va al segundo zócalo, tiende a tener que usar diferentes chipsets, placas base más costosas y, a menudo, RAM más cara (por ejemplo, memoria RAM ECC totalmente almacenada) para que tenga un costo enorme al pasar de una CPU a dos. Esta es una de las razones por las que muchos sitios grandes (incluidos Flickr, Google y otros) usan miles de servidores básicos (aunque los servidores de Google están algo personalizados para incluir cosas como una batería de 9V pero el principio es el mismo).
Sus ediciones en realidad no cambian mucho. "Rendimiento" es un concepto altamente subjetivo. Rendimiento en qué?Sin embargo, tenga en cuenta que si su aplicación no es lo suficientemente multiproceso (o multiproceso) para aprovechar los núcleos adicionales, entonces puede disminuir el rendimiento agregando más núcleos.
Las aplicaciones de E/S vinculadas probablemente no preferirán una sobre la otra. Después de todo, están vinculados por E/S, no por CPU.
Para aplicaciones basadas en cálculo, así que depende de la naturaleza del cálculo. Si está haciendo muchos puntos flotantes, puede beneficiarse mucho más al usar una GPU para descargar los cálculos (por ejemplo, usando Nvidia CUDA). Puede obtener un beneficio de rendimiento enorme beneficio de esto. Eche un vistazo al GPU client for [email protected] para ver un ejemplo de esto.
En resumen, su pregunta no se presta a una respuesta específica porque el tema es complicado y simplemente no hay suficiente información. La arquitectura técnica es algo que debe diseñarse para la aplicación específica.
¿Mejor para qué? Aplicaciones de E/S Aplicaciones compute-bound? ¿Servidor de base de datos? ¿Servidor web? ¿Vídeo transmitido en vivo? –
Rendimiento principalmente. Pero preferiría una respuesta más completa, si es particularmente mejor en uno y horrible en otro, entonces me gustaría saberlo también. – Sev
Y si tuviera que elegir, estaría más interesado, lo cual es mejor en lo que respecta a las aplicaciones de E/S y las aplicaciones de cómputo. – Sev