Está en la página 1de 26

David Silva

Noel Liarte
Ramon Montagut
1.INTRODUCCIÓN
    1.1 HISTORIA
    1.2 REQUISITOS
    1.3 CATALOGACIÓN
    1.4 TIPOS
2.
3.
No hay una definición fija de la definición de Cluster ya que ni
los expertos ni los que los implementa se ponen de acuerdo.
Podemos considerarlo como:
- Un grupo de sistemas independientes (nodos) que trabajan
juntos como un sistema único.
-Garantiza y asegura que los recursos y aplicaciones de
importancia permanezcan disponibles.
-La carga de trabajo es balanceada para garantizar el alto
rendimiento.
1967: Gene Amdahl (IBM) publicó la Ley Amdahl, considerada
como el papel inicial del procesamiento paralelo, describe
matematicamente el aceleramiento que se puede esperar
paralelizando una serie de tareas.
1962: La Corporación RAND crea conceptualmente la
conmutación de paquetes.
1969: El proyecto ARPANET(red ce conmutación de paquetes)
crea lo que fue la primera red de computadoras basado en el
cluster con su crecimiento dio lugar a INTERNET.
1977: Datapoint crea el primer producto comercial (ARCnet)
pero no tiene exito hasta 1984  cuando se crea el sistema
operativo VAX/VMS (VAXcluster).
1989-1993: Desarrollo del software Pararell Virtual Machine
(PVM).
1994: Clusters notables como el Tandem Himalaya (productos
de alta disponibilidad) y el IBM s/390 Parallel Sysplex (uso para
empresas)
- Un cluster consta de 2 o más nodos.
- Los nodos de un cluster están conectados entre sí por al
menos un canal de comunicación.
- En cada nodo es imprescindible un elemento de proceso,
memoria y un interfaz de comunicaciones.
- Necesitan software de control especializado:
     Soft a nivel de aplicación: Genera elementos de proceso de
tipo rutinas, procesos o tareas, que se ejecutan en cada nodo
cluster y se comunican entre si a traves de la red.
    Soft a nivel de sistema: Suele estar implementado como
parte del sitema operativo de cada nodo
- Según el nivel de colaboración de los distintos elementos 
puede ser:
    -Acoplamiento fuerte:Los elementos estan muy relacionados
unos con otros (la imagen del kernel es compartida por los
nodos).
    -Acoplamiento medio:El software no necesita un
conocimiento tan exahustivo de todos los nodos--> OpenMosix 
    -Acoplamiento débil: Bibliotecas preparadas para
aplicaciones distribuidas, hay que dotarles de una extructura
superior para que este funcione.
- Según el tipo de control:
    - Control centralizado: Desde un nodo maestro se puede
configurar el comportamiento de todo el sistema.
    - Control descentralizado: Cada nodo debe administrarse y
- Según la homogeneidad:
    - Homegéneos: Formados por equipos de la misma
arquitectura.
    - Heterogéneos: Formados por nodos con distinciones.
El diseño de un cluster debe de solucionar:
- La mejora del rendimiento.
- Abaratamiento de coste.
- Distribución de factores de riesgo del sistema.
- Escalabilidad
Todas estas caracteristicas y el servicio prioritario dan pie a los
tipos de cluster.
- Alto rendimiento
- Alta disponibilidad
- Alta confiabilidad
    - Mejora el rendimiento en la obtención de la solución de un
problema, tanto en tiempo de respuesta como en precisión.
    -Las tecnicas utilizadas depende a que nivel trabaje el
cluster:
 - Pueden ser a nivel de sistema (openMosix)
          - Basan su funcionamiento en comunicación y
colaboración de los nodos a nivel de sistema operativo.
            - Compartición de recursos a cualquier nivel, balanceo
de carga, funciones de planificación espciales,...
  - A nivel de aplicación
        - No suelen implementar a balanceo de carga.
        - Política de localización que situa las tareas en los
diferente nodos y las comunica mediante librerias abstracta
- Controla y actua para que un servicio o varios se encuentre
activos durante el máximo periodo de tiempo posible.
- Solicitados por las empresas para mejora servicions de cara a
los clientes.
- Se implementan en base a tres factores:
    -Fiabilidad.
    -Disponibilidad.
    -Dotacion de servicio.(proveer a clientes externos)
-Se necesita saber que el sistema se va a comportar de una
determinada manera.
-Son los mas dificil de implementar
-Gastar recursos necesarios para evitar qu aplicaciones caigan
--> Implica sobrecarga en el sistema
-Trata de mantener el estado de las aplicaciones y relanzar el
servicio, y no simplente utilizar el punto de parada como hace
los cluster HD, ya que esto en tiempo real no es suficiente.
-Esta funcionalidad unicamente puede ser efeectuada por
hardware especializado, no existe ningúno de estos cluster
implementados por software--> Por la complejidad de mantener
los estados
● Son tareas de computo que necesitan un uso realizar calculos de forma intensiva.

