El manual para el   clustering con openMosixpor Miquel Catal´n i Co¨                a      ıt         ≡ miKeL a.k.a.mc2   ...
Este manual est´ dedicado a todos aquellos                            a             que han hecho, hacen y har´n que haya ...
Este COMO ha estado posible gracias a las colaboraciones de:                Ana P´rez Arteaga correcciones ortogr´ficas y l...
´Indice de figuras  1.    openMosixview: Aplicaci´n principal . . . . . . . . . . . . . . . . . . . . . .                  ...
´Indice de cuadros  1.   Cambiando los parmetros en /proc/hpc . . . . . . . . . . . . . . . . . . . . .       19  2.   Bin...
openMosix y el mundo de la programaci´n libre avanzan a pasos agigantados. Es un                                          ...
´Indice1. Introducci´n             o                                                                                1  1.1...
3.4.2. El mecanismo de migrado . . . . . . . . . . . . . . . . . . . . . . . .        11       3.4.3.   ¿ Cu´ndo podr´ mig...
6.4.2. Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      237. Ajustes en el cluster        ...
8.9. FAQ de openMosixview -preguntas m´s frecuentes . . . . . . . . . . . . . . .                                        a...
1.   Introducci´n               o
´1 INTRODUCCION                                                                             2       Primero fue MOSIX, aho...
´1 INTRODUCCION                                                                             31.2.    Limitaci´n de respons...
´1 INTRODUCCION                                                                            4Para dudas concretas sobre la ...
2.   ¿Qu´ es realmente openMosix?        e
2      ´    ¿QUE ES REALMENTE OPENMOSIX?                                                          62.1.     Una muy breve ...
2      ´    ¿QUE ES REALMENTE OPENMOSIX?                                                         7Los clusters Beowulf han...
2        ´      ¿QUE ES REALMENTE OPENMOSIX?                                                        82.2.     Una aproxima...
2          ´        ¿QUE ES REALMENTE OPENMOSIX?                                                        9A principios de 1...
2      ´    ¿QUE ES REALMENTE OPENMOSIX?                                                         10desarrolladores y para ...
3.   Caracter´             ısticas de openMosix
3 CARACTER´          ISTICAS DE OPENMOSIX                                                             123.1.     Pros de o...
3 CARACTER´          ISTICAS DE OPENMOSIX                                                                        13La part...
3 CARACTER´          ISTICAS DE OPENMOSIX                                                           143.4.1.   El nodo ra´...
3 CARACTER´          ISTICAS DE OPENMOSIX                                                            15Cumpliendo todas es...
3 CARACTER´          ISTICAS DE OPENMOSIX                                                           16Esta comunicaci´n ta...
4.   Requerimientos y planteamientos
4 REQUERIMIENTOS Y PLANTEAMIENTOS                                                        184.1.    Requerimientos hardware...
4 REQUERIMIENTOS Y PLANTEAMIENTOS                                                           19cluster unico: cada m´quina ...
5.   Instalaci´n de un cluster openMosix              o
´5 INSTALACION DE UN CLUSTER OPENMOSIX              215.1.     Obteniendo fuentes y paquetes5.1.1.   Parcheando el kernel ...
6.   Administraci´n del cluster                 o
´6 ADMINISTRACION DEL CLUSTER                                                            23       El mantenimiento de un s...
´6 ADMINISTRACION DEL CLUSTER                                                                  24          echo 1 > /proc/...
´6 ADMINISTRACION DEL CLUSTER                                                           25       clear    resetea las esta...
´6 ADMINISTRACION DEL CLUSTER                                                                  26mosct whois [openMosix_ID...
´6 ADMINISTRACION DEL CLUSTER                                                               27 stay        desactiva la mi...
´6 ADMINISTRACION DEL CLUSTER                                                            28         setpe es una utilidad ...
´6 ADMINISTRACION DEL CLUSTER                                                            296.4.2.   Problemas        Algun...
7.   Ajustes en el cluster
8.   openMosixview
8 OPENMOSIXVIEW                                                                           328.1.      Introducci´n        ...
8 OPENMOSIXVIEW                                                                          338.2.1.   Instalaci´n de los paq...
8 OPENMOSIXVIEW                                                                            34                             ...
8 OPENMOSIXVIEW                                                                          358.3.     Utilizando openMosixvi...
8 OPENMOSIXVIEW                                                                         36indicador de la eficiencia del al...
How to openmosixes-0.4beta
How to openmosixes-0.4beta
How to openmosixes-0.4beta
How to openmosixes-0.4beta
How to openmosixes-0.4beta
How to openmosixes-0.4beta
How to openmosixes-0.4beta
How to openmosixes-0.4beta
How to openmosixes-0.4beta
How to openmosixes-0.4beta
How to openmosixes-0.4beta
How to openmosixes-0.4beta
How to openmosixes-0.4beta
How to openmosixes-0.4beta
How to openmosixes-0.4beta
How to openmosixes-0.4beta
How to openmosixes-0.4beta
How to openmosixes-0.4beta
How to openmosixes-0.4beta
How to openmosixes-0.4beta
How to openmosixes-0.4beta
How to openmosixes-0.4beta
How to openmosixes-0.4beta
How to openmosixes-0.4beta
How to openmosixes-0.4beta
How to openmosixes-0.4beta
How to openmosixes-0.4beta
How to openmosixes-0.4beta
How to openmosixes-0.4beta
How to openmosixes-0.4beta
How to openmosixes-0.4beta
How to openmosixes-0.4beta
How to openmosixes-0.4beta
How to openmosixes-0.4beta
How to openmosixes-0.4beta
How to openmosixes-0.4beta
How to openmosixes-0.4beta
How to openmosixes-0.4beta
How to openmosixes-0.4beta
How to openmosixes-0.4beta
How to openmosixes-0.4beta
How to openmosixes-0.4beta
How to openmosixes-0.4beta
Upcoming SlideShare
Loading in …5
×

How to openmosixes-0.4beta

1,104 views

Published on

ver

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,104
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
17
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

How to openmosixes-0.4beta

  1. 1. El manual para el clustering con openMosixpor Miquel Catal´n i Co¨ a ıt ≡ miKeL a.k.a.mc2 inspirado en el HOWTO de Kris Buytaert
  2. 2. Este manual est´ dedicado a todos aquellos a que han hecho, hacen y har´n que haya algo que a documentar. A todos los desarrolladores del proyecto openMosix, muchas gracias.Menciones especiales para: Moshe Bar principal desarrollador, autor del MFS y DFSA Louis Zechtzer Martin Høy Brian Pontz Bruce Knox Matthew Brichacek Matthias Rechenburg Maurizio Davini Michael Farnbach Mark Veltzer Muli Ben Yehuda (a.k.a. mulix) David Santo OrceroopenMosix -because they said it couldn’t be doneopenMosix, porque dijeron que no pod´ hacerse ıa
  3. 3. Este COMO ha estado posible gracias a las colaboraciones de: Ana P´rez Arteaga correcciones ortogr´ficas y l´xico-sem´nticas e a e a C. W. Strommer traducci´n de las PMF (preguntas m´s frecuentes) o a Jaime Perea cap´ ıtulo sobre PCMCIA (openMosix para ordenadores port´tiles) a Marcelo Stutz cap´ ıtulo sobre el acceso a openMosixView con ssh y David Santo Orcero aportaciones desde su inmenso archivo personal Todos nosotros nos hemos esforzado y lo haremos para que a usuarios como t´ les sea uutil esta gu´ por ello te animamos a hacernos llegar cualquier ambiguedad, error o consejo´ ıa,para poder mejorarla.Tambi´n a t´ que has sabido ver el poder de la comunidad libre y vas a convertir tus PCs en e ıun super-computador, gracias.
  4. 4. ´Indice de figuras 1. openMosixview: Aplicaci´n principal . . . . . . . . . . . . . . . . . . . . . . o 29 2. openMosixview: Propiedades de los nodos . . . . . . . . . . . . . . . . . . . 30 3. openMosixview: Ejecuci´n avanzada . . . . . . . . . . . . . . . . . . . . . . . o 31 4. openMosixprocs: Administraci´n de procesos . . . . . . . . . . . . . . . . . . o 33 5. openMosixprocs: La ventana de migrado de un proceso(1) . . . . . . . . . . . 34 6. openMosixprocs: La ventana de migrado de un proceso(2) . . . . . . . . . . . 35 7. openMosixanalyzer. Historial de actividad de procesamiento del cluster . . . 37 8. openMosixanalyzer. Estad´ ısticas de los nodos . . . . . . . . . . . . . . . . . . 37 9. openMosixanalyzer. Historial de actividad de memoria de nuestro cluster . . 38 10. openMosixhistory. Un historial de los procesos ejecutados . . . . . . . . . . . 39
  5. 5. ´Indice de cuadros 1. Cambiando los parmetros en /proc/hpc . . . . . . . . . . . . . . . . . . . . . 19 2. Binarios en /proc/hpc/admin . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3. Escribiendo un 1 en /proc/hpc/decay . . . . . . . . . . . . . . . . . . . . . . 20 4. Informaci´n adicional sobre los procesos locales . . . . . . . . . . . . . . . . o 20 5. Informaci´n de los otros nodos . . . . . . . . . . . . . . . . . . . . . . . . . . o 20 6. Par´metros de mosctl con m´s detalle . . . . . . . . . . . . . . . . . . . . . a a 21 7. Par´metros adicionales para mosrun . . . . . . . . . . . . . . . . . . . . . . . a 21 8. Condiciones de inicio avanzadas para procesos . . . . . . . . . . . . . . . . . 32
  6. 6. openMosix y el mundo de la programaci´n libre avanzan a pasos agigantados. Es un omundo donde el sol nunca se pone y donde nadie entiende de fronteras, razas ni religiones.Lo que cuenta es el c´digo. Y llega en gran cantidad, y de gran calidad. o Moshe Bar Puedes encontrar este manual y sus futuras revisiones en internet en la direcci´n http://w3.akamc2.net o
  7. 7. ´Indice1. Introducci´n o 1 1.1. Sobre este documento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2. Limitaci´n de responsabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . o 2 1.3. Pol´ ıtica de distribuci´n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o 3 1.4. Nuevas versiones de este documento . . . . . . . . . . . . . . . . . . . . . . . 3 1.5. Mantenimiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32. ¿Qu´ es realmente openMosix? e 4 2.1. Una muy breve introducci´n al clustering . . . . . . . . . . . . . . . . . . . . o 5 2.1.1. HPC, Fail-over y Load-balancing . . . . . . . . . . . . . . . . . . . . 5 2.1.2. Mainframes y supercomputadoras vs. clusters . . . . . . . . . . . . . 5 2.1.3. Modelos de clusters NUMA, PVM y MPI . . . . . . . . . . . . . . . . 6 2.2. Una aproximaci´n hist´rica . . . . . . . . . . . . . . . . . . . . . . . . . . . o o 6 2.2.1. Desarrollo hist´rico . . . . . . . . . . . . . . . . . . . . . . . . . . . . o 6 2.2.2. openMosix != MOSIX . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.3. openMosix en acci´n: un ejemplo . . . . . . . . . . . . . . . . . . . . . . . . o 83. Caracter´ ısticas de openMosix 9 3.1. Pros de openMosix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.2. Contras de openMosix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.3. Subsistemas de openMosix . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.3.1. Mosix File System (MFS) . . . . . . . . . . . . . . . . . . . . . . . . 10 3.3.2. Migraci´n de procesos . . . . . . . . . . . . . . . . . . . . . . . . . . o 10 3.3.3. Direct File System Access (DFSA) . . . . . . . . . . . . . . . . . . . 10 3.3.4. Memory ushering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.4. El algoritmo de migraci´n . . . . . . . . . . . . . . . . . . . . . . . . . . . . o 11 3.4.1. El nodo ra´ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ız 11
  8. 8. 3.4.2. El mecanismo de migrado . . . . . . . . . . . . . . . . . . . . . . . . 11 3.4.3. ¿ Cu´ndo podr´ migrar un proceso? . . . . . . . . . . . . . . . . . . a a 12 3.4.4. La comunicaci´n entre las dos ´reas . . . . . . . . . . . . . . . . . . . o a 124. Requerimientos y planteamientos 14 4.1. Requerimientos hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 4.2. Lineas b´sicas en la configuraci´n del hardware . . . . . . . . . . . . . . . . a o 15 4.3. Requerimientos software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 4.4. Planteamientos de tu cluster . . . . . . . . . . . . . . . . . . . . . . . . . . . 155. Instalaci´n de un cluster openMosix o 16 5.1. Obteniendo fuentes y paquetes . . . . . . . . . . . . . . . . . . . . . . . . . . 17 5.1.1. Parcheando el kernel de linux . . . . . . . . . . . . . . . . . . . . . . 17 5.1.2. Opciones en el nuevo kernel parcheado . . . . . . . . . . . . . . . . . 17 5.1.3. Las herramientas de usuario . . . . . . . . . . . . . . . . . . . . . . . 17 5.1.4. Paquetes RPM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 5.1.5. Debian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 5.1.6. Fuentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 5.2. Compilaciones necesarias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 5.2.1. Compilaci´n del nuevo kernel . . . . . . . . . . . . . . . . . . . . . . o 17 5.2.2. Configurando las herramientas de usuario . . . . . . . . . . . . . . . . 17 5.3. Instalaciones del programario . . . . . . . . . . . . . . . . . . . . . . . . . . 176. Administraci´n del cluster o 18 6.1. Administraci´n b´sica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o a 19 6.2. Configuraci´n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o 19 6.3. Las herramientas de ´rea de usuario . . . . . . . . . . . . . . . . . . . . . . . a 20 6.4. Detecci´n autom´tica de nodos . . . . . . . . . . . . . . . . . . . . . . . . . o a 22 6.4.1. Compilaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
  9. 9. 6.4.2. Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237. Ajustes en el cluster 258. openMosixview 26 8.1. Introducci´n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o 27 8.2. Instalaci´n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o 27 8.2.1. Instalaci´n de los paquetes RPM . . . . . . . . . . . . . . . . . . . . o 27 8.2.2. Instalaci´n de las fuentes . . . . . . . . . . . . . . . . . . . . . . . . . o 28 8.2.3. Script de configuraci´n autom´tico . . . . . . . . . . . . . . . . . . . o a 28 8.2.4. Compilaci´n manual . . . . . . . . . . . . . . . . . . . . . . . . . . . o 28 8.3. Utilizando openMosixview . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 8.3.1. Aplicaci´n principal . . . . . . . . . . . . . . . . . . . . . . . . . . . . o 29 8.3.2. La ventana de configuraci´n . . . . . . . . . . . . . . . . . . . . . . . o 30 8.3.3. Ejecuci´n avanzada . . . . . . . . . . . . . . . . . . . . . . . . . . . . o 31 8.3.4. La l´ ınea de comandos . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 8.3.5. El host-chooser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 8.3.6. El host-chooser paralelo . . . . . . . . . . . . . . . . . . . . . . . . . 32 8.4. openMosixprocs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 8.4.1. Introducci´n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o 33 8.4.2. La ventana de migraci´n . . . . . . . . . . . . . . . . . . . . . . . . . o 34 8.4.3. Administrando procesos remotamente . . . . . . . . . . . . . . . . . . 35 8.5. openMosixcollector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 8.6. openMosixanalyzer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 8.6.1. Una visi´n general de la carga del sistema . . . . . . . . . . . . . . . o 36 8.6.2. Estad´ ısticas sobre los nodos del cluster . . . . . . . . . . . . . . . . . 38 8.6.3. Monitoraje de la memoria . . . . . . . . . . . . . . . . . . . . . . . . 38 8.7. openMosixhistory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 8.8. openMosixview + SSH2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
  10. 10. 8.9. FAQ de openMosixview -preguntas m´s frecuentes . . . . . . . . . . . . . . . a 419. Casos especiales 44 9.1. Laptops y targetas PCMCIA . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 9.2. Nodos sin disco duro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4610.Problemas m´s comunes a 51 10.1. No veo todos los nodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 10.2. FAQ de openMosix -preguntas m´s frecuentes . . . . . . . . . . . . . . . . . a 52 10.2.1. General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 10.2.2. Obteniendo, compilando, instalando y funcionando con openMosix . . 53 10.2.3. Preguntas del kernel (n´cleo) . . . . . . . . . . . . . . . . . . . . . . u 54 10.2.4. Sistema de ficheros . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 10.2.5. Programando openMosix . . . . . . . . . . . . . . . . . . . . . . . . . 55 10.2.6. Recursos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 10.2.7. Miscel´nea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . a 5611.Precauciones 58 11.1. Procesos bloqueados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 11.2. Escogiendo tus procesos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 11.3. Java y openMosix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5912.Para m´s informaci´n a o 60 ´13.APENDICE A: Aplicaciones funcionando 62 13.1. Programas que funcionan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 13.2. Programas que NO funcionan . . . . . . . . . . . . . . . . . . . . . . . . . . 63 ´14.APENDICE B: Acr´nimos o 64
  11. 11. 1. Introducci´n o
  12. 12. ´1 INTRODUCCION 2 Primero fue MOSIX, ahora es openMosix, un proyecto mucho m´s interesante no s´lo a odesde un punto de vista t´cnico sino porque se han mejorado los t´rminos de la licencia que e emanten´ a Mosix bajo c´digo propietario. ıa oEste COMO (o manual) est´ dirigido a conocer el proyecto openMosix y no el MOSIX por ala simple raz´n que el primero tiene un sector de usuarios mucho m´s amplio y con may- o aores garant´ de crecer en los pr´ximos tiempos (Moshe Bar, el principal desarrollador del ıas oproyecto openMosix, estima que el 97 % de los usuarios de la antigua comunidad Mosix yahan migrado a openMosix). La redacci´n de los principales cap´ o ıtulos es la traducci´n del oHOWTO escrito por Kris Buytaert para usuarios de Mosix y openMosix. Esta dualidadtem´tica aportaba confusi´n y obsoletismo as´ que creo haber mejorado y actualizado bas- a o ıtante cap´ ıtulos como el de la Instalaci´n, donde he profundizado para permitir que cualquier ousuario novel de Linux pueda arregl´rselas con openMosix. En ´sta, mi propuesta en castel- a elano del HOWTO oficial, dejar´ de lado Mosix por considerarlo una tecnolog´ obsoleta y e ıaa´n m´s cuando ya lleva, a d´ de hoy, cerca de un a˜o sin ser actualizada. Nada une ya a u a ıa nMosix y openMosix, e intentar buscarles parecidos resultar´, como los grandes avances en el aproyecto demuestran, cada vez ms dif´ ıcil.Para m´s informaci´n sobre el HOWTO original de Kris Buytaert puedes dirigirte a su sitio a oweb (referenciado m´s adelante). a1.1. Sobre este documento Este documento te dar´ una breve descripci´n de openMosix, un paquete soft- a oware que posibilita que una red de computadoras basadas en GNU/Linux fun-cionen como un cluster (adem´s ser´ SSI, S ingle System Image, como se ver´). a a aA lo largo de este camino que empezaremos juntos se introducir´n conceptos como la com- aputaci´n paralela, super-computaci´n, breves tutoriales para programas que tengan utili- o odades especiales para las posibilidades que openMosix pueda ofrecerte, e incluso un repasohist´rico sobre los inicios del clustering como alternativa para la super-computaci´n (ver o oAp´ndice B). eAsimismo este manual ampl´ su contenido proporcionando documentaci´n para las distintas ıa odistribuciones, b´sicamente considerando las que se basan en Debian (y sus paquetes .deb) ay las basadas en los paquetes de RedHat (.rpm). Obviamente la compilaci´n de los fuentes oser´ una alternativa constante durante todo el proceso. aKris Buytaert escribi´ el HOWTO original en febrero de 2002, cuando Scot Stevenson busca- oba a alguien para llevar a cabo este trabajo de documentaci´n. En aquella versi´n original se o ohac´ muchas veces a referencia Mosix cuando deb´ leerse openMosix, as´ que me tomar´ la ıa ıa ı elibertad de focalizarlo todo hacia el segundo, en pro de una mejor inteligibilidad para ellector y por las causas anteriormente citadas.
  13. 13. ´1 INTRODUCCION 31.2. Limitaci´n de responsabilidad o Utilice la informaci´n contenida en este documento siendo responsable del riesgo oque puedan correr sus equipos. Yo mismo y el equipo de colaboradores repudiamos cualquierresponsabilidad sobre las consecuencias que el seguimiento de estos contenidos puedan provo-car.El uso de los ejemplos y conceptos expuestos corren a cargo del lector.Es recomendable hacer copias de seguridad (backups) de su sistema antes de iniciar cualquierinstalaci´n, ya que el trabajo desde root (administrador de su equipo linux) puede provocar op´rdidas y/o modificaciones irreversibles de su informaci´n. e oAsimismo, para su mayor comodidad en caso de dar un mal paso, es recomendable hacerbackups regularmente.1.3. Pol´ ıtica de distribuci´n oCopyright c 2002 by Kris Buytaert and Scot W.Stevenson, para el documento original.Para el presente manual no existe licencia alguna, aunque agradecemos de antemano (elequipo de colaboradores y yo mismo) la notificaci´n de cualquier uso que pueda darsele. o1.4. Nuevas versiones de este documento Las versiones oficiales (tanto las originales en ingl´s como sus diversas traducciones) ede este documento ser´n hospedadas en The Linux Documentation Project1 . aLos borradores del documento original se encontrar´n en la web de Kris Buytaert2 en el asub-directorio apropiado. Los cambios en este documento normalmente ser´n anunciados en alas listas de distribuci´n de openMosix. oLos posibles cambios en ´sta, la versi´n en castellano, ser´n igualmente anunciados en la e o acitada lista y podr´s obtenerla en mi sitio web3 . a1.5. Mantenimiento Actualmente este manual est´ mantenido por miKeL a.k.a.mc2 (Miquel Catal´n i a aCo¨ por favor manda tus dudas o preguntas a la direcci´n de correo electr´nico que en- ıt), o ocontrar´s en su sitio web. aEnv´ tambi´n tus comentarios, preguntas, errores que puedas encontrar y por supuesto ıa etodos los elogios que creas oportunos, al autor. 1 http://www.tldp.org 2 http://howto.ipng.be/Mosix-HOWTO/index.html 3 http://w3.akamc2.net
  14. 14. ´1 INTRODUCCION 4Para dudas concretas sobre la tecnolog´ openMosix, por favor dir´ ıa ıgete a las listas de correodel proyecto (ver cap´ ıtulo Para m´s informaci´n). a o
  15. 15. 2. ¿Qu´ es realmente openMosix? e
  16. 16. 2 ´ ¿QUE ES REALMENTE OPENMOSIX? 62.1. Una muy breve introducci´n al clustering o La mayor parte del tiempo tu computadora permanece ociosa. Si lanzas un programade monitorizaci´n del sistema como xload o top, ver´s probablemente que la lectura de la o acarga de tu procesador permanece generalmente por debajo del 10 %.Si tienes al alcance varias computadoras los resultados ser´n los mismos ya que no podr´s a ainteractuar con m´s de una de ellas al mismo tiempo. Desafortunadamente cuando real- amente necesites potencia computacional (como por ejemplo para comprimir un fichero OggVorbis, o para una gran compilaci´n) no podr´s disponer de la potencia conjunta que te o aproporcionar´ todas ellas como un todo. ıanLa idea que se esconde en el trasfondo del clustering es precisamente poder contar con todoslos recursos que puedan brindarte el conjunto de computadoras de que puedas disponer parapoder aprovechar aquellos que permanecen sin usar, basicamente en otras computadoras.La unidad b´sica de un cluster es una computadora simple, tambi´n denominada nodo. Los a eclusters pueden crecer en tama˜o (o mejor dicho, pueden escalar) a˜adiendo m´s m´quinas. n n a aUn cluster como un todo puede ser m´s potente que la m´s veloz de las m´quinas con las a a aque cuenta, factor que estar´ ligado irremediablemente a la velocidad de conexi´n con la que a ohemos construido las comunicaciones entre nodos.Adem´s, el sistema operativo del cluster puede hacer un mejor uso del hardware disponible aen respuesta al cambio de condiciones. Esto produce un reto a un cluster heterog´neo (com- epuesto por m´quinas de diferente arquitectura) tal como iremos viendo paso a paso. a2.1.1. HPC, Fail-over y Load-balancing B´sicamente existen tres tipos de clusters: Fail-over, Load-balancing y HIGH Perfor- amance Computing.Los clusters Fail-over consisten en dos o m´s computadoras conectadas en red con una aconexi´n heartbeat separada entre ellas. La conexi´n heartbeat entre las computadoras es o ousualmente utilizada para monitorear cu´l de todos los servicios est´ en uso, as´ como la a a ısustituci´n de una m´quina por otra cuando uno de sus servicios haya ca´ o a ıdo.El concepto en los Load-balancing se basa en que cuando haya una petici´n entrante al oservidor web, el cluster verifica cu´l de las m´quinas disponibles posee mayores recursos a alibres, para luego asignarle el trabajo pertinente.Actualmente un cluster load-balancing es tambi´n fail-over con el extra del balanceo de la ecarga y a menudo con mayor n´mero de nodos. uLa ultima variaci´n en el clustering son los High Performance Computing. ´ oEstas m´quinas han estado configuradas especialmente para centros de datos que requieren auna potencia de computaci´n extrema. o
  17. 17. 2 ´ ¿QUE ES REALMENTE OPENMOSIX? 7Los clusters Beowulf han sido dise˜ados espec´ n ıficamente para estas tareas de tipo masivo,teniendo en contrapartida otras limitaciones que no lo hacen tan accesible para el usuariocomo un openMosix.2.1.2. Mainframes y supercomputadoras vs. clusters Tradicionalmente los mainframes y las supercomputadoras han estado construidassolamente por unos fabricantes muy concretos y para un colectivo elitista que necesitabagran potencia de c´lculo, como pueden ser empresas o universidades. aPero muchos colectivos no pueden afrontar el costo econ´mico que supone adquirir una om´quina de estas caracter´ a ısticas, y aqu´ es donde toma la m´xima importancia la idea de ı apoder disponer de esa potencia de c´lculo, pero a un precio muy inferior. aEl concepto de cluster naci´ cuando los pioneros de la supercomputaci´n intentaban difundir o odiferentes procesos entre varias computadoras, para luego poder recoger los resultados quedichos procesos deb´ producir. Con un hardware m´s barato y f´cil de conseguir se pu- ıan a ado perfilar que podr´ conseguirse resultados muy parecidos a los obtenidos con aquellas ıanm´quinas mucho m´s costosas, como se ha venido probando desde entonces. a a2.1.3. Modelos de clusters NUMA, PVM y MPI Hay diferentes formas de hacer procesamiento paralelo, entre las m´s conocidas y ausadas podemos destacar NUMA, PVM y MPI.Las m´quinas de tipo NUMA (Non-Uniform Memory Access) tienen acceso compartido a ala memoria donde pueden ejecutar su c´digo de programa. En el kernel de Linux hay ya oimplementado NUMA, que hace variar el n´mero de accesos a las diferentes regiones de umemoria.PVM / MPI son herramientas que han estado ampliamente utilizadas y son muy conocidaspor la gente que entiende de supercomputaci´n basada en GNU/Linux. oMPI es el est´ndar abierto de bibliotecas de paso de mensajes. MPICH es una de las imple- amentaciones m´s usadas de MPI, tras MPICH se puede encontrar LAM, otra implementaci´n a obasada en MPI tambi´n con bibliotecas de c´digo abierto. e oPVM (Parallel Virtual Machine) es un primo de MPI que tambi´n es ampliamente usado epara funcionar en entornos Beowulf.PVM habita en el espacio de usuario y tiene la ventaja que no hacen falta modificaciones enel kernel de Linux, basicamente cada usuario con derechos suficientes puede ejecutar PVM.
  18. 18. 2 ´ ¿QUE ES REALMENTE OPENMOSIX? 82.2. Una aproximaci´n hist´rica o o2.2.1. Desarrollo hist´rico o Algunos rumores hablaban que MOSIX ven´ de Moshe Unix. Inicialmente Mosix ıaempez´ siendo una aplicaci´n para BSD/OS 3.0, como podemos leer en este email: o oAnnouncing MO6 for BSD/OS 3.0Oren Laadan (orenl@cs.huji.ac.il)Tue, 9 Sep 1997 19:50:12 +0300 (IDT)Hi:We are pleased to announce the availability of MO6 Version 3.0Release 1.04 (beta-4) - compatible with BSD/OS 3.0, patch levelK300-001 through M300-029.MO6 is a 6 processor version of the MOSIX multicomputer enhancementsof BSD/OS for a PC Cluster. If you have 2 to 6 PC’s connected by aLAN, you can experience truly multi-computing environment by usingthe MO6 enhancements.The MO6 Distribution--------------------MO6 is available either in "source" or "binary" distribution. It isinstalled as a patch to BSD/OS, using an interactive installationscript.MO6 is available at http://www.cnds.jhu.edu/mirrors/mosix/or at our site: http://www.cs.huji.ac.il/mosix/Main highlights of the current release:--------------------------------------- Memory ushering (depletion prevention) by process migration.- Improved installation procedure.- Enhanced migration control.- Improved administration tools.- More user utilities.- More documentation and new man pages.- Dynamic configurations.Please send feedback and comments to mosix@cs.huji.ac.il.-------------------La plataforma GNU/Linux para el desarrollo de posteriores versiones fue elegida en la s´pti- ema reencarnaci´n, en 1999. o
  19. 19. 2 ´ ¿QUE ES REALMENTE OPENMOSIX? 9A principios de 1999 Mosix M06 fue lanzado para el kernel de Linux 2.2.1.Entre finales de 2001 e inicios de 2002 nac´ openMosix, la versi´n de c´digo abierto, de ıa o oforma separada.2.2.2. openMosix != MOSIX openMosix en principio ten´ que ser una ampliaci´n a lo que a˜os atr´s ya se pod´ ıa o n a ıaencontrar en www.mosix.org, respetando todo el trabajo llevado a cabo por el Prof. Baraky su equipo.Moshe Bar estuvo ligado al proyecto Mosix, en la Universidad Hebrea de Jerusalem, durantebastantes a˜os. Era el co-administrador del proyecto y el principal administrador de los nasuntos comerciales de Mosix company.Tras algunas diferencias de opini´n sobre el futuro comercial de Mosix, Moshe Bar empez´ un o onuevo proyecto de clustering alzando la empresa Qlusters, Inc. en la que el profesor A. Barak4decidi´ no participar ya que no quer´ poner Mosix bajo licencia GPL. o ıaComo hab´ una significativa base de usuarios clientes de la tecnologia Mosix (unas 1000 ıainstalaciones a lo ancho del planeta) Moshe Bar decidi´ continuar el desarrollo de Mosix opero bajo otro nombre, openMosix, totalmente bajo licencia GPL2.openMosix es un parche (patch) para el kernel de linux que proporciona compatibilidadcompleta con el estardard de Linux para plataformas IA32. Actualmente se est´ trabajando apara portarlo a IA64.El algoritmo interno de balanceo de carga migra, transparentemente para el usuario, losprocesos entre los nodos del cluster. La principal ventaja es una mejor compartici´n de orecursos entre nodos, as´ como un mejor aprovechamiento de los mismos. ıEl cluster escoge por s´ mismo la utilizaci´n ´ptima de los recursos que son necesarios en ı o ocada momento, y de forma autom´tica. aEsta caracter´ ıstica de migraci´n transparente hace que el cluster funcione a todos los efectos ocomo un gran sistema SMP (Symmetric Multi Processing) con varios procesadores disponibles.Su estabilidad ha sido ampliamente probada aunque todav´ se est´ trabajando en diversas ıa al´ ıneas para aumentar su eficiencia.openMosix est´ respaldado y siendo desarrollado por personas muy competentes y respetadas aen el mundo del open source, trabajando juntas en todo el mundo.El punto fuerte de este proyecto es que intenta crear un est´ndar en el entorno del clustering apara todo tipo de aplicaciones HPC.openMosix tiene una p´gina web5 con un ´rbol CVS6 y un par de listas de correo para los a a 4 http://www.cs.huji.ac.il/ amnon/ 5 http://www.openmosix.org 6 http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/openmosix/
  20. 20. 2 ´ ¿QUE ES REALMENTE OPENMOSIX? 10desarrolladores y para los usuarios.2.3. openMosix en acci´n: un ejemplo o Los clusters openMosix pueden adoptar varias formas. Para demostrarlo intentadimaginar que compartes el piso de estudiante con un chico adinerado que estudia cienciasde la computaci´n. Imaginad tambi´n que ten´is las computadoras conectadas en red para o e eformar un cluster openMosix.Asume tambi´n que te encuentras convirtiendo ficheros de m´sica desde tus CDs de audio a e uOgg Vorbis para tu uso privado, cosa que resulta ser legal en tu pa´ ıs.Tu compa˜ero de habitaci´n se encuentra trabajando en un proyecto de C++ que seg´n dice n o upodr´ traer la paz mundial, pero en este justo momento est´ en el servicio cantando cosas a aininteligibles, y evidentemente su computadora est´ a la espera de ser intervenida de nuevo. aResulta que cuando inicias un programa de compresi´n, como puede ser bladeenc para oconvertir un preludio de Bach desde el fichero .wav al .ogg, las rutinas de openMosix en tum´quina comparan la carga de procesos en tu m´quina y en la de tu compa˜ero y deciden a a nque es mejor migrar las tareas de compresi´n ya que el otro nodo es m´s potente debido o aa que el chico dispon´ de m´s medios econ´micos para poderse permitir una computadora ıa a om´s potente, a la vez que en ese momento permanece ociosa ya que no se encuentra frente aa ella.As´ pues lo que normalemte en tu pentium233 tardar´ varios minutos te das cuenta que ha ı ıaterminado en pocos segundos. Lo que ha ocurrido es que gran parte de la tarea ha sido ejecutada en el AMDAthlonXP de tu compa˜ero, de forma transparente a ti. nMinutos despu´s te encuentras escribiendo y tu compa˜ero de habitaci´n vuelve del servicio. e n o´Este reanuda sus pruebas de compilaci´n utilizando pmake, una versi´n del make optimizada o opara arquitecturas paralelas. Te das cuenta que openMosix est´ migrando hacia tu m´quina a aalgunos subprocesos con el fin de equilibrar la carga.Esta configuraci´n se llama single-pool: todas las computadoras est´n dispuestas como un o aunico cluster. La ventaja o desventaja de esta disposici´n es que tu computadora es parte´ odel pool: tus procesos ser´n ejecutados, al menos en parte, en otras computadoras, pudiendo aatentar contra tu privacidad de datos. Evidentemente las tareas de los dem´s tambi´n podr´n a e aser ejecutadas en la tuya.
  21. 21. 3. Caracter´ ısticas de openMosix
  22. 22. 3 CARACTER´ ISTICAS DE OPENMOSIX 123.1. Pros de openMosix No se requieren paquetes extra No son necesarias modificaciones en el c´digo o3.2. Contras de openMosix Es dependiente del kernel No migra todos los procesos siempre, tiene limitaciones de funcionamiento Problemas con memoria compartidaAdem´s los procesos con m´ltiples threads no ganan demasiada eficiencia a uTampoco se obtendr´ mucha mejora cuando se ejecute un solo proceso, como por ejemplo el anavegador.3.3. Subsistemas de openMosix Actualmente podemos dividir los parches de openMosix dentro del kernel en cuatrograndes subsistemas, ve´moslos. a3.3.1. Mosix File System (MFS) El primer y mayor subsistema (en cuanto a l´ ıneas de c´digo) es MFS que te permite oun acceso a sistemas de ficheros (FS) remotos (i.e. de cualquier otro nodo) si est´ localmente amontado.El sistema de ficheros de tu nodo y de los dem´s podr´n ser montados en el directorio /mfs a ay de esta forma se podr´, por ejemplo, acceder al directorio /home del nodo 3 dentro del adirectorio /mfs/3/home desde cualquier nodo del cluster.3.3.2. Migraci´n de procesos o Con openMosix se puede lanzar un proceso en una computadora y ver si se ejecutaen otra, en el seno del cluster.Cada proceso tiene su unico nodo ra´ (UHN, unique home node) que se corresponde con el ´ ızque lo ha generado.El concepto de migraci´n significa que un proceso se divide en dos partes: la parte del usuario oy la del sistema.
  23. 23. 3 CARACTER´ ISTICAS DE OPENMOSIX 13La parte, o ´rea, de usuario ser´ movida al nodo remoto mientras el ´rea de sistema espera a a aen el ra´ ız.openMosix se encargar´ de establecer la comunicaci´n entre estos 2 procesos. a o3.3.3. Direct File System Access (DFSA) openMosix proporciona MFS con la opci´n DFSA que permite acceso a todos los osistemas de ficheros, tanto locales como remotos. Para m´s informaci´n dir´ a o ıgase a la secci´n ode Sistema de ficheros de las FAQs (preguntas m´s frecuentes) del presente documento. a3.3.4. Memory ushering Este subsistema se encarga de migrar las tareas que superan la memoria disponible enel nodo en el que se ejecutan. Las tareas que superan dicho l´ ımite se migran forzosamente a unnodo destino de entre los nodos del cluster que tengan suficiente memoria como para ejecutarel proceso sin necesidad de hacer swap a disco, ahorrando as´ la gran p´rdida de rendimiento ı eque esto supone. El subsistema de memory ushering es un subsistema independiente delsubsistema de equilibrado de carga, y por ello se le considera por separado.3.4. El algoritmo de migraci´n o De entre las propiedades compartidas entre Mosix y openMosix podemos destacarel mecanismo de migraci´n, en el que puede migrar-se cualquiera proceso a cualquier nodo odel cluster de forma completamente transparente al proceso migrado. La migraci´n tambi´n o epuede ser autom´tica: el algoritmo que lo implementa tiene una complejidad computacional adel orden de O(n), siendo n el n´mero de nodos del cluster. uPara implementarlo openMosix utiliza el modelo fork-and-forget7 , desarrollado en un prin-cipio dentro de Mosix para m´quinas PDP11/45 empleadas en las fuerzas a´reas norteam- a eericanas. La idea de este modelo es que la distribuci´n de tareas en el cluster la determina oopenMosix de forma din´mica, conforme se van creando tareas. Cuando un nodo est´ de- a amasiado cargado, y las tareas que se est´n ejecutando puedan migrar a cualquier otro nodo adel cluster. As´ desde que se ejecuta una tarea hasta que ´sta muere, podr´ migrar de un ı e anodo a otro, sin que el proceso sufra mayores cambios.Podr´ ıamos pensar que el comportamiento de un clsuter openMosix es como una m´quina aNUMA, aunque estos clusters son mucho m´s baratos. a 7 hace fererencia a que el sistema cuando reconoce un subproceso se encarga de ejecutarlo en otro nodo,en paralelo, sin ningun efecto ni notificaci´n al propietario del mismo o
  24. 24. 3 CARACTER´ ISTICAS DE OPENMOSIX 143.4.1. El nodo ra´ ız Cada proceso ejecutado en el cluster tiene un unico nodo ra´ como se ha visto. El ´ ız,nodo ra´ es el nodo en el cual se lanza originalmente el proceso y donde ´ste empieza a ız eejecutarse.Desde el punto de vista del espacio de procesos de las m´quinas del cluster, cada proceso a(con su correspondiente PID) parece ejecutarse en su nodo ra´ El nodo de ejecuci´n puede ız. oser el nodo ra´ u otro diferente, hecho que da lugar a que el proceso no use un PID del nodo ızde ejecuci´n, sino que el proceso migrado se ejecutar´ en ´ste como una hebra del kernel. o a eLa interacci´n con un proceso, por ejemplo enviarle se˜ales desde cualquier otro proceso o nmigrado, se puede realizar exclusivamente desde el nodo ra´ ız.El usuario que ejecuta un proceso en el cluster ha accedido al cluster desde el nodo ra´ del ızproceso (puesto que ha logado en ´l). El propietario del proceso en cuesti´n tendr´ control e o aen todo momento del mismo como si se ejecutara localmente.Por otra parte la migraci´n y el retorno al nodo ra´ de un proceso se puede realizar tanto o ızdesde el nodo ra´ como desde el nodo d´nde se ejecuta el proceso. Esta tarea la puede llevar ız oa t´rmino el administrador de cualquiera de los dos sistemas. e3.4.2. El mecanismo de migrado La migraci´n de procesos en openMosix es completamente transparente. oEsto significa que al proceso migrado no se le avisa de que ya no se ejecuta en su nodode origen. Es m´s, este proceso migrado seguir´ ejecut´ndose como si siguiera en el nodo a a aorigen: si escribiera o leyera al disco, lo har´ en el nodo origen, hecho que supone leer o ıagrabar remotamente en este nodo.3.4.3. ¿ Cu´ndo podr´ migrar un proceso? a a Desgraciadamente, no todos los procesos pueden migrar en cualquiera circunstancia.El mecanismo de migraci´n de procesos puede operar sobre cualquier tarea de un nodo sobre o ´el que se cumplen algunas condiciones predeterminadas. Estas son: el proceso no puede ejecutarse en modo de emulaci´n VM86 o el proceso no puede ejecutar instrucciones en ensamblador propias de la m´quina donde a se lanza y que no tiene la m´quina destino (en un cluster heterog´neo) a e el proceso no puede mapear memoria de un dispositivo a la RAM, ni acceder directa- mente a los registros de un dispositivo el proceso no puede usar segmentos de memoria compartida
  25. 25. 3 CARACTER´ ISTICAS DE OPENMOSIX 15Cumpliendo todas estas condiciones el proceso puede migrar y ejecutarse migrado. No ob-stante, como podemos sospechar, openMosix no adivina nada. openMosix no sabe a priorisi alguno de los procesos que pueden migrar tendr´n algunos de estos problemas. aPor esto en un principio openMosix migra todos los procesos que puedan hacerlo si por elmomento cumplen todas las condiciones, y en caso de que alg´n proceso deje de cumplirlas, ulo devuelve de nuevo a su nodo ra´ para que se ejecute en ´l mientras no pueda migrar de ız enuevo.Todo esto significa que mientras el proceso est´ en modo de emulaci´n VM86, mapee memoria e ode un dispositivo RAM, acceda a un registro o tenga reservado/bloqueado un puntero a unsegmento de memoria compartida, el proceso se ejecutar´ en el nodo ra´ y cuando acabe la a ız,condici´n que lo bloquea volver´ a migrar. o aCon el uso de instrucciones asociadas a procesadores no compatibles entre ellos, openMosixtiene un comportamiento diferente: solo permitir´ migrar a los procesadores que tengan la amisma arquitectura.3.4.4. La comunicaci´n entre las dos ´reas o a Un aspecto importante en el que podemos tener inter´s es en c´mo se realiza la e ocomunicaci´n entre el ´rea de usuario y el ´rea de kernel. o a aEn alg´n momento, el proceso migrado puede necesitar hacer alguna llamada al sistema. uEsta llamada se captura y se eval´a u si puede ser ejecutada al nodo al que la tarea ha migrado, o si necesita ser lanzada en el nodo ra´ del proceso migrado ızSi la llamada puede ser lanzada al nodo d´nde la tarea migrada se ejecuta, los accesos al okernel se hacen de forma local, es decir, que se atiende en el nodo d´nde la tarea se ejecuta osin ninguna carga adicional a la red.Por desgracia, las llamadas m´s comunes son las que se han de ejecutar forzosamente al anodo ra´ puesto que hablan con el hardware. Es el caso, por ejemplo, de una lectura o una ız,escritura a disco. En este caso el subsistema de openMosix del nodo d´nde se ejecuta la tarea ocontacta con el subsistema de openMosix del nodo ra´ Para enviarle la petici´n, as´ como ız. o ıtodos los par´metros y los datos del nodo ra´ que necesitar´ procesar. a ız aEl nodo ra´ procesar´ la llamada y enviar´ de vuelta al nodo d´nde se est´ ejecutando ız a a o arealmente el proceso migrado: el valor del ´xito/fracaso de la llamada e aquello que necesite saber para actualizar sus segmentos de datos, de pila y de heap el estado en el que estar´ si se estuviera ejecutando el proceso al nodo ra´ ıa ız
  26. 26. 3 CARACTER´ ISTICAS DE OPENMOSIX 16Esta comunicaci´n tambi´n puede ser generada por el nodo ra´ Es el caso, por ejemplo, del o e ız.env´ de una se˜al. El subsistema de openMosix del nodo ra´ contacta con el subsistema ıo n ızde openMosix del nodo d´nde el proceso migrado se ejecuta, y el avisa que ha ocurrido un oevento as´ ıncono. El subsistema de openMosix del nodo d´nde el proceso migrado se ejecuta oparar´ el proceso migrado y el nodo ra´ podr´ empezar a atender el c´digo del ´rea del a ız a o akernel que corresponder´ a la seal as´ ıa ıncrona. Finalmente, una vez realizada toda el operativa necesaria de la ´rea del kernel, el asubsistema de openMosix del nodo ra´ del proceso env´ al nodo donde est´ ejecut´ndose ız ıa a arealmente el proceso migrado el aviso detallado de la llamada, y todo aquello que el procesonecesita saber (anteriormente enumerado) cuando recibi´ la se˜al, y el proceso migrado o nfinalmente recuperar´ el control. aPor todo esto el proceso migrado es como s´ estuviera al nodo ra´ y hubiera recibido la ı ızse˜al de ´ste. Tenemos un escenario muy simple donde el proceso se suspende esperando un n erecurso. Recordemos que la suspensi´n esperando un recurso se produce unicamente en ´rea o ´ ade kernel. Cuando se pide una p´gina de disco o se espera un paquete de red se resuelto acomo en el primero caso comentado, es decir, como un llamada al kernel.Este mecanismo de comunicaci´n entre ´reas es el que nos asegura que o a la migraci´n sea completamente transparente tanto para el proceso que migra como o para los procesos que cohabiten con el nodo ra´ ız que el proceso no necesite ser reescrito para poder migrar, ni sea necesario conocer la topologia del cluster para escribir una aplicaci´n paralela oNo obstante, en el caso de llamadas al kernel que tengan que ser enviadas forzosamente alnodo ra´ tendremos una sobrecarga adicional a la red debida a la transmisi´n constante de ız, olas llamadas al kernel y la recepci´n de sus valores de vuelta. oDestacamos especialmente esta sobrecarga en el acceso a sockets y el acceso a disco duro,que son las dos operaciones m´s importantes que se habr´n de ejecutar en el nodo ra´ y a a ızsuponen una sobrecarga al proceso de comunicaci´n entre la ´rea de usuario migrada y la o aa´rea de kernel del proceso migrado.
  27. 27. 4. Requerimientos y planteamientos
  28. 28. 4 REQUERIMIENTOS Y PLANTEAMIENTOS 184.1. Requerimientos hardware Para la instalaci´n b´sica de un cluster necesitaremos al menos dos computadoras o aconectadas en red. Podremos conectarlas mediante un cable cruzado entre las respectivastarjetas de red, con un hub o con un switch.Evidentemente cuanto m´s r´pida sea la conexi´n entre m´quinas, m´s eficaz ser´ nuestro a a o a a asistema global.Actualmente Fast Ethernet es un est´ndar, permitiendo m´ltiples puertos en una m´quina. a u aGigabit Ethernet es m´s cara y no es recomendable probar con ella sin antes haberse asegu- arado un correcto funcionamiento con Fast Ethernet y comprobar que realmente se necesitaeste extra en la velocidad de transferencia de datos entre nodos.Siempre podremos hacer funcionar varias tarjetas Fast en cada nodo para asignarles luegola misma direcci´n (IP) y de esta forma poder obtener m´ltiples en la velocidad. o u4.2. Lineas b´sicas en la configuraci´n del hardware a o Para poder configurar un gran cluster (refiri´ndose al n´mero de nodos) tendremos e uque pensar en ciertos aspectos, como por ejemplo d´nde situar las m´quinas, ya que tenerlas o aen medio de una oficina puede resultar inc´modo en muchos aspectos. La mejor opci´n ser´ o o ıa“raquearlas”.El acondicionamiento de la sala donde deba situarse el cluster tambi´n es importante para eevitar sobrecalentamientos y dem´s incomodidades a la hora de trabajar con ´l. a eSi el n´mero de computadoras que van a disponerse para el cluster no justifica estas in- uversiones, aseg´rate de poder tener siempre un f´cil acceso a los nodos, siempre podemos u aencontrarnos con el problema de tener que cambiar un ventilador o un disco averiado.4.3. Requerimientos software El sistema planteado requiere un sistema b´sico Linux instalado. Podemos elegir acualquier distribuci´n del mercado que encontremos atractiva, este aspecto no es importante. oLo que s´ es importante es usar almenos la versi´n 2.4 del kernel y que tus tarjetas de red ı oest´n bien configuradas. e4.4. Planteamientos de tu cluster Para configurar tu cluster openMosix en un pool de nodos, o conjunto de estacionesde trabajo, tendremos diferentes opciones, cada una con sus ventajas e inconvenientes.En una single-pool todos los servidores y estaciones de trabajo son utilizadas como un
  29. 29. 4 REQUERIMIENTOS Y PLANTEAMIENTOS 19cluster unico: cada m´quina forma parte del cluster y puede migrar procesos hacia cada uno ´ ade los otros nodos existentes.Esta configuraci´n hace que tu propia m´quina forme parte del pool. o aEn un entorno llamado server-pool los servidores son parte del cluster mientras que lasestaciones de trabajo no lo son. Si quisi´ramos ejecutar aplicaciones en el cluster necesitare- emos entrar en ´l de forma espec´ e ıfica. De este modo las estaciones de trabajo permanecer´n alibres de procesos remotos que les pudieran llegar.Existe una tercera alternativa llamada adaptive-pool, donde los servidores son compartidosmientras que las estaciones de trabajo podr´n entrar y salir del cluster. Podemos imaginar aque las estaciones deban ser usadas durante un cierto intervalo de tiempo diario, y que fuerade este horario puedan ser aprovechadas para las tareas del cluster.
  30. 30. 5. Instalaci´n de un cluster openMosix o
  31. 31. ´5 INSTALACION DE UN CLUSTER OPENMOSIX 215.1. Obteniendo fuentes y paquetes5.1.1. Parcheando el kernel de linux5.1.2. Opciones en el nuevo kernel parcheado5.1.3. Las herramientas de usuario5.1.4. Paquetes RPM5.1.5. Debian5.1.6. Fuentes5.2. Compilaciones necesarias5.2.1. Compilaci´n del nuevo kernel o5.2.2. Configurando las herramientas de usuario5.3. Instalaciones del programario
  32. 32. 6. Administraci´n del cluster o
  33. 33. ´6 ADMINISTRACION DEL CLUSTER 23 El mantenimiento de un sistema resulta incluso m´s delicado y costoso (en tiempo) aque su correcta instalaci´n. En este cap´ o ıtulo se tomar´ contacto con todas las herramientas acon las que cuenta openMosix para poder gestionar tu sistema.La recomendaci´n que lanzamos desde este manual es que pruebes con ellas para conocer oexactamente la respuesta de tu cluster, ya que m´s tarde puede facilitarte la detecci´n de a oerrores o configuraciones poco adecuadas.6.1. Administraci´n b´sica o a openMosix proporciona como principal ventaja la migraci´n de procesos hacia apli- ocaciones HPC. El adminsitrador puede configurar el cluster utilizando las herramientas de´rea de usuario de openMosix (openMosix-user-space-tools8 ) o editando la interf´a ıcie queencontraremos en /proc/hpc y que ser´ descrita con m´s detalle seguidamente. a a6.2. Configuraci´n oLos valores en los ficheros del directorio /proc/hpc/admin presentan la configuraci´n actu- oal del cluster. El administrador del mismo puede configurar estos valores para cambiar laconfiguraci´n en tiempo de ejecuci´n, tal como se muestra en las tablas. o o 8 http://www.orcero.org/openmosix
  34. 34. ´6 ADMINISTRACION DEL CLUSTER 24 echo 1 > /proc/hpc/admin/block bloquea la llegada de procesos remotos echo 1 > /proc/hpc/admin/bring lleva todos los procesos a su nodo ra´ ız Cuadro 1: Cambiando los parmetros en /proc/hpc config el fichero de configuraci´n principal (escrito por la utilidad setpe) o block permite/proh´ la llegada de procesos remotos ıbe bring lleva todos los procesos a su nodo ra´ ız dfsalinks lista los actuales enlaces DFSA expel env´ los procesos hu´sped a su nodo ra´ ıa e ız gateways numero m´ximo de gateways a lstay los procesos locales se suspenderan mospe contiene el ID de nuestro nodo openMosix nomfs activa/desactiva MFS overheads para ajustes quiet detiene la obtenci´n de informaci´n sobre la carga del sistema o o decay-interval int´rvalo para recoger informaci´n sobre la carga e o slow-decay por defecto 975 fast-decay por defecto 926 speed velocidad relativa a un PIII/1GHz stay activa/desactiva el proceso de migrado autom´tico a Cuadro 2: Binarios en /proc/hpc/admin Existen utilidades adicionales a la interf´ ıcie de /proc y a las l´ ınias de comandos.Por ejemplo existen unos parches para ps y para top (llamados mps y mtop) los cualesmuestran adicionalmente el ID de nuestro nodo openMosix en una columna. Esta posibilidades interesante para encontrar d´nde ha migrado un cierto proceso. oPara clusters peque˜os pueden sernos muy utiles las utilidades de openMosixView, una GUI n ´para las tareas de administraci´n m´s comunes y que m´s adelante se detalla en un cap´ o a a ıtulo.6.4. Detecci´n autom´tica de nodos o a El demonio de auto-detecci´n de nodos, omdiscd, proporciona un camino autom´tico o apara la configuraci´n de nuestro cluster openMosix. Con ´l podremos eliminar la necesidad o ede configuraciones manuales como son la edici´n del fichero /etc/mosix.map . oomdiscd genera un env´ de paquetes multicast (a todas las direcciones, en nuestro caso, ıonodos) para notificar a los otros nodos que hemos a˜adido uno nuevo. Esto significa que al na˜adir un nodo s´lo tendremos que iniciar omdiscd en ´l. n o eDebemos ocuparnos de algunos requisitos previos como pueden ser una buena configuraci´node la red de interconexi´n de los nodos, principalmente para el correcto enrutamiento de opaquetes. Sin una ruta por defecto deberemos especificar a omdiscd la interf´ ıcie con laopci´n -i. De otra forma acabar´ con un error parecido al siguiente: o a
  35. 35. ´6 ADMINISTRACION DEL CLUSTER 25 clear resetea las estad´ ısticas cpujob informa a openMosix que el proceso est´ ligado al procesador a iojob informa a openMosix que el proceso est´ ligado a la E/S a slow informa a openMosix que actualice las estd´ ısticas m´s lentamente a fast informa a openMosix que actualice las estd´ ısticas m´s r´pidamente a a Cuadro 3: Escribiendo un 1 en /proc/hpc/decay /proc/[PID]/cantmove raz´n por la cual el proceso ha sido migrado o /proc/[PID]/goto a qu´ nodo el proceso podr´ migrar e a /proc/[PID]/lock si el proceso se ve bloquead en su nodo ra´ ız /proc/[PID]/nmigs el numero de veces que el proceso ha migrado /proc/[PID]/where donde el proceso se encuentra siendo computado actualmente /proc/[PID]/migrate same as goto remote processes /proc/hpc/remote/from el nodo ra´ del proceso ız /proc/hpc/remote/identity informaci´n adicional del proceso o /proc/hpc/remote/statm estad´ ıstica de memoria del proceso /proc/hpc/remote/stats estad´ ıstica del procesador del proceso Cuadro 4: Informaci´n adicional sobre los procesos locales o /proc/hpc/nodes/[openMosix ID]/CPUs el n´mero de CPUs que posee el nodo u /proc/hpc/nodes/[openMosix ID]/load la carga de openMosix en este nodo /proc/hpc/nodes/[openMosix ID]/mem memoria disponible para openMosix /proc/hpc/nodes/[openMosix ID]/rmem memoria disponible para Linux /proc/hpc/nodes/[openMosix ID]/speed velocidad del nodo relativa a un PIII/1GHz /proc/hpc/nodes/[openMosix ID]/status estado del nodo /proc/hpc/nodes/[openMosix ID]/tmem memoria disponible /proc/hpc/nodes/[openMosix ID]/util utilizaci´n del nodo o Cuadro 5: Informaci´n de los otros nodos o6.3. Las herramientas de ´rea de usuario a Estas herramientas permitir´n un f´cil manejo del cluster openMosix. Seguidamente a ase enumeran con todos sus par´metros. amigrate [PID] [openMosix ID] envia una petici´n de migrado del proceso identificado ocon el ID, al nodo que indiquemos..mon es un monitor de los daemons basado en el terminal y da informaci´n relevante sobre el oestado actual que puede ser visualizada en diagramas de barras.mosctl es la principal utilidad para la configuraci´n de openMosix. Su sintaxis es: omosctl [stay|nostay] [block|noblock] [quiet|noquiet] [nomfs|mfs] [expel|bring] [gettune|getyard|getdecay]
  36. 36. ´6 ADMINISTRACION DEL CLUSTER 26mosct whois [openMosix_ID|IP-address|hostname]mosct [getload|getspeed|status|isup|getmem|getfree|getutil] [openMosix_ID]mosctl setyard [Processor-Type|openMosix_ID||this]mosctlsetspeed interger-valuemosctlsetdecay interval [slow fast]Aug 31 20:41:49 localhost omdiscd[1290]: Unable to determine address ofdefault interface. This may happen because there is no default routeconfigured. Without a default route, an interface must be: Network isunreachableAug 31 20:41:49 localhost omdiscd[1290]: Unable to initialize network.Exiting. Un ejemplo de buena configuraci´n podr´ ser la siguiente: o ıa[root@localhost log]# route -nKernel IP routing tableDestination Gateway Genmask Flags Metric Ref Use Iface10.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 eth0127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo0.0.0.0 10.0.0.99 0.0.0.0 UG 0 0 0 eth0La importancia de poder automatizar el reconocimiento de nuevos nodos conectados al sis-tema ha facilitado que se llegue a la simplicidad con la que contamos actualmente para iniciardicha detecci´n, con el comando omdiscd. oAhora echando un vistazo a los logfiles tendr´ ıamos que ver algo parecido aSep 2 10:00:49 oscar0 kernel: openMosix configuration changed: This is openMosix#2780 of 6 configured)Sep 2 10:00:49 oscar0 kernel: openMosix #2780 is at IP address 192.168.10.220Sep 2 10:00:49 oscar0 kernel: openMosix #2638 is at IP address 192.168.10.78Sep 2 10:00:49 oscar0 kernel: openMosix #2646 is at IP address 192.168.10.86Sep 2 10:00:49 oscar0 kernel: openMosix #2627 is at IP address 192.168.10.67Sep 2 10:00:49 oscar0 kernel: openMosix #2634 is at IP address 192.168.10.74Tendremos el cluster listo para ser utilizado. omdiscd tiene otras opciones entre las que cuentan poder ejecutarse como un demonio(por defecto) o en background (segundo plano) donde la salida ser´ la pantalla (la salida aest´ndar), con el comando omdiscd -n. La interf´ a ıcie, como ya se ha indicado, debe serespecificada con la opci´n -i. oAhora vamos a ver brevemente la herramienta showmap. Esta utilidad nos mostrar´ el nuevo amapa.
  37. 37. ´6 ADMINISTRACION DEL CLUSTER 27 stay desactiva la migraci´n autom´tica o a nostay migraci´n autom´tica (defecto) o a lstay local processes should stay nolstay los procesos locales podran migrar block bloquea la llegada de otros procesos noblock permite la llegada de procesos quiet desactiva la posibildiad de dar informaci´n sobre la carga del nodo o noquiet activa la posibildiad de dar informaci´n sobre la carga del nodo o nomfs desactiva MFS mfs activa MFS expel env´ fuera del nodo los procesos que han llegado previamente ıa bring traer´ todos los procesos migrados hacia su nodo ra´ a ız gettune muestra el par´metro de overhead a getyard muestra la utilizaci´n actual de Yardstick o getdecay muestra el estado del par´metro decay a whois nos muestra el openMosix-ID, la direcci´n IP y los nombres de host del cluster o getload muestra la carga (openMosix-) getspeed muestra la velocidad (openMosix-) status muestra el estado y la configuraci´n actual o isup nos informa de si un nodo est´ funcionando o no (ping openMosix) a getmem muestra la memoria l´gica libre o getfree muestra la memoria f´ ısica libre getutil muestra la utilizaci´n del nodo o setyard establece un nuevo valor para Yardstick setspeed establece un nuevo valor para la velocidad (openMosix-) setdecay establece un nuevo valor para el intervalo del decay Cuadro 6: Par´metros de mosctl con m´s detalle a a Con mosrun ejecutaremos un comando especialemte configurado en un nodo estable-cido.Su sintaxis: mosrun [-h|openMosix ID| list of openMosix IDs] command [arguments]El comando mosrun puede ser ejecutado con diversas opciones. Para evitar complicacionesinnecesarias viene con ciertas pre-configuraciones para ejecutar las tareas con configuracionesespeciales de openMosix. nomig runs a command which process(es) won’t migrate runhome ejecuta un comando bloqueado en el nodo ra´ ız runon ejecutar´ un comando el cu´l ser´ directamente migrado y bloqueado a cierto nodo a a a cpujob informa a openMosix que el proceso est´ ligado a la CPU a iojob informa a openMosix que el proceso est´ ligado a la E/S a nodecay ejecuta un comando e informa al cluster de no refrescar las estadisticas de carga slowdecay ejecuta un comando con intervalo de decay grande para acumular en las estad´ ısticas fastdecay ejecuta un comando con intervalo de decay peque˜o para acumular en las estad´ n ısticas Cuadro 7: Par´metros adicionales para mosrun a
  38. 38. ´6 ADMINISTRACION DEL CLUSTER 28 setpe es una utilidad de configuraci´n manual del nodo sintaxis: osetpe -w -f [hpc_map]setpe -r [-f [hpc_map]]setpe -off-w lee la configuraci´n de openMosix desde un fichero (normalmente /etc/hpc.map). o-r escribe la configuraci´n actual de openMosix en un fichero (normalmente /etc/hpc.map). o-off desactiva la configuraci´n actual del cluster. o tune es una utilidad de calibraci´n y optimizaci´n de openMosix (para m´s informa- o o aci´n recurra a las p´ginas man de tune). o a[root@oscar0 root]# showmapMy Node-Id: 0x0adcBase Node-Id Address Count------------ ---------------- -----0x0adc 192.168.10.220 10x0a4e 192.168.10.78 10x0a56 192.168.10.86 10x0a43 192.168.10.67 10x0a4a 192.168.10.74 1 Existen otras muchas utilidades que pueden sernos utiles para la detecci´n autom´tica ´ o ade nodos, como un mecanismo de routing para clusters con m´s de una red de conexi´n. a oToda esta informaci´n es actualizada constantemente y podremos encontrarla en los ficheros oREADME y DESIGN de las herramientas de usuario.6.4.1. Compilaciones Si queremos obtener este m´dulo a partir de las fuentes tendremos que hacer una opeque˜a modificaci´n en el fichero openmosix.c. Una de las l´ n o ınias, concretamente#define ALPHAtendremos que comentarla ya que nosotros estamos trabajando en plataforma x86.Si quisi´ramos tener un historial m´s detallado podemos editar main.c para escribir e alog set debug(DEBUG TRACE ALL); (en la l´ ınia 84 aproximadamente)ahora podremos ejecutar make clean make
  39. 39. ´6 ADMINISTRACION DEL CLUSTER 296.4.2. Problemas Algunas veces la auto-detecci´n no funcionar´ tal como podr´ o a ıamos esperar, per ejem-plo cuando un nodo deber´ ser detectado y no ve el tr´fico multicast que se lleva a cabo en ıa ala red.Esto ocurre con algunas targetas PCMCIA. Una soluci´n posible ser´ poner la interf´ en o ıa ıciemodo prom´scuo, tal como se detalla seguidamente: ıAug 31 20:45:58 localhost kernel: openMosix configuration changed:This is openMosix #98 (of 1 configured)Aug 31 20:45:58 localhost kernel: openMosix #98 is at IP address 10.0.0.98Aug 31 20:45:58 localhost omdiscd[1627]: Notified kernel to activateopenMosix Aug 31 20:45:58 localhost kernel:Received an unauthorized information request from 10.0.0.99 Algo que podr´ ıamos probar es forzar manualmente nuestro NIC a modo prom´ ıscuo y/omulticast, as´ ı:ifconfig ethx promisc oifconfig ethx multicastPodremos ejecutar igualmente tcpdump -i eth0 ether multicastSi se nos muestra simulated es que seguramente hemos olvidado poner el comentario a lal´ ınia #define ALPHA, ser´ ıa:Aug 31 22:14:43 inspon omdiscd[1422]: Simulated notification to activate openMosix[root@inspon root]# showmapMy Node-Id: 0x0063Base Node-Id Address Count------------ ---------------- -----0x0063 10.0.0.99 1[root@inspon root]# /etc/init.d/openmosix statusOpenMosix is currently disabled[root@inspon root]#
  40. 40. 7. Ajustes en el cluster
  41. 41. 8. openMosixview
  42. 42. 8 OPENMOSIXVIEW 328.1. Introducci´n o openMosixview es la siguiente versi´n (y totalmente reescrita) de MosixView. oEs una interf´ gr´fica (GUI) libre para la adminstraci´n y mantenimiento de un cluster ıcie a o 9openMosix que podemos bajarnos de la web del proyecto .La suite openMosixview contiene 6 aplicaciones altamente eficaces e utiles tanto para la ´administraci´n como para el monitoraje de nuestro cluster. o openMosixview la principal aplicaci´n de monitoraje y administraci´n o o openMosixprocs una aplicaci´n para la administraci´n de procesos o o openMosixcollector acumula la informaci´n del cluster proporcionada por los dae- o mons openMosixanalyzer para el an´lisis de la informaci´n colectada por openMosixcol- a o lector openMosixhistory un historial de procesos del cluster 3dmosmon un visor para monitoraje de datos en 3DTodos los componentes son accesibles desde la ventana de la aplicaci´n principal. Los co- omandos openMosix m´s comunes podr´n ser ejecutados con unos pocos clicks de rat´n. a a oPodremos encontrar tambi´n sliders para la asignaci´n de prioridad para cada nodo, con el fin e ode simplificar el balanceo de carga (manual o autom´tico). penMosixview ha sido adaptado aal openMosix-auto-discovery y puede obtener toda la informaci´n desde /proc-interface. o8.2. Instalaci´n oRequerimientos: tener instaladas las librer´ QT >= 2.3.0 ıas derechos de root! rlogin y rsh (o ssh) en todos los nodos del cluster y sin constrase˜as n las herramientas de usuario de openMosix (mosctl, migrate, runon, iojob, cpujob...)Los paquetes RPM tienen como directorio de instalaci´n la ruta /usr/local/openMosixview. o 9 http://www.openMosixview.com
  43. 43. 8 OPENMOSIXVIEW 338.2.1. Instalaci´n de los paquetes RPM o Tendremos que bajarnos la ultima versi´n de los paquetes RPM de openMosixview. ´ oLuego ejecutaremos el comando (suponiendo la versi´n 1.2) o rpm -i openMosixview-1.2.rpmEsto nos instalar´ los ficheros binarios en el directorio /usr/bin. aPara desinstalarlo ejecutaremos rpm -e openMosixview8.2.2. Instalaci´n de las fuentes o Bajaremos la ultima versi´n de openMosixview y descomprimiremos y desempaque- ´ otaremos el paquete (suponiendo la versi´n 1.2): o gunzip openMosixview-1.2.tar.gz tar -xvf openMosixview-1.2.tar8.2.3. Script de configuraci´n autom´tico o aS´lo ser´ necesario entrar al directorio openMosixview y ejecutar: o a ./setup [directorio de instalaci´n qt 2.3.x] o8.2.4. Compilaci´n manual oSer´ necesario situar la variable QTDIR hacia el directorio de la distribuci´n QT, por ejem- a oplo: export QTDIR=/usr/lib/qt-2.3.0 (para bash)o setenv QTDIR /usr/lib/qt-2.3.0 (para csh)Tras lo anterior tendr´ ıamos que ejecutar con ´xito la configuraci´n e o ./configure
  44. 44. 8 OPENMOSIXVIEW 34 makeLuego tendremos que hacer lo mismo en los subdirectorios de openMosixcollector, open-Mosixanalyzer, openMosixhistory and openMosixviewprocs.Copiaremos todos los binarios a /usr/bincp openMosixview/openMosixview /usr/bincp openMosixviewproc/openMosixviewprocs/mosixviewprocs /usr/bincp openMosixcollector/openMosixcollector/openMosixcollector /usr/bincp openMosixanalyzer/openMosixanalyzer/openMosixanalyzer /usr/bincp openMosixhistory/openMosixhistory/openMosixhistory /usr/binY el script de iniciaci´n de openMosixcollector en tu directorio de iniciaci´n, por ejemplo: o o cp openMosixcollector/openMosixcollector.init /etc/init.d/openMosixcollectoro cp openMosixcollector/openMosixcollector.init /etc/rc.d/init.d/openMosixcollector Ahora tendremos que copiar los binarios de openMosixprocs de cada nodo del clusteral directorio/usr/bin/openMosixprocsrcp openMosixprocs/openMosixprocs tu nodo:/usr/bin/openMosixprocsY ahora ya podremos ejecutar openMosixview con el comando openMosixview .
  45. 45. 8 OPENMOSIXVIEW 358.3. Utilizando openMosixview8.3.1. Aplicaci´n principal o La Figura 1 nos muestra la ventana de la aplicaci´n. o Figura 1: openMosixview: Aplicaci´n principal o openMosixview nos muestra, para cada nodo del cluster (cada fila): una luz, un bot´n, oun slider, un n´mero lcd, dos barras de progreso y un par de etiquetas. uLas luces de la izquierda nos muestran el ID del nodo y su estado. En color rojo significaque el nodo no se encuentra operativo, y verde lo contrario.Si hacemos clic en el bot´n que muestra la direcci´n IP de un nodo habremos invocado al o odi´logo de configuraci´n que nos mostrar´ los botones para ejecutar los comandos de mosctl a o am´s comunes (explicados en pr´ximos subcap´ a o ıtulos).Con los sliders de velocidad podemos establecer la velocidad que considerar´ el cluster para acada nodo. Este par´metro se muestra en el display lcd. a Podemos intervenir tambi´n en el balanceo de carga de cada nodo cambiando sus evalores. Los procesos en un cluster openMosix migran m´s f´cilmente hacia un nodo cuya a avelocidad sea m´s elevada. Recordemos que este concepto de velocidad no tiene que ser el que arealmente posea la computadora, es simplemente el par´metro que queremos que openMosix aconsidere para cada m´quina. a Las barras de progreso, que conforman el par de columnas en la mitad de la ventana,dan una idea general de la carga de cada nodo del cluster. La primera se refiere a la cargadel procesador y muestra un porcentaje que ser´ una aproximaci´n del valor escrito por a oopenMosix en el fichero /proc/hpc/nodes/x/load. La segunda barra nos muestra la memoriautilizada en cada nodo. El box de la izquierda nos muestra el total de memoria disponible.Finalmente el box de m´s a la derecha nos muestra el n´mero de procesadores de cada nodo. a uEn la esquina superior-izquierda podemos ver el box load-balancing efficiency, ´ste es un e
  46. 46. 8 OPENMOSIXVIEW 36indicador de la eficiencia del algoritmo de balanceo de carga. Un valor pr´ximo al 100 % oindica que la carga computacional ha podido dividirse equitativamente entre los nodos.Podemos utilizar los men´s de collector- y analyzer- para administrar openMosixcol- ulector y openMosixanalyzer, respectivamente. Estas dos partes de las aplicaciones open-Mosixview son muy adecuadas para construir un historial del trabajo hecho y la manera encomo se ha hecho en el cluster.8.3.2. La ventana de configuraci´n o Esta ventana emergente de la Figura 2 aparecer´ si clicamos en el bot´n de la ip de a ocualquier nodo. Figura 2: openMosixview: Propiedades de los nodosLa configuraci´n de openMosix de cada nodo puede ser cambiada f´cilmente. Todos los o acomandos podr´n ser ejecutados con rsh o ssh en los nodos remotos (y tambi´n en el nodo a elocal, evidentemente) como root sin necesidad de contrase˜as. nSi tenemos instalado openMosixprocs en los nodos remotos del cluster podremos clicar enel bot´n remote proc-box para invocar openMosixprocs desdel remoto. Se nos mostrar´ en o apantalla los par´metros [xhost+hostname] y ser´n configurados para apuntar a nuestro nodo a alocal. Adem´s el cliente es ejecutado en el remoto con rsh o ssh (recordemos que tendr´ a ıamosque tener copiados los binarios de openmsoxiprocs en el directorio /usr/bin de cada nodo).

×