Hola :) El Sunday 24 February 2008, Carlos E. R. escribió:
OJO, no digo que los blades sean malos. Vuelvo a lo mismo, se han puesto de moda y no siempre son la mejor solución al problema en cuestión.
Podría ser una manera de tener un cluster en un tamaño razonable.
Depende, por ejemplo, para un render farm o un cluster HP(T)C, te puede interesar más algunos servidores enrackables que dan más densidad. A veces esto no te interesa porque puedes encontrarte auténticos monstruos en cuanto a densidad, pero al llevar quad-core ... el ancho de banda cae por lo que el renidmiento no es siempre mejor. Depende de la aplicación. Conozco un caso en el que se gastaron un dineral en quad-core y sólo han conseguido una mejora del 5% de rendimiento (en el mejor de los casos). IMHO esto puede deberse a dos cosas: - ancho de banda memoria - CPU - ancho de banda disco - CPU En ambos casos hay cuello de botella, pero personalmente creo que es problema del bus CPU-RAM.
Las cojo-máquinas se basan en tecnología NUMA. Son como una máquina SMP ... pero a lo bestia y con memoria compartida/direccionable ;)
Ah, vale, entendí otra cosa, no tan potente.
Para que te hagas una idea, nuestras máquinas NUMA pueden llegar actualmente* con SLES 10 a 1024 cores y 128 TB de RAM en imagen única (Single System Image). Es decir, _no_ es un cluster, es una máquina "SMP". Pongo "SMP" y no SMP porque realmente no es SMP UMA. En una máquina SMP UMA, la memoria no está asociada a un procesador sino que toda la RAM es de todos los procesadores/cores. Esto da lugar a que un proceso ejecutándose en una CPU puede "consumir" toda la memoria. En el caso NUMA, tienes memoria asociada a cada procesador por lo que si un procesador se queda sin memoria, le puede pedir memoria a otro procesador que no la esté utilizando al 100%. Esto es muy similar al HT de AMD. Digo que es muy similar porque una vez asistí a una charla de AMD y me dijeron que no era realmente NUMA. No entendí muy bien por qué no lo era. De ahí el nombre NUMA: Non Uniform Memory Access. El acceso/uso a/de la memoria no es uniforme por parte de todos los procesadores. Frente al UMA: Unified Memory Access de los sistemas SMP. Hay un último escalón que es ccNUMA (cache coherency NUMA). En este caso, se mantiene la coherencia de cachés de todos los procesadores. Imaginémonos que tenemos 8 cores (cada uno con sus cachés L1, L2 y L3). Ahora nos imaginamos que los 8 cores están procesando en paralelo una tarea (cada core su thread o proceso o lo que sea). Puede ocurrir que los cores necesiten saber en un determinado momento el valor de un dato en caché de otro core porque su cálculo depende de esto. Pues en ccNUMA, las cachés se encuentran sincronizadas y la información se "comparte". Si no se encontraran sincronizadas, se detendría el procesado por parte de un core hasta que otro devolviése el dato que tiene en caché. Esta definición que he dado de NUMA es algo de andar por casa, que nadie espere encontrar esto que he escrito en un diccionario ;) Rafa * Tenemos parches para el kernel para 2048 cores, pero el kernel se queda sin slots en la tabla de procesos por lo que no se pueden lanzar tareas. -- "We cannot treat computers as Humans. Computers need love." rgriman@skype.com --------------------------------------------------------------------- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org