PDF de programación - Gestión de Procesos - Sistemas Operativos Distribuidos

Imágen de pdf Gestión de Procesos - Sistemas Operativos Distribuidos

Gestión de Procesos - Sistemas Operativos Distribuidosgráfica de visualizaciones

Publicado el 17 de Enero del 2019
1.605 visualizaciones desde el 17 de Enero del 2019
889,3 KB
16 paginas
Creado hace 12a (22/05/2011)
Sistemas Operativos Distribuidos

Gestión de
Gestión de
Procesos
Procesos

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)
Recursos: Datos, dispositivos, CPU u otros requisitos (finitos)
necesarios para la realización de trabajos.

– 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 concurrentes)
(
)

p

y

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

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

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
! Migración de datos
! Equilibrado de conexiones

Escenario de Partida

Recursos demandados

Fernando Pérez Costoya
José María Peña Sánchez

Nodos

(Procesadores)

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

Sistemas Operativos Distribuidos
3

Fernando Pérez Costoya
José María Peña Sánchez

Sistemas Operativos Distribuidos
4

Fernando Pérez Costoya
José María Peña Sánchez

1

Características de un Sistema Distribuido

Escenario de Partida: Trabajos

• Sistemas con memoria compartida

– Recursos de un proceso accesibles desde todos los procesadores

p

• Mapa de memoria
• 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

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

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

T
– Procesos independientes
– Pertenecientes a distintos usuarios

di

t

j

• Tareas cooperantes

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

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

– Reparto de carga requiere migración de procesos

Sistemas Operativos Distribuidos
5

Fernando Pérez Costoya
José María Peña Sánchez

Sistemas Operativos Distribuidos
6

Fernando Pérez Costoya
José María Peña Sánchez

Tareas Cooperantes

Escenario de Partida: Objetivos

Dependencias entre tareas
• Modelizado por medio de un
grafo dirigido acíclico (DAG).
)
g

g

(

Tareas

Transferencia de datos

Ejecución paralela


j

Implican un número de tareas
concurrentes ejecutando
simultáneamente:
– De forma síncrona o asíncrona.
– En base a una topología de

conexión.

– Siguiendo un modelo

maestro/esclavo o distribuido.

– Con unas tasas de comunicación y

un intercambio de mensajes.

¿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
– 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

• Ejemplo: Workflow

• Ejemplo: Código MPI

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

Sistemas Operativos Distribuidos
7

Fernando Pérez Costoya
José María Peña Sánchez

Sistemas Operativos Distribuidos
8

Fernando Pérez Costoya
José María Peña Sánchez

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?

q

p

p

– 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
• Se intenta optimizar tiempo de ejecución de la aplicación o el

p

p

p

j
aprovechamiento de los recursos

– Sistema distribuido general (múltiples usuarios y aplicaciones)

• Se intenta lograr un reparto de carga adecuado

Tipología de Clusters

• High Performance Clusters

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

• High Availability 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

• GFS; sistemas de ficheros paralelos; identica visión de los datos desde cada nodo

– Storage Clusters

– Database Clusters
• Oracle Parallel Server;

Sistemas Operativos Distribuidos
9

Fernando Pérez Costoya
José María Peña Sánchez

Sistemas Operativos Distribuidos
10

Fernando Pérez Costoya
José María Peña Sánchez

Planificación

Planificación

• La planificación consiste en el despliegue de las tareas de un

• Dedicación de los procesadores:

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:
– 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
descomponer la tarea.

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

– 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. Habitualmente no se hace.

p

p

p

• 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.
– Planificación dinámica: Una vez desplegado un trabajo, y de
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.

Fernando Pérez Costoya
José María Peña Sánchez

Sistemas Operativos Distribuidos
12

Fernando Pérez Costoya
José María Peña Sánchez

3

Sistemas Operativos Distribuidos

Planificación Estática

Planificación Estática

Gestión de
Gestión de
Procesos
Procesos

Fernando Pérez Costoya
José María Peña Sánchez

• Generalmente se aplica antes de permitir la ejecución del

trabajo en el sistema.
• El planificador (a menudo llamado resource manager)
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.

Cola de Trabajos

Pl
Planificador

ifi d

Recursos?



no
p
espera

Sistema

Fernando Pérez Costoya
José María Peña Sánchez

Trabajos

Descripción de los Trabajos

Planificación de Tareas Dependientes

j

• 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
Restricciones aplicables

• Estas definiciones se incluyen en un fichero de descripción del

trabajo, cuyo formato depende del planificador
correspondiente.

Fernando Pérez Costoya
José María Peña Sánchez

• Considera los siguientes aspectos:
– Duración (estimada) de cada tarea.
– Volumen de datos transmitido al finalizar la tarea (e.g. fichero)
)
– Precedencia entre tareas (una tarea requiere la finalización previa de

( g

otras).

– Restricciones debidas a la necesidad de recursos especiales.

11

7

1
1

4

2

2

1

1

4

2
2
3

1

1

3

5

Representado por medio de un grafo acíclico dirigido
(DAG)

Sistemas Operativos Distribuidos
16

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

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

Fernando Pérez Costoya
José María Peña Sánchez

4

Planificación de Tareas Dependientes

Ejemplo de Tareas Dependientes

• Planificación consiste en la asignación de tareas a

procesadores en un instante determinado de tiempo:
– Para un solo trabajo existen heurísticas eficientes: buscar camino
Para un solo trabajo existen heurísticas eficientes: buscar camino
crítico (camino más largo en grafo) y asignar tareas implicadas al
mismo pro
  • Links de descarga
http://lwp-l.com/pdf14879

Comentarios de: Gestión de Procesos - Sistemas Operativos Distribuidos (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