On Thu, 4 Sep 2003, wcom wrote: > Hola a todos: > > Con respecto al trabajo que tengo que presentar en la facu.... ya lo tengo > muy encaminado.... en lo que es teroia y los puntos a tocar y quiero ver si > me pueden dar una mano por favor. > > Tema 1 > Alto rendimiento: > Beowulf, Mosix y/o OpenMosix > Cluster usando mosix y/o openmosix (prefiero estos). > El Mosix es un parche del kernel que permite que un programa pueda ser > paralelizado> y adem�s que programas no paralelizados migren de un nodo al ^^^^^^^^^^^^ Falso (ver mas abajo). > otro del cluster seg�n la carga de trabajo de cada uno din�micamente. Por > ejemplo un nodo del cluster ejecuta 3 tareas y otro tambien el primero > termina las tres, quedando con 0 tareas. Entonces din�micamente pasar�n > tareas de las que est�n a medio realizar, del nodo con tres tareas al que > tiene 0, reparti�ndose la carga. El Mosix reliza este trabajo > autom�ticamente. Adem�s si un nodo se estropea, se deja de usar y no se le > mandan trabajos. Si unes m�s nodos al cluster, autom�ticamente el Mosix lo > reconoce y empieza a mandarle trabajos con lo cual la escalabilidad es > bastante buena. El problema, es la conexion entre los mismo que debe ser > minimo 100 fullduplex si o si, o preferiria 1000Gb > Mosix no paraleliza, si no que distribuye varios trabajos seriales (no paralelos) entre los procesadores de un cluster. Pero la idea de hacer computacion paralela es distrbuir el _mismo_ trabajo en varios procesos y con eso mosix no funciona.
Las aplicaciones en paralelo de verdad correr usando bibliotecas de paso de mensajes, ya sea MPI o PVM. Y el paralelismo se maneja a nivel de aplicacion y no a nivel de sistema operativo. Y si quieres distribuir trabajos y balancear carga es mejor usar un sistema de colas como OpenPBS o Sun Grid Engine (este es open source) que reparten los trabajos en el momento de ejecutarse y que son capaces de manejar procesos en paralelo. (y tambien puedes hacer cosas como compilar en paralelo.) En HPC escalabilidad es la capacidad de una aplicacion de aumentar el rendimiento a medida que aumenta el numero de procesos, el rendimiento ideal para N procesadores es N*(rendimiento del codigo en 1 procesador) pero esto se ve raras veces. > Pregunta > Este tema lo temgo liquidado, lo unico que no se si entendi bien es, yo tira > una compilacion de kernel como para dar un ejemplo, tengo que hacerlo con > algun comando al principio, para que esa compilacion sea mas rapida? o solo > asume..... pregunto esto por que es mi unica duda con este tema. En el momento en que probe mosix no era capaz de lidiar con compilaciones paralelas para casos simples por que los trabajos son muy cortos y no alcanzan a migrar, ademas migrar un proceso es algo costoso y si el trabajo no es largo es mejor que se quede en un nodo o sera mas lento que migre, corra y vuelva. Digamos en un verdadero cluster para HPC donde se correran aplicaciones paralelas Mosix no tiene mucho que hacer y la utilidad que _podria_ dar es reemplazable por aplicaciones mas robustas y mas simples de mantener (nada de parchar kernels), sino que mosix es mas para aficionados y gente que le gusta jugar a hacer un cluster. Tal vez tenga ventajas otras aplicaciones, algo asi como granjas de compilacion pero yo no se de muchas. Xavier

