603 visualizaciones desde el 8 de Septiembre del 2017
1,1 MB
62 paginas
Creado hace 17a (05/03/2008)
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
111
Gestión de Procesos
1. Conceptos y taxonomías: Trabajos y sistemas
T b j
i t
í
t
2. Planificación estática:
t
C
paralelos
Pl
Planificación de tareas dependientes
Planificación de tareas paralelas
Planificación de múltiples tareas
ió d
á i
ió
Pl
ifi
ifi
l
l
3. Planificación dinámica:
Equilibrado de carga
Migración de procesos
Migración de datos
Equilibrado de conexiones
E ilib d d
i
2
Computación Cluster y Grid
Escenario de Partida: Términos
t
t
d t
C j
Trabajos: Conjuntos de tareas (procesos o hilos)
)
T b j
que demandan: (recursos x tiempo)
Recursos: Datos, dispositivos, CPU u otros requisitos
CPU
D t
R
i
(finitos) necesarios para la realización de trabajos.
Tiempo: Periodo durante el cual los recursos están
Tiempo: Periodo durante el cual los recursos están
hil
di
iti
it
(
asignados (de forma exclusiva o no) a un determinado
trabajo.j
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
concurrentes)
Planificación: Asignación de trabajos a los nodos
de proceso correspondientes. Puede implicar
revisar, auditar y corregir esa asignación.
dit
ió
i
i
i
3
Computación Cluster y Grid
Escenario de Partida
Recursos demandados
Nodos
Nodos
(Procesadores)
Trabajos
Tareas
OBJETIVO
d l
b j
ió d l
A i
Asignación de los trabajos de los usuarios a los
distintos procesadores, con el objetivo de mejorar
prestaciones frente a la solución tradicional
i
l
4
Computación Cluster y Grid
Características de un Sistema Distribuido
Si t
Sistemas con memoria compartida
tid
Recursos de un proceso accesibles desde todos los
i
procesadores
p
Mapa de memoria
Recursos internos del SO (ficheros/dispositivos abiertos, puertos, etc.)
Reparto/eq ilibrio de carga (load sharing/balancing) a tomático
Reparto/equilibrio de carga (load sharing/balancing) automático
Si el procesador queda libre puede ejecutar cualquier proceso listo
Beneficios del reparto de carga:
p
g
Mejora uso de recursos y rendimiento en el sistema
Aplicación paralela usa automáticamente procesadores disponibles
di t ib id
Sistemas distribuidos
Si t
Proceso ligado a procesador durante toda su vida
Recursos de un proceso accesibles sólo desde procesador local
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
5
Computación Cluster y Grid
Escenario de Partida: Trabajos
ti
Q é
t ?
¿Qué se tiene que ejecutar?
Tareas en las que se dividen los trabajos:
Tareas disjuntas
j
Procesos independientes
Pertenecientes a distintos usuarios
Tareas cooperantes
Interaccionan entre sí
Pertenecientes a una misma aplicación
Pueden presentar dependencias
O Pueden requerir ejecución en paralelo
6 Sistemas Operativos Distribuidos
6
Computación Cluster y Grid
Tareas Cooperantes
t
ió
t
d
D
Dependencias entre tareas
Modelizado por medio de un
tareas concurrentes
tareas concurrentes
ejecutando
simultáneamente:
De forma síncrona o
asíncrona.
En base a una topología de
En base a una topología de
conexión.
Siguiendo un modelo
t
maestro/esclavo o
distribuido.
/
l
Con unas tasas de
comunicación y un
intercambio de mensajes.
Ejemplo: Código MPI
Ejemplo: Código MPI
7 Sistemas Operativos Distribuidos
7
Computación Cluster y Grid
t
i
d
Escenario de Partida: Objetivos
Q é “
i ?
j
¿Qué “mejoras de prestaciones” se espera conseguir?
Tipología de sistemas:
Sistemas de alta disponibilidad
Sistemas de alta disponibilidad
HAS: High Availability Systems
Que el servicio siempre esté operativo
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
Ejecución de trabajos pesados en menor tiempo
Sistemas de alto aprovechamiento
HTS: High Troughput Systems
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).
8 Sistemas Operativos Distribuidos
8
Computación Cluster y Grid
d
Sistemas de Cómputo
Dependen de uso previsto del sistema:
d
D
Máquinas autónomas de usuarios independientes
tá
Usuario cede uso de su máquina pero sólo cuando está
i t d l
¿Qué ocurre cuando deja de estarlo?
d
U
desocupada
¿
Migrar procesos externos a otros nodos inactivos
Continuar ejecutando procesos externos con prioridad baja
á i
i t
ól
d
j
i
d
ó
Sistema dedicado sólo a ejecutar trabajos paralelos
S
Se puede hacer una estrategia de asignación a priori
O ajustar el comportamiento del sistema dinámicamente
O ajustar el comportamiento del sistema dinámicamente
Se intenta optimizar tiempo de ejecución de la aplicación o el
aprovechamiento de los recursos
Sistema distribuido general (múltiples usuarios y
aplicaciones)
Se intenta lograr un reparto de carga adecuado
d
S i t
t d
d
t
l
9 Sistemas Operativos Distribuidos
9
Computación Cluster y Grid
Tipología de Clusters
Beowulf; programas paralelos; MPI; dedicación a un problema
Cl
Hi h P f
High Performance Clusters
t
High Availability Clusters
High Availability Clusters
ServiceGuard, Lifekeeper, Failsafe, heartbeat
High Throughput Clusters
High Throughput Clusters
Workload/resource managers; equilibrado de carga; instalaciones de
supercomputación
Según servicio de aplicación:
Según servicio de aplicación:
Web-Service Clusters
Storage Clusters
LVS/Piranha; equilibrado de conexiones TCP; datos replicados
LVS/Piranha; equilibrado de conexiones TCP; datos replicados
GFS; sistemas de ficheros paralelos; identica visión de los datos desde
cada nodo
Database Clusters
Oracle Parallel Server;
Oracle Parallel Server;
10 Sistemas Operativos Distribuidos
10
Computación Cluster y Grid
Planificación
l d
i t
l
li
ifi
ió
La planificación consiste en el despliegue de las
L
tareas de un trabajo sobre unos nodos del sistema:
Atendiendo a las necesidades de recursos
Atendiendo a las necesidades de recursos
Atendiendo a las dependencias entre las tareas
El rendimiento final depende de diversos factores:
El rendimiento final depende de diversos factores:
Concurrencia: Uso del mayor número de procesadores
d l
simultáneamente.
Grado de paralelismo: El grado más fino en el que se
pueda descomponer la tarea.
Costes de comunicación: Diferentes entre
Costes de comunicación: Diferentes entre
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
del mismo nodo.
11
Computación Cluster y Grid
Planificación
Dedicación de los procesadores:
d
ió d l
D di
Exclusiva: Asignación de una tarea por procesador.
Tiempo compartido: En tareas de cómputo masivo con
Tiempo compartido: En tareas de cómputo masivo con
E/S reducida afecta dramáticamente en el rendimiento.
Habitualmente no se hace.
La planificación de un trabajo puede hacerse de dos
t
i
l
ió
formas:
Planificación estática: Inicialmente se determina
ifi
Pl
dónde y cuándo se va a ejecutar las tareas asociadas
a un determinado trabajo. Se determina antes de que
a un determinado trabajo. Se determina antes de que
el trabajo entre en máquina.
táti
d t
I i
Planificación dinámica: Una vez desplegado un
t b j
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.
q
t d l
j y
i t
q
d
d
i
l
t
i
j
12
Computación Cluster y Grid
Gestión de Procesos
Planificación Estática
13
Computación Cluster y Grid
Planificación Estática
t
d
li
t
l
Generalmente se aplica antes de permitir la
G
ejecución del trabajo en el sistema.
iti
El planificador (a menudo llamado resource
El planificador (a menudo llamado resource
l
manager) selecciona un trabajo de la cola (según
política) y si hay recursos disponibles lo pone en
p
ejecución, si no espera.
) y
p
p
y
Cola de Trabajos
Planificador
Recursos?
í
sí
no
pespera
Sistema
Computación Cluster y Grid
Trabajos
j
14
l
i
t
Descripción de los Trabajos
d
d i
di
Para poder tomar las decisiones correspondientes a
P
la política del planificador, éste debe disponer de
información sobre los trabajos:
información sobre los trabajos:
Número de tareas (ejecutables correspondientes)
(cid:1
Links de descarga
http://lwp-l.com/pdf6872
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