Montar un cluster de varios pc's avandonaos
-
Yo tengo tirados 2 pentium1 166 (uno es MMX i el otro no), i me temo k podria conseguir mas. aunke a mi no me insteresa tanto el tema como para perder meses intentandolo, prefiero k alguien lo haga i luego yo me empiezo a mover, pq con la uni uno no puede hacer nada practicamente, ya tube bastante con montar el Server yo solito, jeje.
PD: si k me interesa, pero no puedo estar dedicando monton de horas ya k me es imposible por ahora.
Salu2!
-
Perdon, no me acabe de explicar:
En Windows no se pueden hacer cluster que se repartan una misma tarea de forma efectiva, el problema está en el propio SO, pero si se pueden hacer cluster que realicen tareas diferentes o bien para almacenamiento de datos. Aunque existen programas de terceras partes que intentan hacerlo (todos ellos provienen de Unix) pero nada serio por el momento. El problema sobretodo radica cuando queremos hacer un cluster "diskless".
¿Porque queremos hacer un cluster diskless? Pues porque probablemente tengamos varios pc's tirados por nuestra casa, pero tener que comprar un disco duro para cada uno (en el supuesto que no lo tengamos) es caro solo por intentar aprovechar ese pc. En OpenMosix (que corre bajo sistemas Linux) es posible hacer no solo un cluster que se reparta un trabajo (como puede ser la codificación de un Divx) entre varios pc's al mismo tiempo, sino que ademas lo podemos hacer sin discos duros en los pc's clientes, solo necesitaremos un disco duro en el pc que hace de servidor.
Esto es posible gracias a que OpenMosix divide una tarea en varios hilos.
Por poner un ejemplo:
- Queremos codificar una pelicula de una hora de duración en Divx, pues con OpenMosix dividirá esta tarea en muchas partes, supongamos que la dividimos en 100.000 partes y tenemos 3 pc's, uno un Pentium 133, el otro un PIII-500 y el ultimo un Athlon XP 2600+. Evidentemente existe mucha diferencia de velocidad entre estos pc's, pero por eso seha dividido el video en muchas partes, y no solo 3. Openmosix distribuira 1 parte a cada pc, y hasta que este pc no le devuelva el resultado no le assignará una nueva parte. Al final, el resultado sera que por ejemplo el Pentium 133 habrá procesado 100 partes, el PIII-500 2000 partes y el Athlon al ser más rápido todo el resto. De esta forma podemos añadir muchos pc's de características diferentes (y arquitecturas) y aprovechar lo que nos puede dar cada uno sin que por ello todo el sistema pierda velocidad, sino al contrario.
No obstante se recomienda el uso mínimo de un Pentium 100. Y como norma una red de 100 Mb. Las de 10 MB son demasiado lentas para pasarse entre los pc's toda esta información, y lo que ganemos en computación distribuida, lo perdemos al enviar/recibir estos procesos (partes).
Hay un mundo enorme acerca de la computación distribuida, el problema es que está en Linux, y yo de Linux más bien nulo, por colmo no tengo tiempo para aprender. Pero ya llegará ya…
Yo estoy haciendo uno de estos proyectos, pero la fase quedo parada en la instalcion de OpenMosix (que es totalmente gratuito) y en acer arrancar los pc's sin disco duro, que para eso hemos de crear pequeñas particiones virtuales en el disco duro del server (en el caso de nodos diskless).
Si teneis alguna otra duda aqui estoy para que me consulteis, pero tampoco lo se todo sobre esto.
Saludos!
-
Es un proyecto interesante. Ya lo había pensado alguna k otra vez ya k tngo 4 486DX2 x aki (desmontados, k mi habitacón es pekeñita) y dsd k lei sobre los cluster d PCs en una revista (¿mundo cientifico?) siempre m ha picado la curiosidad. El problema es el mismo k tiene Marlcaj: la falta d tiempo. Entre arreglar todo lo k rompo dl ordnador (k no es poco), lo k rompen mis hermanos (aún más), los miniproyectos (tipo baybus y FA en aceite), la facultad y el trabajo no tngo tiempo para nada
Para el 30 d Junio (el último examen d la facultad) m pondre manos a la obra cn linux y probablemente empiece tambien cn ste proyecto. Ya nos irás contando
-
sergiv lo has explicado a la perfección
-
Si señor sergiv menuda explicación, yo estaba intentando usar uno de esos programas para windows q no rinden tanto como en unix por la razon q dices, pero no lo hago rular ni por asomo.
Me quiero poner a montar el mosix y me gustaria q el server en este caso sea el p3 600 y el cliente el p100 sin HD ya q el q tiene posiblemente se lo lleve mi padre para el pentium 2 de la oficina, necesitaria una disquetera q esta jodida pero weno se compra q no cuenta mucho o voy a algun garbigune. La diaquetera supongo q la necesitara para arrancar, pero el disquete de arranque como se genera, lo genera el propio programa en linux? no creo porque se instala en el nucleo de linux no? weno ya me diras algo
Otra pregunta el Knoppix q es una variacion del debian me lo aconsejas como S.O? solo lo pregunto.
Saludos y gracias.
P.D A ver si alguien se anima y sacamos un manual para los mas vaguetes :risitas: q yo tampoco tengo mucho tiempo por el curro pero aprender siempre tiene un precio
-
Gracias a todos por los cumplidos, la verdad es la primera vez.
Bueno, el server siempre tiene que ser el PC más potente, ya que es el que se encargará de distribuir los paketes entre los demas clientes (cuantos más clientes, más rápido el server). Llegando al punto en que si tienes muchos nodos diskless el server ha de ser dedicado.
Habeis de pensar en que todos los nodos utilizaran el disco duro del server para guardar/leer datos, por lo que este disco duro ha de ser un poco rápido (siempre y cuando tengamos bastantes clientes, y también dependerá de la veliocidad de los clietnes al procesar los datos, + velocidad + accesos para pedir nuevas unidades). Pero para procesar datos utilizara la memoria de su propia placa.
Otra parte muy importante son la preservacion de los datos, el disco duro en clientes de más de 5 pc's es muy intensivo (en el caso diskless), por lo que necesitareis hacer copias de seguridad, o bien un disco duro SCSI que son mas fiables para estas tareas, aunque todo falla, eh?).Para arrancar los nodos el propio Mosix permite crear disketes de arranque segun la tarjeta de red que tengamos (que es vital para comunicar con el PC cliente) y mediante DHCP assignar un ip al cliente. (se tiene que activar tal servicio). Pero eso ya lo pone en los how-to's.
Pero también se puede grabar esa información en eproms (en un tienda de electronica te lo haran por pocos eur.) y meter la eprom a la tarjeta de red, asi te ahorras poner una disketera y cables. Yo tengo todos los pc's metidos en un rack casero, sin caja. Solo con placa, mem, cpu, disipa, t. red. Algunos pc's antiguos tb necesitaran vga para botar.Cuando se trata de nodos con disco duro local, entonces las cosas varian un poco. Pero no mucho, basicamente es mas facil, pero tambien aprenderas menos. Combinar los dos metodos si quereis, empezando por el modo con clientes con disco duro (sera menos frustrante en un principio, ya que instalarlo todo cuesta unas horas, y mas aun si es diskless).
Sobre SO… Prueba SUSE. He oido muy buenas cosas sobre el. También los hay con Redhat, pero no he oido tan buenas cosas. Y Debian funciona muy bien tb. Creo qu Suse es la mejor relacion dificultad/calidad.
Tambien hay una distro que lleva mosix integrado, pero no me acuerdo de su nombre, esta basada en redhat 7.x. Ya buscare.
Si teneis mas dudas y vivis cerca de barcelona, podemos quedar un dia que os lo enseño, pero dista aun de estar terminado eh?
Saludos.
Una cosa que se me olvidaba, programas como PVM (parallel virtual machine, esta disponible para unix y windows) o beowulf, necesitan de programas compilados especificamente para ellos, la adaptacion no es dificil (consiste en añadir unas cuantas lineas de código y verificar ciertas compatibilidades con los hilos de ejecucion), pero no daran el 100% como si estuvieran programados especificamente. Olvidaros de ellos a menos que no tengais algo muy especifico y repetitivo que hacer (busqueda del número pi, seti, etc. Nada de divx). el PVM funciona bajo windows, pero lento y a cuelgues (segun version, pq cuando yo lo lei estaban justo empezando con este SO). Mucho mejor OpenMosix, gratuito y con mayor soporte (bueno, beowulf tb tiene mucho soporte). El rendimiento de OpenMosix segun comparativas en webs es simplemente espectacular, pq siendo un poco menor a aplicaciones especificamente creadas para Beowulf, es mucho más dinámico, pudiendo hacer un cálculo maemático ahora, y comprimir un divx después. Cosa que Beowulf agradece la dedicacion a ciertas tareas (por complegidad de uso). cuando con mosix es como si ejecutaramos una tarea normal y corriente, solo hay que hacer click en ella y el daemon de mosix se encargara de todo lo demas.
-
El boot que se genera en el disco o eprom contiene un mini-nucleo adaptado a ese cliente y datos necesarios para iniciar el cliente y conectarlo a la particion que le corresponde en el server, desde esa particion se iniciara el SO y mosix que se cargará en memoria del cliente. Por eso ocupa tan poco el disket de arranque.
-
eres un mosntruo
el caso es que tengo un 233mmx por cassa un dual 133 (con scsi) y un p75
par ir empezando creo que es un buen inicio
solo me falta montar la redsergiv, como tenga tiempo te van a caer una de dudas…
-
Esto sparece q se esta animando,a ver si formamos un grupillo y entre todos lo sacamos, yo para el fin de seman me pongo con ello, para el lunes hare algun comentario.
saludos y animo a las futuras personas q se pasen por aqui
-
Sergiv yo me apunto a la kedada si la haces. Esto se pone muy interesante.
Salu2!
-
Tampoco hace falta que sea una quedada… solamente que seamos unos pocos con dudas y propuestas, yo tambien tengo dudas (y muchas) sobre OpenMosix. El problemon que tengo es que no tengo nada de tiempo, por cuestiones de trabajo siempre estoy de arriba a abajo (Madrid, Bilbao, Girona, Hannover, Córdoba... ) y no puedo seguir con ellos, ademas, cuando estoy por aki siempre estoy liado en otras cosas.
Algunos consejillos:
-
No os desanimeis, si hay algo que no sale, dejarlo unos dias trankilo y después ya volvereis con más ganas aún, sino os kemareis.
-
Preguntar, preguntar y preguntar, y tb ayudar a los demas. Podriamos dejar esta rama como la de la computación distribuida y poner aki nuestros avances/dudas/sugerencias).
-
Comenzar con cosas fáciles y asequibles. Yo empezaria con un server y un nodo y los dos con disco duro. Apartir de alli... Sino, si tenemos errores al haber hecho todo esto en varios pc's (los nodos) tendremos que repetir cosas hasta la saciedad para arreglar todos lo nodos, y eso jode un monton.
En el futuro, y para probar nuestros nodos, podriamos crear un equipo (por ej. del seti) para utilizar nuestros nodos a tope y ver que tal va la computación distribuida. El equipo de Openmosix (pag. oficial)lleva más de 80.000 unidades (si un monton) con clusters de varios usuarios... kien sabe, a lo mejor os sorprende de lo que un buen cluster con pc's no demasiado actuales puede hacer por vuestras vidas ;-).
Un poco de info:
http://new.linuxnow.com/docs/content/Parallel-Processing-HOWTO-html/Parallel-Processing-HOWTO-3.html
Sobre todo interesante por los diferentes tipos de conexiones.
http://www.lcic.org/distros.html
Hay distros especiales para Mosix k son más rápidas y fáciles de instalar, hay una k me gusta mucho, pero no la encuentro, probar tb con estas, pero yo no las he probado. Ya me lo mirare a ver si la encuentro.
Oye, ya posteareis vuestros avances en el tema.
Saludos y buenas noches.
-
-
Publicado originalmente por shilmar
**eres un mosntruo
el caso es que tengo un 233mmx por cassa un dual 133 (con scsi) y un p75
par ir empezando creo que es un buen inicio
solo me falta montar la redsergiv, como tenga tiempo te van a caer una de dudas…**
jeje, a mi me da que = :o, Shilmar, si te pones dame un toque a ver que podemos hacer :rolleyes:
Salu2
Packo -
packosoft, eso esta echo
lo que pasa es como siempre el tema tiempo va justo
ya tengo pillado todo el puente liado en hacer cosas
lastima -
Buscando sobre el tema que me parece realmente interesante, he dado con este Howto que parece que va al dedillo con el asunto (http://www.sorgonet.com/supercomputing/yourownsupercomputer).
Esta gente se ha montado un cluster a base de unas pocas placas antiguas, en una única "caja" (si se puede llamar caja).
Con la de gente aficionada al modding que hay por aqui seguro que gusta ver como se reducen los gastos de energía y se montan todas con solo un par de fuentes de alimentación.
Acaban montandolo todo bajo PVM, pero llegado a ese punto que cada uno elija que Soft gusta más.
Un saludo y a ver que acabamos montando en casa :-)))
-
Weno para el tema de pc's viejos está bien linux… pero como antes preguntaban si con windows se podia... aki teneis la respuesta
WINDOWS 2003 SERVER EDICIóN ENTERPRISE (CORPORATE)
Diseñado para medianas y grandes empresas, Windows Server 2003, Enterprise Edition es el sistema operativo recomendado para los servidores que ejecuten aplicaciones tales como sistemas de red, de mensajería, de inventario y de servicio de atención al cliente, bases de datos, sitios Web de comercio electrónico y servidores de archivos e impresión. Windows Server 2003, Enterprise Edition proporciona alta confiabilidad, rendimiento y un gran valor empresarial. Disponible en los últimos modelos de hardware, Enterprise Edition tendrá versiones específicas para 32 bits y para 64 bits, para obtener la mayor flexibilidad y escalabilidad. Las organizaciones se beneficiarán de una infraestructura altamente productiva optimizada para la ejecución de los servicios y las aplicaciones empresariales vitales.
Aspectos exclusivos: Las principales diferencias respecto a Windows Server 2003, Standard Edition son: Compatibilidad con servidores de alto rendimiento y capacidad de agrupar todos los servidores en clústeres, para controlar cargas de gran tamaño. Estas capacidades proporcionan una confiabilidad que permite asegurar que los sistemas estarán disponibles aunque se produzca un error en el sistema o independientemente del tamaño de las aplicaciones.
A un alto nivel, Windows Server 2003, Enterprise Edition proporciona compatibilidad con:
Multiproceso simétrico (SMP) de ocho vías.
Organización en clústeres de ocho nodos.
32 gigabytes (GB) de memoria RAM en las versiones de 32 bits y 64 GB de memoria RAM en las versiones de 64 bits.Está totalmente claro ke si vais a montar esto en un pentium a 133 mhz como ke no... pero montar un cluster con 18 ordenadores, amd xp 2000+ como tengo yo pensao hacer este veranito (en el ciber de un colega...) En un principio lo haremos en linux... pero tb tendremos en cuenta esta otra posibilidad ke acabo de ver... De todas formas si lo conseguimos hacer, haremos una guia rapida con fotos inclusive de como hacerlo
Pronto mas y mejor, Un saludo, GothM0G
-
Con windows tendras un cluster de varios pc's (tb se puede hacer con NT 4.0 Server o 2000 server). Pero no de computación en paralelo de una misma tarea.
-
¡¡¡ Ya tengo un cluster montado en casa con Openmosix !!!.
La verdad es que trabajo me ha costado … pero ya está funcionando, y la idea salió de esta rama :-))).
Tengo un Athlon XP2200 por un lado y un arcaico Pentium MMX a 240 Mhz, algo descompensadillos pero me venian de perlas para hacer mis pinitos.
El caso es que he pasado por Debian, Gentoo, RedHat 7.0 y por fin con he conseguido que tiraba el cluster ha sido con Redhat 8.0 y los RPMs descargables de la web de openmosix.
Se que sin recompilar el kernel no los tengo optimizados al 100%, pero es que debo ser muy torpe con la configuración del kernel porque no tiran ni a la de 3.
El caso es que es realmente una pasada ver como migran los procesos entre las máquinas cuando una soporta más carga "relativa" que la otra.
Si teneis algunos pc abandonados por casa, quizas podais sacarle aun algo de vidilla con openmosix.
Lo siguiente será ponerme los guantes de "Bricomanía" y montarme un cacharro con varias placas bases y micros antiguos y ver si se le puede sacar partido a eso, o lo mismo muero en el intento
Un saludito a todos
-
mmmm. seria interesante que pusieras los links de las pág. donde te descargaste los rpm's del redhat…
Que rendimiento obtienes pasando por. ej. un dvd a divx con el athlon solamente??? y con los dos pc's en openmosix???
Dime algo que me interesa mucho
-
Claro …
los rpm los he descargado de la propia web de openmosix
http://openmosix.sourceforge.net/
ali encontrareis tambien los fuentes de los parches necesarios para el kernel si lo que quereis es recompilarlo.
Un entorno gráfico que os permitirá seguir la evolución de la migración de procesos y la carga de los nodos la podeis descargar de
Bonita e interesante.
Con el tema de la medición del rendimiento … la cosa está complicada ya que por ejemplo el rippeo lo hago bajo Windows. Si me informas sobre algun software bueno de rippeo para Linux me pongo a probar.
De todas formas, por lo poco que he visto, lo que hace openmosix es distribuir los procesos completos, no partirlos y distribuirlos (cosa que me pareceria realmente complicado si el proceso no está diseñado para ello). Concretamente en el caso del proceso de rippeo, creo que se lo comeria solito uno de los dos procesadores (posiblemente el grande). A esto se le sacaria partido si la tarea del ripeo se compusiera de numerosos procesos, con lo que seguro la carga total se distribuiria entre los nodos disponibles.
De todas formas es una apreciación sobre las poquitas pruebas a las que lo he sometido.
-
He encontrado otro enlace interesante …
http://nwst.de/livelinuxcd/lilinux.phtml?include=htm/en_welcome.htm
desde aquí os podeis descargar una mini-distro de Linux con openmosix en LiveCD, es decir un Linux arrancable directamente desde CD. Según dice es una forma rapida de añadir un nuevo nodo a un cluster.
Aún no lo he descargado, y no se si permite usar el pc como nodo del cluster sin llegar a instalarlo en el HD, directamente desde CD, pero si fuera así seria la bomba!!!! bastaria con meter el cd en varios pcs conectados en red y configurar el cluster para los nuevos nodos … y a funcionar :-)))).
Lo probaré y comentaré.