¿Cómo lograron los estudiantes universitarios fabricar un procesador KiloCore?

Esta pregunta contiene una premisa falsa: que no existen 1000 CPU centrales (existen), que nadie había pensado en ellas (bueno, existen) y que el concepto tiene algo sustancialmente innovador.

Esa “CPU” kilocore no es de ninguna manera comparable a una CPU de escritorio moderna. Es más como una GPU, que contiene cientos o miles de “núcleos” que son capaces de computación de propósito general pero optimizados para operaciones específicas utilizadas en la generación de gráficos.

De hecho, puede reservar un nuevo GTX1080Ti en este momento, y tiene 3328 núcleos.

Las GPU superan a las CPU de uso general en una cantidad masiva en términos de rendimiento bruto, en un factor de 50 o más … pero no son útiles para todo. En primer lugar, muchas aplicaciones requieren que las cosas se realicen de forma secuencial. Mientras que una GPU puede hacer 3000 cosas diferentes en un ciclo, esa capacidad es completamente inútil si necesita el resultado de una instrucción antes de continuar. Las GPU están optimizadas para realizar cálculos simples de números complejos.

Si intentas ejecutar una aplicación destinada a una CPU en una GPU, suponiendo que se pueda volver a compilar para hacerlo, el rendimiento sería mucho, mucho más lento, hasta el punto de agonía.

Como tal, no hay nada específicamente emocionante sobre el concepto de muchos núcleos de CPU. Hemos estado construyendo computadoras altamente paralelas durante años. Esto no es para minimizar lo ordenado que fue para un proyecto de estudiante, sino como un recordatorio de que nos hemos estado dirigiendo en esta dirección, con un doble enfoque en la ejecución de hilo único y el rendimiento paralelo durante años.

Por un lado, a Microsoft no le importa la cantidad de núcleos.

Por otro…. La mayoría de las aplicaciones funcionan bien con 4–10 núcleos, entonces, ¿por qué molestarse en invertir tiempo y recursos en crear algo con tantos núcleos?