Vous êtes sur la page 1sur 26

Sistemas Operativos

Distribuidos

Gestin de
procesos

Contenidos del Tema

Modelos de sistema
Asignacin de procesadores
Estrategias dinmicas
Estrategias estticas
Ejecucin remota de procesos

Sistemas Operativos Distribuidos

Fernando Prez Costoya


Jos Mara Pea

Modelos de
sistema
Organizacin de los procesadores en un SD
Tres alternativas:
Conjunto de estaciones de trabajo
Pool de procesadores
Modelo hbrido

Sistemas Operativos Distribuidos

Fernando Prez Costoya


Jos Mara Pea

Conjunto de estaciones de
trabajo
SD compuesto de estaciones de trabajo conectadas
Procesos de un usuario se ejecutan en su estacin de trabajo.
Discos locales se utilizan para paginacin, archivos
temporales, cache de ficheros y/o ficheros locales.
Normalmente hay un servidor de ficheros

Sistemas Operativos Distribuidos

Fernando Prez Costoya


Jos Mara Pea

Pool de
procesadores

Los usuarios utilizan terminales grficos (p.ej. terminales X).


Existe un pool de procesadores donde se envan los procesos.
Similar al tiempo compartido.
Pool de procesadores Servidor de cmputo
Asignacin dinmica de procesadores:
Nuevo proceso a cualquier procesador
Usuario con ms trabajo utiliza ms procesadores

Sistemas Operativos Distribuidos

Fernando Prez Costoya


Jos Mara Pea

Modelo hbrido

Usuarios utilizan estaciones de trabajo.


Existe un pool de procesadores
Trabajos interactivos en las estaciones de trabajo.
Trabajos no interactivos en el pool de procesadores.

Sistemas Operativos Distribuidos

Fernando Prez Costoya


Jos Mara Pea

Comparacin de modelos
No hay reparto de carga en modelo de estaciones de trabajo
Puede haber estaciones de trabajo inactivas y otras muy cargadas.
En entornos tpicos se desperdicia 80% de ciclos totales de CPU.

Uso de estaciones de trabajo inactivas:


Ejecutar procesos de forma transparente en mquinas inactivas.
Qu es una estacin de trabajo inactiva?
lleva varios minutos sin recibir entrada del teclado o ratn y no est
ejecutando procesos interactivos

Qu ocurre cuando deja de estar inactiva?

No hacer nada El cliente de la estacin notar mal rendimiento.


Migrar el proceso a otra estacin inactiva (costoso)
Continuar ejecutando el proceso con prioridad baja.

Sistemas Operativos Distribuidos

Fernando Prez Costoya


Jos Mara Pea

Asignacin de
procesadores
Objetivos:
Decidir en qu procesador se debera ejecutar un proceso
Reparto y equilibrio de carga (load sharing/balancing)

Suposiciones:
Todos los procesadores son compatibles.
La velocidad de los procesadores puede ser distinta.
Un procesador puede comunicarse con cualquier otro.

Sistemas Operativos Distribuidos

Fernando Prez Costoya


Jos Mara Pea

Tipos de carga
Procesos cooperantes
Interaccionan entre s
Pertenecientes a una misma aplicacin paralela
Objetivo: minimizar tiempo de ejecucin de aplicacin

Procesos disjuntos
Procesos independientes
Pertenecientes a distintos usuarios
Objetivo: maximizar utilizacin de procesadores

Sistemas Operativos Distribuidos

Fernando Prez Costoya


Jos Mara Pea

Tipos de asignacin
Estrategias estticas
Determinista
Usada para procesos cooperantes
Asignacin a priori a partir de caractersticas de aplicacin paralela

Estrategias dinmicas
Reparto y equilibrio de carga dinmico
Usada para procesos disjuntos
Asignacin en tiempo de ejecucin

Sistemas Operativos Distribuidos

Fernando Prez Costoya


Jos Mara Pea

Estrategias dinmicas
Migratorias o No migratorias
Proceso puede cambiar de procesador durante su ejecucin?
Migratorias: mejor equilibrio de la carga pero ms complejas

