827 visualizaciones desde el 8 de Septiembre del 2017
644,8 KB
16 paginas
Creado hace 17a (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ó
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?
sí
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)
Comentarios de: Computación Cluster y Grid - Gestión de procesos (0)
No hay comentarios