Your SlideShare is downloading. ×
Manual De Instalacion Del Cluster Knoppix
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Manual De Instalacion Del Cluster Knoppix

16,486
views

Published on

Published in: Business, Technology

0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
16,486
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1,202
Comments
0
Likes
5
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Clúster Solution Integrantes Carlos Mario Zabala Sánchez John Edison Sepúlveda Cataño Janer Norbey González Gamero Andrés Felipe López Guiral Andrés Felipe Gallego Weimar Yepez Profesor Mauricio Ortiz SENA (Antioquia) Medellín 2009
  • 2. Contenido Introducción 1. Objetivo general 2. Objetivos especificos 3. Introducción al cluster-knoppix 4. Historias de los cluster 5. Historia de openmoxis 6. Como instalar cluster-knppix en el disco 7. Como configurar tarjeta de red en cluster-knoppix 8. Como montar el sistema de archivos mfs 9. Creando las llaves SSH 10. Archivos de configuración del SSH 11. Herramientas de monitoreo 11.1. OpenMosixView 11.2. OpenMosixprocs 11.3. OpenMosixanalyzer 11.4. OpenMosixmigmon 11.5. OpenMosixhistory 11.6. Mosmon 12. Como probar clustes-knoppix 13. Conceptos básicos 14. CONCLUSIONES
  • 3. Introducción El desarrollo de este proyecto consiste en la implementación de un clúster que permita la reutilización de los que quipos de computo de bajos recursos del SENA. La característica principal de estos sistemas “clusters” es permitir que las tareas sean repartidas de forma balanceada entre cada uno de los nodos que hagan parte del clúster, permitiendo así procesar grandes cantidades de datos de una forma más rápida. Analizando la problemática que se presentan algunas empresas que requieran de la utilización de grandes servidores y que por motivos económicos es difícil tener acceso a estos, los clúster aparecen como una buena solución a esta necesidad con un bajo costo.
  • 4. Objetivos 1. Objetivo General Implementar un clúster de alta disponibilidad el cual brindara un alto rendimiento para los servicios que vaya a prestar; permitiendo reutilizar equipos que por sus bajos recursos ya no cumple con el rendimiento exigido por la empresa. 2. Objetivos Específicos: - Hacer que el clúster ya formado preste servicios ya sea DHCP, DNS. HTTP, etc. - Prestar un servicio de administrador de hardware y/o usuarios por medio de este. - Explotar el rendimiento de equipos de bajos recursos.
  • 5. 3. Introducción al clúster knoppix Que es un clúster Es un conjunto de computadoras que trabajan en paralelo, conectándose entre si de una forma coordinada y además centralizada para así poder procesar cargas más grandes que las que normalmente sería capaz de soportar un nodo solo. Que es un nodo Un nodo hace referencia a todos los equipos que hacen parte en los procesos y que adicional a esto son capaces de migrar procesos a otros, por eso un switch, router, hub, etc. No entran en esta definición. Características de un clúster Un clúster es una aglomeración de varios computadores trabajando como uno solo, lo cual significa que un solo computador no puede ser un clúster, tiene que estar conformado por dos o más computadores. Todos los nodos de un clúster deben estar interconectados entre si para formar una red. Que es un clúster homogéneo Es un clúster en el cual todos sus nodos cuentan con el mismo hardware y el mismo software es decir, son computadores idénticos y ninguno tiene más capacidad de procesamiento ni de almacenamiento que los demás. Que es un clúster heterogéneo Este tipo de clúster no se ligan ni al hardware ni al software especifico, es decir no todos los equipos deben de tener los mismos procesadores ni las mismas capacidades, lo que lo hace mas maniobrable puesto que sería fácil conseguir 4 o 5 computadoras con las mismas especificaciones pero imaginasen para conseguir más de 20 y fuera de eso si en el futuro quisieras agregarle otro equipo a tu clúster pero ya no consiguieras un PC igual a los que tienes, sería un problema complicado, afortunadamente están las soluciones a la mano.
  • 6. Que necesito Lo primero es un parche para el kernel, pero como ya sabemos hay distribuciones que vienen con el kernel ya parchado y solo es instalarlo y configurarlo, como lo es knoppix. Para que este parche para poder que el sistema reconozca los computadores como parte del clúster, pueda llevar a cabo la migración de los procesos llevando a cabo una monitorización de los diferentes procesos que realiza el sistema y así sabe cuánta es la carga y lograr el balanceo. Que es la escalabilidad La escalabilidad es la capacidad de un sistema de crecer o también de acomodarse a las exigencias del usuario o del administrador del mismo. Se puede hablar de escalabilidad hacia arriba o también hacia abajo, los clúster pueden crecer mucho hacia arriba sin elevar el tanto el costo como crezcamos en ordenadores ya que podemos utilizar computadores que no estén en uso son ventajas imprescindibles, en openmosix se pueden tener 65536 nodos trabajando a la vez esto tiene que tener un rendimiento enorme hasta con computadores de bajos recursos conectados a él. Tipos de clúster “Existen tres tipos” Alta disponibilidad (high availability) En este clúster todos los PCs se comparten los discos duros (hard disc) y se monitorean constantemente entre ellos, este es tolerante a fallos por que cuando un nodo cae los demás se cogen los procesos de este o los migran entre ellos mismos para que no se caiga el proceso pero además los demás nodos intentan restablecer el funcionamiento del nodo caído, cuando logran tener arriba y listo para procesar ese nodo vuelven a migrar los procesos que el mismo estaba realizando, para lograr estabilidad al clúster. Alto rendimiento Estos son varias, una aglomeración de maquinas que están diseñadas para lograr hacer cálculos al máximo con muchísima complejidad, esto se logra repartiendo la carga e una forma estratégica por así decirlo, logrando mas rendimiento en la solución de un problema. Balanceo de carga Este es una mezcla de los anteriores por que tiene características de ambos. Su tarea esencial es evitar que las aplicaciones se caigan.
  • 7. Existen dos tipos de transparencias de clúster Los no transparentes Estos deben de tener una configuración paralela previamente predeterminada, y también conocer previamente la topología con la cual funcionara el clúster (beowulf) y además la utilización de una librerías para el paso de los mensajes entre las diferentes tareas como lo pueden ser (PVM y MPI). Los transparentes En los transparentes tenemos el mosix y el openmosix, mosix es un clúster SSI en los niveles de sistemas trasparentes se utiliza principalmente para el aumento de procesamiento del sistema y permite la utilización de antiguos programas hechos para mono procesadores. Que es Beowulf Se trata de una arquitectura multicomputador utilizada para procesamiento paralelo que opera sobre un clúster, cuya jerarquía se basa en un nodo servidor y uno o más nodos cliente en red. Este sistema se apoya en un sistema distribuido y utiliza mecanismos de paso de mensajes. El procesamiento paralelo Es tipo de procesamiento tiene la capacidad de utilizar varios procesadores al mismo tiempo para ejecutar en cada uno una parte de ese mismo programa, la carga no se reclinara en uno solo si no que serán varios a la vez mejorando el rendimiento por razones obvias. Sistemas distribuidos Son computadoras conectadas en red los cuales logran por medio de mensajes el hardware y software coordinen sus acciones para lograr un objetivo. Sistemas operativos distribuidos Estos hacen lo mismo que los sistemas operativos normales, pero la diferencia es que trabajan de forma distribuida o en entornos distribuidos, para facilitar los accesos y la gestión a los recursos de la red.
  • 8. SSI (Server Side Include, inclusiones laterales del servidor) Estas son las directivas que permiten que el HTML estático sea reconocido para determinados output al navegador del que lo solicite. Esto fue pensado en los administradores de servidores web ya que facilita la creación y el mantenimiento de las webs. Que es openmosix Es un parche para el sistema operativo Linux que lo que hace es darle al computador una funcionalidad como nodo que hace parte del clúster. Cuneta con un algoritmo interno de balanceo de carga de migrar de forma tranparente los procesos a los demás nodos que hacen parte del clúster, la migración se hace dependiendo de varios factores como lo son la velocidad de la CPU de los nodos individualmente hablando, a la carga que tengan actualmente cuando se vallan a migrar los otros y la conexión de red que se tenga. Ventajas al utilizar openmosix No tienes que preocuparte por agregarle librerías No es necesario programar las aplicaciones Utiliza un sistema de ficheros oMFS Cuenta con un daemon para descubrir los nodos automáticamente “omdiscd” Desventajas al utilizar openmosix La migración de los procesos que usan memoria no está totalmente desarrolla esta en fase beta. Tiene un núcleo dependiente Que es omdiscd Este demonio lo que se encarga de hacer es crear automáticamente una lista con las maquinas existentes en la red, cuando se tiene otro demonio de auto detección de nodos valido y funcional, así que este le estará informando al kernel openmosix de los nodos para que este posteriormente los tenga en cuenta a la hora de migrar procesos.
  • 9. 4. Historia de los clústers De estas tecnologías se desconoce el origen, lo único que se puede aproximar es que empezaron terminando los años 50 y principiando los 60. La persona que hizo posible el trabajo paralelo fue Gene Amdahl de IBM, con la publicación en 1967 la ley de Amdahl describiendo matemáticamente el aceleramiento que se puede dar cuando paralelizamos cualquier tipo de tareas en arquitecturas paralelas. Este articulo seria la base para la ingeniera de la computación de multiprocesador y de clúster. Mas o menos la historia que tienen los grupos de computadoras está ligada a la historia del principio de las redes. Las redes de conmutación de paquetes fue inventado por RAND en 1962. Utilizando un concepto de una red basada en conmutación de paquetes, ARPANET que en ese momento venía siendo un proyecto, creo en 1969, la primera red de computadoras básica soportada en clúster. Pero vale aclarar que no era un clúster cómodo o (comodity clúster) como lo es ahora. Con el crecimiento desmesurado de ARPANET llego a convertirse en lo que hoy conocemos como internet “la madre de los clusters”. 5. Corta historia de openmosix OpenMosix es un proyecto que surgió de la separación de los dos principales desarrolladores de Mosix: – Amnon Barak: actual desarrollador principal de Mosix. – Moshe Bar: quien empezó OpenMosix bajo licencia GPL. Openmosix funciona simulando un sistema multiprocesador. Reparte procesos entre los nodos según su carga de forma automática, transparente y dinámica.
  • 10. 6. Como instalar clúster-knoppix en el disco duro utilizando un live Cd 1. Abrimos una consola como usuario root y ejecutamos el siguiente comando knoppix-installer. 2. Nos aparece un cuadro que cual nos indica que el disco aun no se encuentra particionado y no sugiere que el espacio recomendado que debemos utilizar, al cual le debemos dar OK.
  • 11. 3. Acá nos pregunta que deseamos hacer si particionar o salir, el caso le damos particionar el disco y luego OK. 4. Al darle en particionar el disco nos aparece un programa el cual no permitirá hacer las particiones del disco.
  • 12. 5. Seleccionamos el disco queremos formatear, damos click derecho el disco y seleccionamos crear nueva tabla de particiones, y le damos que sí. 6. En él la venta que nos aparece en la opción crear como primary partición, tipo de partición Linux-swap el tamaño lo definimos al el doble del tamaño de memoria RAM que tengamos en nuestro equipo pero sin exceder 512mb, ejemplo si tenemos 128 Mb de RAM la partición del swap debe de ser de 256mb, pero si tenemos una memoria de 512mb la memoria RAM debe de ser de 512mb como máximo, porque si ponemos más seria una perdida espacio. En la posición seleccionamos final del espacio no utilizado, y aceptamos.
  • 13. 7. En esta ventana utilizaremos la siguientes opciones - Crear como primary particion - Tipo de partición ext3 - Etiqueta como lo queramos llamar - Tamaño define el tamaño de la partición del disco - Posición inicio del espacio no utilizado Y por ultimo le damos aceptar.
  • 14. 8. En la ventana que nos aparece, en la parte superior izquierda hay un disquete le damos allí y le damos que en yes para que inicie el proceso de formateo. Y al finalizar el proceso de formateo cerramos la ventana.
  • 15. 9. Luego de haber cerrado la ventana nos aparece la ventana no encontramos varias opciones, le damos en la primero opción configurar la instalación y damos en OK y le damos posterior. 10. En esta ventana seleccionamos la última opción debían: sistemas cono debían (método del antiguo instalador).
  • 16. 11. Acá seleccionamos el disco y le damos en posterior. 12. En esta ventana seleccionamos el sistema de ficheros para la instalación, seleccionamos ext3 y le damos en posterior.
  • 17. 13. En esta venta ingresamos nuestro nombre o el que quemos. 14. En esta ventana introducimos el nombre que le queremos dar a el usuario.
  • 18. 15. Acá introducimos la clave que de usuario.
  • 19. 16. Acá introducimos el nombre que le queremos dar al equipo. 17. En esta venta seleccionamos el gestor de arranque, seleccionamos mbr: sector de arranque primario y le damos posterior.
  • 20. 18. Luego en el menú que nos sale seleccionamos la opción 2 comenzar instalación y click en ok.
  • 21. 19. Acá nos muestra una ventana con toda la configuración que hicimos verificamos y le damos en posterior. 20. Al haber dado en posterior inicia el proceso de instalación el disco duro.
  • 22. 21. Al haber terminado con el proceso de copia nos aparece un aviso el cual nos pide un disquete, no es necesario insertarlo solo le damos que no y listo 22. Y por ultimo le damos que no, y reiniciamos el equipo y solo sacamos el cd cuando el sistema lo indique.
  • 23. Cuando lo hayamos prendido si utilizar el Cd nos aparece una pantalla como la siguiente.
  • 24. 7. Como configurar tarjeta de red en cluster-knoppix 1. En la consola de comandos ejecutamos como usuario root el siguiente comando netcardconfig. 2. Acá nos aparéese una ventana donde nos pregunta si queremos hacer la configuración con un DHCP o si lo queremos hacer manualmente en el caso lo haremos manual, por lo tanto le daremos que no.
  • 25. 3. En este espacio agregamos la dirección ip queremos utilizar para nuestra tarjeta de red.
  • 26. 4. Acá agregamos la máscara de red que pertenezca a la dirección ip que ingresamos anteriormente. 5. Acá se pone la dirección de broadcast.
  • 27. 6. En esta pantalla se pone la puerta de enlace o Gateway por defecto. 7. Y por ultimo obtendremos la siguiente información la cual nos dice que la interface se encuentra arriba y la configuración que ingresamos anteriormente.
  • 28. 8. Como montar el sistema de archivos mfs Acá procedemos a abrir este archivo de configuración. “fstab” Montamos el sistema de archivos MFS. Pero para poder agregar cambios presionamos la letra “ i ” y luego agregamos la línea que esta subrayada en rojo, (mfs /mfs mfs dfsa=1 0 0)
  • 29. Para salirnos y guardar los cambios realizados presionamos Esc : x y enter y así se guardaran los cambios. Después creamos un directorio dentro de la raíz que se llame mfs.
  • 30. Montamos el directorio “mount mfs” y ya esta listo nuestro mfs. Y probamos reiniciando el openmosix para ver que si este funcionando bien el sistema de archivos ya agregado anteriormente.
  • 31. 9. Creando las llaves SSH En el interprete de comandos colocamos el comando (ssh-keygen -t rsa) esta es para crear las llaves para la conexión ssh, para hacerla más segura. Tecleamos enter. Después de dar enter nos sale el primer dialogo hay damos enter solamente sin copiar nada puesta opción lo que nos está diciendo es como donde se van a guardar las claves, después de dar enter a mi me pidió una comprobación le damos y que significa que si y damos enter de ahí nos pide como que especifiquemos la contraseña y después que la comprobemos, en este caso mi llave no me va a pedir ninguna contraseña puesto que yo les di enter sin colocar ninguna contraseña, y también podemos ver que nos muestra la ruta de las clave privada y también de la pública.
  • 32. En este momento solo voy a verificar si los archivos correspondientes si fueron creados, hay podemos ver los archivos que están encerrados en azul. Ahora tenemos que crear un archivo vacio el cual se debe de llamar authorized_keys, utilizo el comando “touch” para crearlo, y después para verificar si esta creado “LS” para ver si quedo creado, lo vemos seleccionado de color azul.
  • 33. Ahora con el comando CAT solamente voy a ver el contenido de la clave privada. Ahora visualizo la clave pública con el mismo comando CAT.
  • 34. Ahora vamos a colocar el contenido del archivo “id_rsa.pub” al archivo “authorized_keys” para autorizar la conexión ssh de ese nodo y así igualmente con las claves de los nodos a los cuales quieres que se conecten. Además también lo mostramos por la salida estándar con el comando CAT para ver si quedo direccionado. Vamos a publicar en nuestro servidor web nuestra clave pública para mantenerla a la mano en caso de que la necesitemos para ingresarla en otros nodos o en el máster. Vemos que al final le coloque el nombre de clave con la dirección IP del nodo y al final ese nombre podemos ver la clave, de esta forma. 192.168.0.100/clave, esto se hace en un navegador web.
  • 35. Restauramos el servidor para que coja los cambios . Verificamos en nuestro navegador si la clave queda en el servidor, hay podemos ver que esta correcta y de esta forma queda lista nuestra conexión ssh.
  • 36. 10. Archivos de configuración del SSH Entramos a configurar el archivo del servidor SSHD con el siguiente comando en la consola del knoppix. Luego de estar en archivo agregamos las siguientes líneas donde *RSAAauthentication NO: no realiza autentificación de llaves RSA *PasswordAuthetication YES: requiere autentificación de claves *PubkeyAuthetication YES: realiza autenticación de claves públicas *PermitEmptyPasswords YES: permite el ingreso de claves vacías es decir sin caracteres. *AuthorizedKeysFile; lo demás es la ruta del archivo ya previamente creado para las claves tanto publicas como privadas.
  • 37. La siguiente línea es comprobar que se puede realizar login remotos sin tener que introducir ninguna clave.
  • 38. Esta es la ruta del archivo del servidor SSH que veremos más abajo El siguiente archivo el del servidor SSH donde se debe dejar tal y como está pero es bueno mirarlo para ver la diferencia entre el archivo SSHD y este.
  • 39. 11. Herramientas de monitoreo 11.1. OpenMosixView OpenMosixView no está en las herramientas de área de usuario de OpenMosix por defecto. Y la razón es muy simple: las herramientas de área de usuario son lo mínimo que necesita cualquier administrador o usuario de OpenMosix para poder trabajar. En la mayoría de las instalaciones de OpenMosix, los nodos son cajas sin monitor, ratón o teclado con una instalación mínima de Linux, por lo que en principio OpenMosixView sólo será un problema para el administrador, que puede no tener interés en instalar las librerías QT y KDE en una máquina que sólo va a servir procesos. La suite OpenMosixView contiene siete aplicaciones altamente útiles y eficaces tanto para la administración como para la monitorización del clúster.  OpenMosixView: principal aplicación de monitorización y administración.  OpenMosixprocs: aplicación para la administración de procesos.  OpenMosixcollector: captura la información del clúster proporcionada por los demonios.  OpenMosixanalyzer: analizador de la información capturada por OpenMosixcollector.  OpenMosixhistory: historial de monitorización de procesos del clúster.  OpenMosixmigmon: visor que representa la migración de procesos.  3dmosmon: visor para monitorización de datos en 3D. Todos los componentes son accesibles desde la ventana de la aplicación principal. Este entorno facilita la interacción con el usuario puesto que le permite ejecutar los comandos de consola más comunes con unos pocos clic de ratón.
  • 40. La figura muestra la ventana de la aplicación. El usuario podrá interactuar con OpenMosix a través de sus controles. Para cada nodo del clúster (cada fila): una luz, una barra de velocidad, un número que indica la velocidad de procesamiento, dos barras de progreso porcentual que indican la eficiencia de balanceo de carga y de uso de memoria, también un par de etiquetas que indican la cantidad de memoria y el número de procesadores por nodo. 11.2. OpenMosixprocs El processlist ofrece una visión general de lo que se está ejecutando. La segunda columna muestra el nodo openMosix ID de cada proceso. 0 medios locales, todos los demás valores son los nodos remotos. Los procesos migrados están marcados con un icono verde y procesos nonmoveable tener una cerradura.
  • 41. 11.3. OpenMosixanalyzer La siguiente figura nos muestra de forma gráfica la carga en el openMosixanalyzer. Con el openMosixanalyzer tendremos un historial continuo de nuestro clúster. Los historiales generados por openMosixcollector se mostrarán ahora de forma gráfica, de forma continua, lo que nos permitirá ver la evolución del rendimiento y demás parámetros de nuestro clúster a través del tiempo. OpenMosixanalyzer puede analizar los historiales a tiempo real (datos generados a tiempo real) y evidentemente también puede abrir antiguos backups con el menú File. Los historiales serán guardados en /tmp/openMosixcollector/* (y los backups los tendremos en /tmp/openMosixcollector [date]/*) y sólo tendremos que abrir el historial principal del clúster para visualizar antiguos historiales de informaciones de carga. (el campo [date] en los ficheros de backup se refiere a la fecha en que han sido guardados)
  • 42. 11.4. OpenMosixmigmon El es un monitor para las Migraciones en su openMosix-cluster. Muestra todos los nodos como pequeños pingüinos sentados en un círculo. -> Nodos de círculo. -> Nodos de Círculo. El pingüino principal es el nodo en el que se ejecuta openMosixmigmon y alrededor de este nodo se muestra también en sus procesos de un círculo de pequeños cuadrados de color negro. El principal pingüino es el nodo en el que se Ejecuta openMosixmigmon y Alrededor de este nodo se muestra También en sus procesos de un círculo de pequeños cuadrados de color negro. -> El proceso principal círculo -> El proceso principal círculo de Si un proceso migra a uno de los nodos del nodo recibe un proceso propio círculo y el proceso se trasladó del proceso principal de círculo para el proceso remoto círculo. Entonces, el proceso está marcado en verde y traza una línea desde su origen hasta su ubicación remota para visualizar la migración. Si Un proceso migra A Uno de los nodos del nodo Recibe Un proceso propio Círculo y El proceso pasó en el Proceso principal de círculo para el Proceso remoto Círculo. Entonces, El proceso está marcado en verde y traza una línea desde su origen hasta su mando a distancia para visualizar la ubicación de la migración. 10.8.2. 10.8.2. Información sobre herramientas: herramientas información sobre: Si mantiene el ratón sobre un proceso que le mostrará su PID y de línea de comandos en un texto de ayuda en pequeña ventana. Si Mantiene el ratón sobre un Proceso que le
  • 43. mostrara su PID y de línea de comandos en un texto de ayuda en pequeña ventana. 10.8.3. 10.8.3. Función de arrastrar y soltar! Función de arrastrar y soltar! El openMosixmigmon función de arrastrar y soltar está completamente activado. Usted puede asir (arrastre) cualquier proceso y colocar a cualquiera de los nodos (los pingüinos) y el proceso se trasladará allí. Si hace doble clic en un proceso en un nodo remoto será enviada a casa inmediatamente. El openMosixmigmon Función de arrastrar y soltar está completamente activado. Usted Proceso Cualquier Puede Asir (arrastre) y colocar una cualquiera de los nodos (los pingüinos) y El proceso se trasladará allí. Si hace doble clic en Un proceso en un nodo remoto, se le se envían a casa inmediatamente. 11.5. OpenMosixhistory Con openMosixhistory podremos acceder a la lista de procesos ejecutados en el pasado. Conseguiremos una lista de los procesos que se ejecutaron en cada nodo. OpenMosixcollector guarda la lista de procesos de cada nodo cuando lo iniciamos y con el openMosixhistory podremos navegar en dicha información para ver el comportamiento que desarrolló nuestro clúster
  • 44. 11.6. Mosmon Esta herramienta monitorea la carga en el Clúster, la memoria disponible, memoria que fue utilizada, y otras cosas en tiempo real. El Mtop Esta herramienta es de interés para las personas que están familiarizadas con “top”. Los mantenimientos de “top” rastrean todos y cada uno de los procesos andando en la computadora. El mtop, también exterioriza a cada proceso, con la información adicional del nodo en el cual el proceso echa a andar.
  • 45. 12. Como probar clustes-knoppix a. Prueba simple: los de OpenMosix dicen que la manera más sencilla de probarlo es crear el script test_mosix, cuyo contenido es: awk 'BEGIN {for(i=0;i<10000;i++)for(j=0;j<10000;j++);}' & Y lanzarlo con el comando: $ for i in `ls /etc/` ; do ./test_mosix ; done Para matar todos los procesos awk: $ pkill awk $killall awk b. Prueba de stress OpenMosixTest (openmosixview.com/omtest/, paquete openmosixtest): sirve para determinar si el clúster funciona correctamente y cómo responde bajo carga, generando al finalizar un informe con los resultados. Para ejecutarlo: $ ./start_openMosix_test.sh c. Ejemplo con Blender: veamos cómo renderizar una escena de Blender aprovechando OpenMosix. Blender corre como un único proceso por lo que OpenMosix poco puede hacer, como mucho migrarlo a otra máquina. Pero si dividimos el trabajo en varios procesos (tantos como nodos) sí podremos aprovechar nuestro clúster openMosix. - Descargamos la escena de Blender blacksmith.tgz y la descomprimimos. - Abrimos /blacksmith/blacksmith.blend, seleccionamos la escena 04_06 y configuramos el render a 640×480 y formato .jpg. - Descargamos el script de Marc O. Gloor render.gz que será el encargado de dividir el trabajo en tantos procesos como nodos. Lo descomprimimos en el directorio /blacksmith y le damos permisos de ejecución. Para ejecutarlo (4 nodos, 230 imágenes): $ ./render blacksmith.blend 1 231 4
  • 46. 13. Conceptos básicos Alto rendimiento: Gran demanda de procesamiento de datos en procesadores, memoria y otros recursos de hardware, donde la comunicación entre ellos es rápida. Balanceo de carga: Lo ideal en el procesamiento paralelo es que cada procesador realice la misma cantidad de trabajo, donde además se espera que los procesadores trabajen al mismo tiempo. La meta del balanceo de carga es minimizar el tiempo de espera de los procesadores en los puntos de sincronización. Compilador: Un compilador es un programa que traduce otro programa escrito en un lenguaje de programación llamado código fuente, en un programa equivalente al lenguaje de computadora llamado ejecutable ó binario. Computadora vectorial: Posee un conjunto de unidades funcionales utilizados para procesar vectores eficientemente. Contiene registros vectoriales para operar sobre ellos en un solo ciclo de reloj. Computadora paralela: Máquina con dos o más procesadores que pueden trabajar simultánea y/o coordinadamente. Estas son de dos tipos: las MIMD donde cada procesador puede ejecutar diferentes instrucciones sobre diferentes datos, y las SIMD donde los procesadores ejecutan las mismas instrucciones pero con diferentes datos, como se explicara en la siguiente sección. Eficiencia: Es la relación entre el costo computacional y el funcionamiento del cluster; y lo que indica es qué tan eficiente se está utilizando el hardware y se expresa de la siguiente forma: ; donde es la eficiencia, es el numero de procesadores, es el tiempo en que tarda en procesar un programa en particular en un procesador, es el tiempo en que tarda en procesar un programa en particular en n procesadores. Escalabilidad: Generalmente se mide la eficiencia de un problema, utilizando un tamaño y un número de procesadores fijo, pero esto es insuficiente, pues los resultados serán diferentes cuando se aumente o disminuya el tamaño del problema y el número de procesadores. Esto es, existe un problema de escalabilidad. Cuando se aumenta el número de procesadores para el mismo tamaño del problema, la sobrecarga debido al paralelismo (comunicaciones, desbalanceo de carga), aumenta y similarmente podemos tener casos en donde el tamaño del problema es muy pequeño para tener una evaluación real del problema sobre cierta máquina. Flops: Un flop es utilizado para medir operaciones de punto flotante por segundo. Es una medida de la velocidad del procesamiento numérico del procesador. Se utilizan en unidades de millones de flops (MegaFlops), Miles de Millones de flops (GigaFlops), etc.
  • 47. Kernel: El kernel, también conocido como núcleo; es la parte fundamental de un sistema operativo. Es el software responsable de facilitar a los distintos programas acceso seguro al hardware de la computadora. Memoria compartida: En una máquina paralela existe una sola memoria que puede ser accedida por todos los procesadores. Memoria distribuida: Cada uno de los procesadores de un multiprocesador tiene asociado a él una unidad de memoria. MFS: Este es el sistema de _cheros que se desarrolló para openMosix en espera de alguno mejor para poder hacer uso de una de sus técnicas de balanceo, DFSA. Este sistema funciona sobre los sistemas de ficheros. Nodo: Se refiere a una computadora sola que contiene recursos específicos, tales como memoria, interfaces de red, uno o más CPU, etc. NFS: es un protocolo de nivel de aplicación, según el Modelo OSI. Es utilizado para sistemas de archivos distribuido en un entorno de red de computadoras de área local. Posibilita que distintos sistemas conectados a una misma red accedan a ficheros remotos como si se tratara de locales. Originalmente fue desarrollado en 1984 por Sun Microsystems, con el objetivo de que sea independiente de la máquina, el sistema operativo y el protocolo de transporte, esto fue posible gracias a que está implementado sobre los protocolos XDR (presentación) y ONC RPC (sesión) .El protocolo NFS está incluido por defecto en los Sistemas Operativos UNIX y la mayoría de distribuciones Linux. Paralelismo: Consiste en el procesamiento de una serie de instrucciones de programa que son ejecutables por múltiples procesadores que trabajan de manera independiente . Existen dos formas conocidas de hacer paralelismo: una es en hardware y otra en software. Por hardware depende de la tecnología de cómputo y la de software se refiere a la habilidad del usuario para encontrar áreas bien definidas del problema que se desea resolver, de tal forma que éste pueda ser dividido en partes que serán distribuidas entre los nodos del clúster. Proceso: Un proceso es básicamente un programa en ejecución. Cada proceso tiene asociado un espacio de direcciones, es decir una lista de posiciones de memoria desde algún mínimo hasta algún máximo que el proceso puede leer y escribir. Rendimiento: Es la efectividad del desempeño de una computadora sobre una aplicación o prueba de rendimiento (benchmark) en particular. En las mediciones de rendimiento están involucrados velocidad, costo y eficiencia. Speedup(velocidad): Se define como el tiempo que tarda en ejecutarse el mismo programa en un solo procesador, dividido entre el tiempo que toma ejecutarse el mismo programa en procesadores. .
  • 48. Donde es el speedup, es el tiempo de ejecución en un procesador y el tiempo de ejecución en procesadores. En un problema que es completamente paralelo, el valor del speedup debe ir incrementando linealmente con el valor de , sin embargo en muchos problemas donde el balanceo de carga no es perfecto y la comunicación entre procesos sobrepasa el tiempo de cómputo, el valor del speedup es menor que el valor de . La mejor solución es la que se acerque más al valor de
  • 49. 14. CONCLUSIONES Esta es una alternativa a la hora de escases de recursos o de dinero para la adquisición de los nuevos equipos más potentes. Es un parche para el SO basado en software libre, que se encarga de darle la funcionalidad al PC de nodo dentro del clúster. El distribuimiento de la carga entre los nodos del clusters hace que los procesos que se ejecuten se lleven a cabo de forma más eficiente. Cuanta con una buena seguridad en la parte de la conexión remota con SSH, ya que se generan unas claves para impedir que intrusos o nodos no autorizados entren al máster.

×