Centralizadas o Distribuidas
Existe un coordinador central?

ptimas o Subptimas
Busca la mejor asignacin o una que sea aceptable?

Locales o Globales
Tiene en cuenta estado de la mquina local o estado del sistema?

Sistemas Operativos Distribuidos

Fernando Prez Costoya


Jos Mara Pea

Polticas de distribucin de
carga
Estrategia dinmica controlada por tres polticas:
Poltica de transferencia: determina cundo transferir.
Poltica de seleccin: selecciona el proceso a transferir.
Poltica de ubicacin: selecciona el nodo al que transferir.

Sistemas Operativos Distribuidos

Fernando Prez Costoya


Jos Mara Pea

Poltica de
transferencia
Generalmente, basada en umbral:
Si en nodo S carga > T unidades, S emisor de procesos
Si en nodo S carga < T unidades, S receptor de procesos

Tipos de transferencias:
Expulsivas: se pueden transferir procesos ejecutados parcialmente.
Supone transferir el estado del proceso.

No expulsivas: los procesos en ejecucin no pueden ser transferidos.

Sistemas Operativos Distribuidos

Fernando Prez Costoya


Jos Mara Pea

Polticas de
seleccin
Elegir los procesos nuevos (transferencia no expulsiva).
Seleccionar los procesos con un tiempo de transferencia
mnimo (poco estado, mnimo uso de los recursos locales).
Seleccionar un proceso si su tiempo de respuesta estimado en
un nodo remoto es menor que el tiempo de respuesta local.

Sistemas Operativos Distribuidos

Fernando Prez Costoya


Jos Mara Pea

Poltica de
ubicacin
Muestreo: consulta de otros nodos para encontrar adecuado.
Alternativas:

Muestreo secuencial o paralelo.


Seleccin aleatoria.
Nodos ms prximos.
Enviar un mensaje al resto de nodos (broadcast).
Basada en informacin recogida anteriormente.

Tres tipos de polticas:

Iniciadas por el emisor (Push) emisor busca receptores


Iniciadas por el receptor (Pull) receptor solicita procesos
Combinada iniciada por el emisor y/o por el receptor.

Sistemas Operativos Distribuidos

Fernando Prez Costoya


Jos Mara Pea

Algoritmos iniciados por el


emisor
Poltica de transferencia: umbral basado en la longitud de la
cola de procesos listos.
Poltica de seleccin: procesos nuevos.
Poltica de ubicacin. Distintas alternativas:
Elegir un nodo al azar.
Probar con un n de nodos hasta encontrar un receptor.
Probar con un n de nodos y elegir aqul con menos carga.

Estabilidad: inestable con alta carga


Difcil encontrar receptores y los muestreos consumen CPU

Sistemas Operativos Distribuidos

Fernando Prez Costoya


Jos Mara Pea

Algoritmos iniciados por el


receptor
Poltica de transferencia: umbral basado en la longitud de la
cola de procesos listos.
Poltica de seleccin: cualquier proceso.
Poltica de ubicacin: Ejemplo:
Muestreo aleatorio de un n limitado de nodos hasta encontrar uno
con un nivel de carga > umbral.
Si la bsqueda falla, esperar hasta que otro proceso termine o un
periodo predeterminado antes de reintentar.

Estabilidad: estable
Con altas cargas, probable que receptores encuentren emisores.

Sistemas Operativos Distribuidos

Fernando Prez Costoya


Jos Mara Pea

Un algoritmo combinado
(1/2)
Poltica de transferencia

Tmin

Media del sistema

receptor

Tmax
emisor

Poltica de ubicacin dirigida por el emisor:


Emisor difunde mensaje SOBRECARGADO y espera ACEPTAR.
Un receptor enva ACEPTAR.
Si llega ACEPTAR: y el nodo todava es emisor, transfiere el
proceso ms adecuado.
Si no, difundir un mensaje CAMBIO-MEDIA para incrementar la
carga media estimada en el resto de nodos..
Sistemas Operativos Distribuidos

Fernando Prez Costoya


Jos Mara Pea

