Está en la página 1de 20

Introducción a los Sistemas Distribuidos

[ Parte 3 – Gerencia de Procesos]

Prof. Dahyana Nimo – dnimo@unet.edu.ve


Prof dnimo@unet edu ve
Universidad Nacional Experimental del Táchira
Semestre 2012-1
Contenido

• Organización de los procesadores en un SD
O i ió d l d SD
• Estaciones de Trabajo
• Pool de procesadores
• Modelo Híbrido
– Asignación de procesadores
– Clasificación de los algoritmos de distribución 
Clasificación de los algoritmos de distribución
de carga
– Políticas de transferencia, selección y ubicación
Políticas de transferencia selección y ubicación
Organización de los procesadores en un SD

• En un sistema distribuido, con varios 
p
procesadores, un aspecto fundamental del 
p
diseño es cómo se los utiliza
• LLos procesadores distribuidos se pueden 
d di t ib id d
organizar de varias formas: 
– Modelo de estación de trabajo. 
– Modelo de la pila de procesadores. 
Modelo de la pila de procesadores
– Modelo híbrido. 
Estaciones de Trabajo

• El
El sistema consta de PC´s
it t d PC´ dispersas conectadas entre sí 
di t d t í
mediante una LAN.
• Cada PC puede contar o no con disco rígido en cada una de 
Cada PC puede contar o no con disco rígido en cada una de
ellas.
• Los usuarios tienen una cantidad fija de poder de cómputo 
exclusiva y un alto grado de autonomía para asignar los 
recursos de su estación de trabajo.
• Máquina Inactiva: No existen usuarios que esperen 
Máquina Inactiva: No existen usuarios que esperen
respuestas de ella. 
– Dirigida por el emisor: la máquina dice “alguien que me ayude”, 
g p q g q y ,
el emisor es la máquina que tiene muchos procesos. 
– Dirigida por el receptor: las máquinas ociosas dicen “estoy 
disponible”.. Usa un administrador de procesos
disponible Usa un administrador de procesos
Pila de Procesadores

• SSe dispone de un conjunto de 
di d j t d
CPU que se pueden asignar 
dinámicamente a los usuarios
dinámicamente a los usuarios 
según la demanda . 
• Los usuarios no disponen de 
Los usuarios no disponen de
estaciones de trabajo sino de 
terminales gráficas de alto 
rendimiento. 
• No existe el concepto de 
propiedad de los procesadores, 
los que pertenecen a todos y se 
utilizan compartidamente
utilizan compartidamente. 
Modelo Hibrido

• EEs la combinación de los modelos de estaciones de trabajo 
l bi ió d l d l d t i d t b j
y pool de procesadores. 
• El SO permite más de un hilo por Proceso 
El SO permite más de un hilo por Proceso
• El soporte del lenguaje de programación utiliza un hilo del 
núcleo para implementar un grupo de hilos de usuario.
• Proporciona flexibilidad y el máximo rendimiento 
potencial al programador de la aplicación. 
Comparación de Modelos

• No hay reparto de carga en modelo de estaciones de trabajo
No ha reparto de carga en modelo de estaciones de trabajo
– Puede haber estaciones de trabajo inactivas y otras muy cargadas.
– En entornos típicos se desperdicia 80% de ciclos totales de CPU.
En entornos típicos se desperdicia 80% de ciclos totales de CPU.
• Uso de estaciones de trabajo inactivas:
– Ejecutar procesos de forma transparente en máquinas “inactivas”.
– ¿Qué es una estación de trabajo inactiva?
• “lleva varios minutos sin recibir entrada del teclado o ratón y no está 
ejecutando procesos interactivos”
– ¿Qué ocurre cuando deja de estar inactiva?
• No hacer nada → El cliente de la estación notará mal rendimiento.
• Migrar el proceso a otra estación inactiva (costoso)
Mi l t t ió i ti ( t )
• Continuar ejecutando el proceso con prioridad baja.
Asignación de Procesadores

• Se
Se necesitan algoritmos para decidir cuál proceso hay que 
necesitan algoritmos para decidir c ál proceso ha q e
ejecutar y en qué máquina  
– Para el modelo de estaciones de trabajo: Decidir cuándo ejecutar el 
proceso de manera local y cuándo buscar una estación inactiva.
d l l á d b ió i i
– Para el modelo de la pila de procesadores: Decidir dónde ejecutar cada 
nuevo proceso.
• Objetivos:
– Decidir en qué procesador se debería ejecutar un proceso 
– Reparto y equilibrio de carga (load sharing/balancing)
lb d (l d h /b l )
• Suposiciones:
– Todos los procesadores son compatibles.
Todos los procesadores son compatibles
– La velocidad de los procesadores puede ser distinta.
– Un procesador puede comunicarse con cualquier otro.
Tipos de Carga

• Procesos cooperantes
P t
– Interaccionan entre sí
– Pertenecientes a una misma aplicación paralela
– Objetivo: minimizar tiempo de ejecución de 
aplicación
li ió

• Procesos disjuntos
– Procesos independientes
– Pertenecientes a distintos usuarios
– Objetivo: maximizar utilización de procesadores
j p
Asignación de Procesadores

• Los algoritmos distribuidos tienen las 
l i di ib id i l
siguientes propiedades: 
– La información relevante se distribuye entre 
varias máquinas
– Los procesos toman las decisiones sólo con base 
en información disponible en forma local
p
– Debe evitarse un punto de fallo en el sistema
– No existe un reloj común o alguna otra fuente 
No existe un reloj común o alguna otra fuente
precisa del tiempo global
Algoritmos de Asignación de Procesadores