● La supercomputacion utiliza masivamente la paralelizacion de procesos.

● Actualmente el coste de un sistema de supercomputacion se ha decrementado


sustancialmente.

● Un ejemplo el marenostrum:

Situado en BSC (campus nord) cuenta con 10.240 cpus


y una capacidad de calculo de 94.21 Tflops, 20TB de
memoria , conexión de red gigabit y el S.O Suse Linux.
● Los nodos no tienen porque se
Nodo 0
homogeneos.
Sw2
Sw1
● Los componentes son:
○ Nodo 0: Administracion del cluster y servidor
pxe,dhcp,dns,tftp,nfs.
○ Switchs [1,2]: Red Fast ethernet o Gigabit con
dos caminos para garantizar la tolerancia a
Nodo 1 Nodo 2 Nodo 3 Nodo n fallos.
○ Nodos [1-n]: hardware no especializado, 2
conexiones de red con bonding para tolerancia
a fallos. Con o sin disco.

Arquitectura de un cluster de n nodos


● Tipos de configuraciones:

● Single-Pool: Todos los nodos forman parte del cluster.

● Server-Pool: Las estaciones de trabajo para el acceso al cluster no forman parte de este.

● Adaptative-pool: Las estaciones de trabajo se incorporan al cluster en funcion de las


necesidades del momento.
Rh (tiempo de ejecucion de codigo paralelizable)
RL (tiempo de ejecucion de codigo secuencial)
f (numero de instrucciones ejecutadas de forma
paralela)
○ Granularidad:
○ Se entiende por granularidad la minima estructura que puede ser paralelizable.

○ Niveles de granularidad:

■ Fina: bucles y sentencias.


■ Media: Modulos , rutina s y procesos.
■ Gruesa: Programas y procesos.

■ La granularidad de open mosix es a nivel de procesos.

○ Problematica de la transparencia:
■ La forma en que los programas se estructuran para ser paralelizados .
■ Existen dos opciones basicas :
■ explicita: donde el programador utiliza librerias que
realizan dichas funciones como son MPI,PVM,
obligando a reescribir codigo de aplicaciones
● 3.1 Qué es OpenMOSIX?
●3.2 Características
●3.3 Subsistemas de OpenMOSIX
●3.4 Algoritmo de migración
● 3.5. Instalación
● OpenMosix es un software para conseguir clustering en
GNU/Linux, migrando los procesos de forma dinámica con
requisa.

● Este software se encuentra en forma de parche para el


kernel de Linux, de forma que lo modifica para poder
implementar diferentes funcionalidades que conformarán el
clúster.
●Ventajas de OpenMosix
○ No requiere de paquetes extra para funcionar.
○ No necesita modificar el código de los programas.

●Desventajas de usar OpenMosix


○ Depende directamente del kernel de Linux.
○ No siempre migra todos los procesos, tiene limitaciones.
○ Tiene problemas de memoria compartida.
●Mosix File System (MFS).

●Migración de procesos.

●Direct File System Access (DFSA).

●Memory ushering.
●Mecanismo de migración
●Condiciones de migración
○ El proceso no puede ejecutarse en modo de emulación
VM86.
○ El proceso no puede ejecutar instrucciones en
ensamblador propias de la máquina donde se lanza y
que no dispone la máquina destino.
○ El proceso no puede mapear memoria de un dispositivo
a la RAM, ni acceder a los registros de un dispositivo.
○ El dispositivo no puede utilizar segmentos de memoria
compartida.
●Metodología y pasos a seguir.

○ 1. El primero es compilar e instalar un kernel con soporte


openMosix.
○ 2. El segundo, compilar e instalar las herramientas de
área de usuario.
○ 3. El tercer paso es configurar los demonios del sistema
para que cada máquina del clúster siga el
comportamiento que esperamos.
○ 4. El cuarto paso es crear el fichero del mapa del clúster.
Este cuarto paso sólo es necesario si no usamos la
herramienta de autodetección de nodos.
A raíz de la teoría aquí expuesta, y dada la
complejidad del tema tratado, se puede concluir que,
openMosix es una muy buena opción como punto de
partida para el desarrollo de nuevos sistemas de
clustering y procesamiento paralelo.

A pesar de ser un proyecto ya abandonado, en


marzo de 2008, en nuestra modesta opinión, tiene
todos los ingredientes necesarios para el correcto
funcionamiento de un sistema clúster.
● Manual para el clustering con openMosix 1.0
por Miquel Catalán i Coït

● http://Top500.org

● http://www.wikilearning.com/tutorial/el_manu
al_para_el_clustering_con_openmosix/9756
por Miquel Catalán i Coït
y Kris Buytaert

También podría gustarte