Un algoritmo combinado
(2/2)
Poltica de ubicacin iniciada por el receptor:
Un receptor difunde un mensaje DESCARGADO y espera por
mensajes SOBRECARGADO.
Si llega un mensaje SOBRECARGADO, se enva un mensaje
ACEPTAR.
Si no, difundir un mensaje CAMBIO-MEDIA para decrementar la
carga media estimada en el resto de nodos.

Poltica de seleccin: cualquier proceso.

Sistemas Operativos Distribuidos

Fernando Prez Costoya


Jos Mara Pea

Estrategias estticas
Asignar procesos de una aplicacin paralela a procesadores
minimizando el tiempo de ejecucin total
Debe buscar equilibrio entre paralelismo (uso de distinto procesador)
y minimizar coste de comunicaciones (uso del mismo procesador)

No solucin ptima aunque muy estudiado. Dificultades en:


Estimar coste de comunicaciones
Cmo reflejar que un proceso no ejecuta igual en todos procesadores

Distintos modelos de paralelismo dependiendo de herramienta


de programacin paralela utilizada
Dos modelos tpicos:
Modelo basado en precedencia de procesos (cobegin-coend)
Modelo basado en procesos que se comunican
Sistemas Operativos Distribuidos

Fernando Prez Costoya


Jos Mara Pea

Modelo basado en
precedencias
Programa paralelo representado como grafo acclico

Nodo representa un proceso con tiempo de ejecucin conocido


Eje indica relacin de precedencia entre procesos, incluye etiqueta
que muestra cantidad de datos que transfiere proceso a su sucesor

El problema en su forma general es NP-completo


Algoritmos con complejidad polinomial:
Cuando slo hay dos procesadores.

En el caso general se utilizan heursticas:

P. ej. buscar camino crtico (camino ms largo en grafo) y asignar


tareas implicadas al mismo procesador

Uso de estragias migratorias:

Pueden dar mejor rendimiento pero son ms complejas

Sistemas Operativos Distribuidos

Fernando Prez Costoya


Jos Mara Pea

Ejemplo
10

10

1
20
1

2
20

Planificador

N2
1

10

30

36

N1

N1

N2

Sistemas Operativos Distribuidos

Fernando Prez Costoya


Jos Mara Pea

Uso de estrategias
migratorias

N1
1

N2
2

Con migracin

1
2

N1

N2
1
2

Sistemas Operativos Distribuidos

Fernando Prez Costoya


Jos Mara Pea

Modelo basado en
comunicaciones
Programa paralelo formado por procesos que se comunican
Modelado como grafo no dirigido donde:

Nodo representa proceso con necesidades de UCP y memoria


Eje incluye etiqueta que indica cantidad de datos que intercambian
nodos implicados

El problema en su forma general es NP-completo


Algoritmos con complejidad polinomial:
Cuando slo hay dos procesadores.

En el caso general se utilizan heursticas:

P. ej. corte mnimo: Para P procesadores buscar P-1 cortes tal que se
minimice el flujo entre cada particin
Resultado: Cada particin (procesador) engloba a un conjunto de
procesos fuertemente acoplados

Sistemas Operativos Distribuidos

Fernando Prez Costoya


Jos Mara Pea

Ejemplo

Trfico entre nodos:


13+17=30

Trfico entre nodos:


13+15=28
Tanenbaum.SistemasOperativosDistribuidosPrenticeHall1996

Sistemas Operativos Distribuidos

Fernando Prez Costoya


Jos Mara Pea

Ejecucin remota de
procesos
Cmo ejecutar un proceso de forma remota?
Crear el mismo ambiente de trabajo:
entorno, directorio actual, etc.

Redirigir ciertas llamadas al sistema a mquina origen:


P. ej. interaccin con el terminal

Migracin (transferencia expulsiva) mucho ms compleja:


Congelar el estado del proceso
Transferir a mquina destino
Descongelar el estado del proceso

Numerosos aspectos complejos:

Redirigir mensajes y seales


Copiar espacio de swap o servir fallos de pg. desde origen?

Sistemas Operativos Distribuidos

Fernando Prez Costoya


Jos Mara Pea

Vous aimerez peut-être aussi