PDF de programación - Computación Cluster y Grid - Gestión de procesos

Imágen de pdf Computación Cluster y Grid - Gestión de procesos

Computación Cluster y Grid - Gestión de procesosgráfica de visualizaciones

Publicado el 8 de Septiembre del 2017
737 visualizaciones desde el 8 de Septiembre del 2017
644,8 KB
16 paginas
Creado hace 16a (05/03/2008)
05/03/2008

Computación Cluster y Grid
Computación Cluster y Grid
Computación Cluster y Grid

Computación Cluster y Grid
Computación Cluster y Grid

Gestión de Procesos

Gestión de Procesos

1. Conceptos y taxonomías: Trabajos y sistemas

paralelos

2. Planificación estática:

Planificación de tareas dependientes
Planificación de tareas dependientes
Planificación de tareas paralelas
Planificación de múltiples tareas

3. Planificación dinámica:
Equilibrado de carga
Migración de procesos
Migración de datos
Equilibrado de conexiones

g

111

3

Escenario de Partida: Términos

Trabajos: Conjuntos de tareas (procesos o hilos)

que demandan: (recursos x tiempo)
Recursos: Datos, dispositivos, CPU u otros requisitos

(finitos) necesarios para la realización de trabajos.
(

p

)

j

Tiempo: Periodo durante el cual los recursos están

asignados (de forma exclusiva o no) a un determinado
trabajo.

Relación entre las tareas: Las tareas se deben

ejecutar siguiendo unas restricciones en relación a los
datos que generan o necesitan (dependientes y
y
concurrentes)

