100% encontró este documento útil (1 voto)
474 vistas48 páginas

Instalacion Cluster

Este documento describe la instalación y configuración de un clúster utilizando Knoppix. Explica los conceptos básicos de clústeres como nodos, tipos de clústeres y herramientas de monitoreo. También cubre la historia de los clústeres y OpenMosix.

Cargado por

morris star
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (1 voto)
474 vistas48 páginas

Instalacion Cluster

Este documento describe la instalación y configuración de un clúster utilizando Knoppix. Explica los conceptos básicos de clústeres como nodos, tipos de clústeres y herramientas de monitoreo. También cubre la historia de los clústeres y OpenMosix.

Cargado por

morris star
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd

UNIVERSIDAD NACIONAL

“DANIEL ALCIDES CARRIÓN”

INSTALACION DE CLUSTER
Contenid
o

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
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
de sistemas undac.

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.
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.

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.
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.

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.

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.

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.
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.

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.

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.
7. En esta ventana utilizaremos la siguientes
opciones
- Crear como primary particion
- Tipo de particiónext3
- 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.


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.
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).
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.
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.


15. Acá introducimos la clave que de usuario.

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.

18. Luego en el menú que nos sale seleccionamos la opción 2


comenzar instalación y click en ok.
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.
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.
Cuando lo hayamos prendido si utilizar el Cd nos aparece una pantalla como
la siguiente.
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.
3. En este espacio agregamos la dirección ip queremos utilizar para
nuestra tarjeta de red.
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.


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.
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)
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.


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.
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.
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.
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.


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.
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.
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.
La siguiente línea es comprobar que se puede realizar
login remotos sin tener que introducir ninguna clave.
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.
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.
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.
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)
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
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
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.
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


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.
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.

.
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
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.

También podría gustarte