Cap14
Gestión distribuida de procesos
Migración de procesos
• Transferencia de una parte suficiente del
estado de un proceso desde una máquina
a otra.
• El proceso se ejecuta en la máquina de
destino.
Motivation
• Compartimiento de carga:
– Traslado de los procesos desde sistemas muy
sobrecargados hasta otros menos cargados.
– La carga puede equilibrarse para mejorar el
rendimientoglobal.
• Rendimiento de las comunicaciones:
– Los procesos que interactúan de forma intensiva
pueden moverse a un mismo nodo para reducir el
coste de las comunicaciones.
– Puede resultar más ventajoso llevar el proceso hasta
los datos cuando éstos son de gran tamaño.
Motivación
• Disponibilidad:
– Los procesos que duran mucho tiempo
pueden necesitar moverse frente a un
posible fallo de la máquinadonde se está
ejecutando.
• Utilización de capacidades especiales:
– El proceso puede sacar partido de algunas
capacidades del hardware o software
disponibles.
Inicio de la migración
• Sistema operativo:
– Si el objetivo es equilibrar la carga.
• Proceso:
– Si el objetivo es llegar a unos recursos
determinados.
¿Qué migra?
• Cuando un proceso migra, hace falta
destruirlo en el sistema deorigen y
crearlo en el sistema de destino.
• Debe moverse el bloque de control del
proceso y cualquier enlace entre éste y
otros procesos.
Máquina S
Núcleo
Máquina D
Núcleo
(a) Antes de la migración
Figura 14.1. Ejemplo de migración de procesos.
Máquina S
Núcleo
Máquina D
Núcleo
(b) Después de la migración
Figura 14.1. Ejemplo de migración de procesos.
¿Qué migra?
• Transferencia(completa): transferir todo
el espacio de direcciones.
– No se deja rastro del proceso.
– Si el espacio de direcciones es muy grande
y el proceso no necesita la mayor parte de
él, entonces este proceso puede ser costoso
sin necesidad.
¿Qué migra?
• Copia anticipada: el proceso continúa su
ejecución en el nodo de origen mientras
se copia el espacio de direcciones.
– Las páginas modificadas en elorigen
durante la operación de copia anticipada
deben copiarse de nuevo.
– Reduce el tiempo que un proceso está
congelado y no puede ejecutarse durante la
migración.
¿Qué migra?
• Transferencia (modificado): transferir
solo algunas páginas del espacio de
direcciones que están en la memoria
principal y han sido modificadas.
– Cualquier bloque adicional del espacio de
direcciones virtuales setransferirá bajo
demanda.
– La máquina de origen está involucrada en la
vida del proceso.
¿Qué migra?
• Copia por referencia: las páginas son
desplazadas solo cuando se las hace
referencia.
– Variación de la transferencia (modificado).
– Tiene el coste inicial de la migración más
bajo.
¿Qué migra?
• Volcado (flushing): se eliminan las
páginas de la memoria principal
volcando al disco las páginasmodificadas.
– Libera al origen de la necesidad de tener
todas las páginas del proceso que migra en
la memoria principal.
Negociación de la migración
• La política de migración es
reponsabilidad del servicio Iniciador.
• El servicio Iniciador es también
responsable de la planificación a largo
plazo y de la asignación de memoria.
• Los dos procesos Iniciadores deben
tomar en común la decisión demigrar
(uno en el origen y otro en el destino).
1: ¿Acoges a P?
Iniciador
Iniciador
2: Sí, que migre a la máqina 3
3: Emigrar P
5. Ofrecer P
4: Ofrecer P
7: Aceptar oferta
Figura 14.2. Negociación del proceso de migración.
6: Inmigrar P
Desalojo
• El sistema desaloja un proceso que ha
migrado hacia él.
• Si un puesto de trabajo se activa, el
proceso puede haber sido migrado hacia
él:
– Si unpuesto de trabajo se activa, puede
hacer falta desalojar los procesos migrados
para ofrecer un tiempo de respuesta
apropiado.
Estados globales distribuidos
• El sistema operativo no conoce el estado
actual de todos los procesos del sistema
distribuido.
• Un proceso puede conocer solamente el
estado actual de todos los procesos del
sistema local.
• Los procesos remotos sólo pueden conocer la...
Regístrate para leer el documento completo.