Algoritmos Deterministas Vs. Heurísticos


– Deterministas: Son adecuados cuando se sabe 
Deterministas: Son adecuados cuando se sabe
anticipadamente todo acerca del comportamiento 
de los procesos lo cual generalmente no ocurre
de los procesos, lo cual generalmente no ocurre, 
aunque puede darse en ciertos casos de 
aproximaciones estadísticas.
aproximaciones estadísticas. 
– Los algoritmos heurísticos son adecuados cuando 
l
la carga es impredecible.  
i d ibl
Algoritmos de Asignación de Procesadores

Algoritmos Centralizados Vs.


Vs Distribuidos (1/2)
Los diseños centralizados permiten reunir toda la información 
en un lugar y tomar una mejor decisión; la desventaja es que la 
máquina central se puede sobrecargar y se pierde robustez 
ante su posible falla
ante su posible falla. 
1. Se elige un nodo como coordinador (líder).
2 C
2. Cuando un nodo quiere entrar en la sección crítica, envía un mensaje 
d d i t l ió íti í j
al líder, pidiendo permiso.
g p , p
3. Si ningún otro proceso está en la sección crítica, el líder responde 
CONCECER, respondiendo DENEGAR en caso contrario.
4. Cuando un proceso sale de su sección crítica, avisa al líder. Si el líder 
sabe de otro proceso que intentó entrar después, le envía 
b d i ó d é l í
Algoritmos de Asignación de Procesadores

Algoritmos Centralizados Vs.


Vs Distribuidos (2/2)
Los diseños distribuidos requieren de un mecanismo de 
ordenación de todos los eventos. 
1. Cuando un proceso quiere entrar en la sección crítica, envía un mensaje a 
todos.
2. Cuando un proceso recibe un mensaje:
1. Si no está intentando entrar en su sección crítica, envía OK.
2
2. Si tá
Si está en su sección crítica, no contesta y encola en mensaje.
ió íti t t l j
3. Si no está en su sección crítica, pero quiere entrar, compara el número 
de evento del mensaje entrante con el que él mismo envió al resto. 
Vence el número más bajo:
Vence el número más bajo:
1. Si el mensaje entrante es más bajo, responde OK.
2. Si el más alto, no responde y encola el mensaje
3
3. Un proceso entra en la sección crítica cuando recibe OK de todos
Un proceso entra en la sección crítica, cuando recibe OK de todos.
4. Cuando sale, envía OK a todos los mensajes que retuvo en su cola 
Algoritmos de Asignación de Procesadores

Algoritmos Óptimos Vs.


Vs Subóptimos

– Generalmente los algoritmos óptimos consumen 
más recursos que los subóptimos, además, en la 
mayoría de los sistemas reales se buscan 
soluciones subóptimas, heurísticas y distribuidas. 
Algoritmos de Asignación de Procesadores

Algoritmos Locales Vs.


Vs Globales
• Cuando
Cuando se va a crear un proceso se debe decidir si se 
se va a crear un proceso se debe decidir si se
ejecutará en la máquina que lo genera o en otra (política de 
transferencia): 
)
– La decisión se puede tomar “solo con información local” o “con 
información global”. 
– Los algoritmos locales son sencillos pero no óptimos. 
– Los algoritmos globales son mejores pero consumen muchos 
rec rsos
recursos.
Algoritmos de Asignación de Procesadores

Algoritmos iniciados por el emisor vs.


vs
Iniciados por el Receptor

• Cuando una máquina se deshace de un proceso la 
política de localización debe decidir dónde enviarlo: 
líti d l li ió d b d idi dó d i l
– Necesita información de la carga en todas partes, 
obteniéndola de:
obteniéndola de: 
– Un emisor sobrecargado que busca una máquina inactiva. 
– Un receptor desocupado que busca trabajo.
Un receptor desocupado que busca trabajo.
Políticas de Distribución de Carga

• Política de transferencia: determina cuándo transferir.
• Política de selección: selecciona el proceso a transferir.
• Política de ubicación: selecciona el nodo al que transferir
• Generalmente, basadas en umbral:
Generalmente basadas en umbral:
– Si en nodo S carga > T unidades, S emisor de procesos
– Si en nodo S carga < T unidades, S receptor de 
procesos
Políticas de Transferencia

• Tipos de transferencias:
– Expulsivas: se pueden transferir procesos
ejecutados parcialmente.
• Supone transferir el estado del proceso.
Supone transferir el estado del proceso
– No expulsivas: los procesos en ejecución no 
pueden ser transferidos
f
Políticas de Selección

• Elegir los procesos nuevos (transferencia no 
expulsiva).
p )
• Seleccionar los procesos con un tiempo de 
t
transferencia mínimo (poco estado, mínimo 
f i í i ( t d í i
uso de los recursos locales).
• Seleccionar un proceso si su tiempo de 
respuesta estimado en un nodo remoto es
respuesta estimado en un nodo remoto es 
menor que el tiempo de respuesta local.
Políticas de Ubicación

• Muestreo: consulta de otros nodos para encontrar adecuado.
M t lt d t d t d d
• Alternativas:
– Muestreo secuencial o paralelo.
Muestreo secuencial o paralelo
– Selección aleatoria.
– Nodos más próximos.
– Enviar un mensaje al resto de nodos (broadcast).
– Basada en información recogida anteriormente.
• Tres tipos de políticas:
– Iniciadas por el emisor (Push) → emisor busca receptores
Iniciadas por el receptor (Pull) → receptor
– Iniciadas por el receptor (Pull) → receptor solicita procesos
solicita procesos
– Combinada → iniciada por el emisor y/o por el receptor.

También podría gustarte