( p

q

g

Planificación: Asignación de trabajos a los nodos

de proceso correspondientes. Puede implicar
revisar, auditar y corregir esa asignación.

Computación Cluster y Grid

2

4

Escenario de Partida

Recursos demandados

Trabajos

Tareas

OBJETIVO

Asignación de los trabajos de los usuarios a los
distintos procesadores, con el objetivo de mejorar

prestaciones frente a la solución tradicional

Computación Cluster y Grid

Nodos

(Procesadores)

Computación Cluster y Grid

1

Características de un Sistema Distribuido
Sistemas con memoria compartida

Recursos de un proceso accesibles desde todos los

procesadores
Mapa de memoria
Recursos internos del SO (ficheros/dispositivos abiertos puertos etc )
Recursos internos del SO (ficheros/dispositivos abiertos, puertos, etc.)

Reparto/equilibrio de carga (load sharing/balancing) automático
Si el procesador queda libre puede ejecutar cualquier proceso listo

Beneficios del reparto de carga:

Mejora uso de recursos y rendimiento en el sistema
Aplicación paralela usa automáticamente procesadores disponibles

Sistemas distribuidos

Proceso ligado a procesador durante toda su vida
Recursos de un proceso accesibles sólo desde procesador local

No sólo mapa de memoria; También recursos internos del SO

Reparto de carga requiere migración de procesos

Escenario de Partida: Trabajos

¿Qué se tiene que ejecutar?
Tareas en las que se dividen los trabajos:
Tareas disjuntas

Procesos independientes
Procesos independientes
Pertenecientes a distintos usuarios

Tareas cooperantes

Interaccionan entre sí
Pertenecientes a una misma aplicación
Pueden presentar dependencias
Pueden presentar dependencias
O Pueden requerir ejecución en paralelo

5

Computación Cluster y Grid

6 Sistemas Operativos Distribuidos

6

Computación Cluster y Grid

Tareas Cooperantes

Ejecución paralela
Implican un número de

Dependencias entre tareas
Modelizado por medio de un

grafo dirigido acíclico
(DAG).

Tareas

Transferencia de datos

Ejemplo: Workflow

tareas concurrentes
ejecutando
i
simultáneamente:
De forma síncrona o

ltá

t

asíncrona.

En base a una topología de

conexión.

Siguiendo un modelo

maestro/esclavo o
di t ib id
distribuido.

Con unas tasas de
comunicación y un
intercambio de mensajes.

Ejemplo: Código MPI

Escenario de Partida: Objetivos
¿Qué “mejoras de prestaciones” se espera conseguir?
Tipología de sistemas:
Sistemas de alta disponibilidad
HAS: High Availability Systems
Que el servicio siempre esté operativo
Tolerancia a fallos

Sistemas de alto rendimiento

HPC: High Performance Computing
Que se alcance una potencia de cómputo mayor
Ejecución de trabajos pesados en menor tiempo

Sistemas de alto aprovechamiento

HTS: High Troughput Systems
Que el número de tareas servidas sea el máximo posible
Maximizar el uso de los recursos o servir a más clientes (puede

no ser lo mismo).

7 Sistemas Operativos Distribuidos

7

Computación Cluster y Grid

8 Sistemas Operativos Distribuidos

8

Computación Cluster y Grid

05/03/2008

2

Sistemas de Cómputo
Dependen de uso previsto del sistema:

Máquinas autónomas de usuarios independientes
Usuario cede uso de su máquina pero sólo cuando está

desocupada

¿Qué ocurre cuando deja de estarlo?

Migrar procesos externos a otros nodos inactivos
Continuar ejecutando procesos externos con prioridad baja

Sistema dedicado sólo a ejecutar trabajos paralelos

Se puede hacer una estrategia de asignación a priori
O ajustar el comportamiento del sistema dinámicamente
l
Se intenta optimizar tiempo de ejecución de la aplicación o el


ió d l

S i t
j
aprovechamiento de los recursos

d

ti

ti

li

t

i

Sistema distribuido general (múltiples usuarios y

aplicaciones)
Se intenta lograr un reparto de carga adecuado

05/03/2008

Tipología de Clusters

Beowulf; programas paralelos; MPI; dedicación a un problema

High Performance Clusters
High Availability Clusters
ServiceGuard, Lifekeeper, Failsafe, heartbeat
High Throughput Clusters

Workload/resource managers; equilibrado de carga; instalaciones de

supercomputación

Según servicio de aplicación:

Web-Service Clusters
LVS/Piranha; equilibrado de conexiones TCP; datos replicados
Storage Clusters
St
GFS; sistemas de ficheros paralelos; identica visión de los datos desde

Cl

t

cada nodo

Database Clusters

Oracle Parallel Server;

9 Sistemas Operativos Distribuidos

9

Computación Cluster y Grid

10 Sistemas Operativos Distribuidos

10

Computación Cluster y Grid

Planificación

La planificación consiste en el despliegue de las

tareas de un trabajo sobre unos nodos del sistema:
Atendiendo a las necesidades de recursos
Atendiendo a las dependencias entre las tareas

El rendimiento final depende de diversos factores:

Concurrencia: Uso del mayor número de procesadores

simultáneamente.

Grado de paralelismo: El grado más fino en el que se

pueda descomponer la tarea.

Costes de comunicación: Diferentes entre

procesadores dentro del mismo nodo y procesadores
procesadores dentro del mismo nodo y procesadores
en diferentes nodos.

Recursos compartidos: Uso de recursos (como la

memoria) comunes para varios procesadores dentro
del mismo nodo.

Planificación
Dedicación de los procesadores:

Exclusiva: Asignación de una tarea por procesador.
Tiempo compartido: En tareas de cómputo masivo con
E/S reducida afecta dramáticamente en el rendimiento.
H bit
Habitualmente no se hace.

h

t

l

La planificación de un trabajo puede hacerse de dos

formas:
Planificación estática: Inicialmente se determina

dónde y cuándo se va a ejecutar las tareas asociadas
a un determinado trabajo. Se determina antes de que
el trabajo entre en máquina
el trabajo entre en máquina.

Planificación dinámica: Una vez desplegado un

trabajo, y de acuerdo al comportamiento del sistema,
se puede revisar este despliegue inicial. Considera
que el trabajo ya está en ejecución en la máquina.

11

Computación Cluster y Grid

12

Computación Cluster y Grid

3

05/03/2008

Planificación Estática

Generalmente se aplica antes de permitir la

ejecución del trabajo en el sistema.

El planificador (a menudo llamado resource

manager) selecciona un trabajo de la cola (según
política) y si hay recursos disponibles lo pone en
ejecución, si no espera.

Computación Cluster y Grid

14

Trabajos

Cola de Trabajos

Pl
Planificador

ifi d

Recursos?



no
p
espera

Sistema

Computación Cluster y Grid

Gestión de Procesos

Planificación Estática

Descripción de los Trabajos

13

15

Para poder tomar las decisiones correspondientes a

la política del planificador, éste debe disponer de
información sobre los trabajos:
Número de tareas (ejecutables correspondientes)
Prioridad
Relación entre ellas (DAG)
Estimación de consumo de recursos (procesadores,

memoria, disco)

Estimación del tiempo de ejecución (por tarea)
Otros parámetros de ejecución
Restricciones aplicables

R t i

li bl

i

Estas definiciones se incluyen en un fichero de

descripción del trabajo, cuyo formato depende del
planificador correspondiente.

Computación Cluster y Grid

16

Planificación de Tareas Dependientes

Considera los siguientes aspectos:
Duración (estimada) de cada tarea.
Volumen de datos transmitido al finalizar la tarea (e.g.

fichero)
c e o)

Precedencia entre tareas (una tarea requiere la

finalización previa de otras).

Restricciones debidas a la necesidad de recursos

Una opción consiste en transformar
todos los datos a las mismas unidades
(tiempo):
Tiempo de ejecución (tareas)
Tiempo de ejecución (tareas)
Tiempo de transmisión (datos)

La Heterogeneidad complica estas
estimación:
Ejecución dependiente de
procesador
Comunicación dependiente de
conexión

Computación Cluster y Grid

especiales.
2

7

1
1

4

11

2

1

1

4

2
2
3

1

1

3

5
  • Links de descarga
http://lwp-l.com/pdf6873

Comentarios de: Computación Cluster y Grid - Gestión de procesos (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad