Documentos de Académico
Documentos de Profesional
Documentos de Cultura
• 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
– 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
• 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.