Un solo ordenador que ejecuta software multihilo está limitado por el número de núcleos de procesador capaces de contribuir a la carga de trabajo.
Para aprovechar los múltiples núcleos del procesador en muchos ordenadores, necesitas varias cosas:
1. Su programa necesita ser capaz de dividir la carga de trabajo entre múltiples instancias. Esto se puede hacer a través de la comunicación entre procesos utilizando herramientas como MPI, o mediante la ejecución de múltiples instancias de un solo hilo y la coordinación de qué pieza hace un núcleo de procesador en particular.
2. Necesita una interconexión de alta velocidad. En un ordenador individual, los datos se pasan entre los procesos utilizando el bus del sistema. Un clúster utiliza una red de alta velocidad para unir los nodos y que los procesos puedan comunicarse de forma eficiente. Los clusters que dirijo tienen múltiples interfaces ethernet de 10 gigabits en cada chasis blade y estamos avanzando hacia infiniband para ayudar a resolver los cuellos de botella del tráfico MPI.
La mayoría de los juegos de PC son programas de código cerrado que no tienen la capacidad de repartir la carga entre los sistemas. Sería posible escribir un juego así, pero los costes de hardware, energía y refrigeración serían muy elevados y la amortización sería bastante baja en general.
Dicho esto, podrías comprar un PC de gama alta con múltiples núcleos, mucha RAM, almacenamiento rápido y una tarjeta gráfica de gama alta y tener el sistema más rápido de la manzana (durante un año aproximadamente). 😀