Hola :)
Creo que acá estamos haciendo una ensalada barbara: primero empezamos hablando de computadora, despues de microprocesadores, y por ultimo de decenas de CPUs.
No tiene por qué haber ensalada: una computadora tiene microprocesadores, desde una CPU hasta cientos de CPUs.
Sería bueno, que desde el comienzo al final no mezclemos terminos distintos; una cosa es una computadora de multiples procesadores, y otra cosa es un cluster, que es un conjunto de computadoras trabajando en conjunto, y de hecho, se puede hacer un cluster con computadoras 486.
Siento haber confundido a los lectores, tanto en el caso AMES (NASA) como en el caso redstorm, se está hablando de un cluster. En el caso con el que empecé el thread (una máquina de 64 CPUs de las cuales sólo me dejaron "jugar" con 32), hablo de una única máquina de 64 CPUs que ocupa 2 racks, pero es una única máquina con en la que hay sólo una imagen de sistema operativo instalada y corriendo. La diferencia con el cluster es que en un cluster, cada nodo (o máquina) tiene una imagen de sistema operativo corriendo independiente de las demás máquinas o nodos. En el caso de AMES (NASA), el cluster está compuesto por 20 máquinas de 512 CPUs cada una. Es decir, se han instalado sólo 20 Linux.
Creo que no tiene ningun sentido hablar de la potencia de un cluster, ya que va a depender de la cantidad de computadoras o racks que lo
Antes que nada, aclarar que 1 rack no es necesariamente lo mismo que 1 computadora. En el caso con el que empezaba thread, hablaba de una máquina de 64 CPUs que ocupa 2 racks. En el caso de la NASA, una máquina ocupa 16 racks. Y hay máquinas que ocupan 1 U de un rack.
integren, y a su vez la potencia de cada una de estas computadoras o racks, que en realidad, va a depender primariamente del tipo de microprocesadores y la cantidad de ellos, sumados a ellos el tipo de interconeccion entre ellos dentro de cada rack (por ej. HyperTransport).
La potencia de una computadora no depende principalmente del número de procesadores. Pongo un ejemplo. Supongamos una computadora de 1 CPU con una ancho de banda entre memoria-CPU de 10.4 Gb/s. Si añadimos otra CPU ... el bus se reparte entre ambas CPUs, luego cae el rendimiento puesto que los datos no llegan igual de "rápido" a ambas CPUs. Esto provoca que las CPUs tengan tiempos de espera (idle o como se quiera llamar). Demos otro paso, añadimos otras 2 CPUs, el bus de 10.4 Gb/s se divide entre las 4 CPUs, luego el rendimiento cae una vez más. y ahora la probabilidad de que las CPUs estén ociosas es aún mayor ya que el ancho de banda no aumenta. Sigamos añadiendo CPUs ... imaginemos que añadimos CPUs hasta llegar hasta 256 CPUs ... esto ocupa un espacio, luego la distancia entre CPUs y entre CPUs y memoria es mayor ... eso da lugar a latencias, ... cae el rendimiento. De ahí que lo importante no sea exclusivamente el tipo de CPU. Debemos tener en cuenta que pasado un número de CPUs, ya no podemos aplicar las ideas que tenemos de los equipos de sobremesa, el diseño y la programación son completamente diferentes y algo que no preocupa en el mundo del PC SÍ preocupa (y mucho) en estos casos de supercomputación. Afortunadamente todos estos problemas de disminución de ancho de bandas, latencias, distancias, ... ya estás estudiados ;)
Si mal no recuerdo, hablando de clusters, hay un gran proyecto de un cluster a traves de internet, uniendo computadoras particulares, para un modelo de predicción meteorologica. Espero que alguien se acuerde mejor del tema, ya que ahora no recuerdo el nombre de este proyecto.
Hay varios proyectos de estos: recordemos SETI, otros para ayudar a investigar en temas de cáncer, reventar algoritmos de cifrado, ... Esto es lo que se llama grid computing. La idea es que el cluster no sea estático y puedas destinar ciclos de CPUs ociosas (por ejemplo, cuando te vas a comer y el equipo no hace nada "útil") a estos proyectos.
Conclusión: decir que tal cluster es mas potente que aquel otro, es una cuestión relativa, y no implica que los microprocesadores del cluster mas potente, sean mas potentes o efectivos que los del menos potente.
Estoy 100% de acuerdo contigo. Y sigo manteniendo que cada procesador tiene su nicho y que, a la hora de hablar de potencia, hay que tener en cuenta principalmente 2 factores: - HW escalable - aplicación escalable y un tercer elemento no excesivamente crítico: - sistema operativo escalable Siempre he dicho que hacer benchmarks es algo muy complicado y que intervienen cosas tan extremas como versiones de firmware o de BIOS hasta opciones de compilación, pasando por elementos HW utilizados y la manera de conectarlos, interferencias electro magnéticas, incluso motas de polvo y temperatura. No es fácil comparar la potencia de dos PCs luego comparar la potencia de dos clusters es muy complicado. En www.top500.org se comparan dos cluster o 2 máquinas corriendo una misma aplicación y se miden tiempos y cálculos por segundo, ... Esto se hace varias veces y se obtienen datos estadísticos que dan una idea global del sistema. Rafa -- Rafa Grimán Systems Engineer Silicon Graphics Spain Santa Engracia , 120 - Planta Baja 28003 Madrid, Spain Tel: +34 91 3984200 Fax: +34 91 3984201 Móvil: +34 628 117 940 http://www.sgi.com