Sistemas Distribuidos: Migración de Procesos

Sistemas Distribuidos: Migración de Procesos Yudith Cardinale Universidad Central de Venezuela Facultad de Ciencias Postgrado en Computación Octubre

1 downloads 111 Views 94KB Size

Recommend Stories


Sistemas Distribuidos. Soporte de Sistemas Operativos
Sistemas Distribuidos Soporte de Sistemas Operativos Sistemas Distribuidos Soporte de Sistemas Operativos Sistemas Distribuidos Soporte de Sist

Sistemas Operativos distribuidos
Sistemas operativos. Redes. Tolerancia. Concurrencia. Sistema de archivos distribuidos. Servicios remotos. Protocolo {NFS}

REDES DE COMPUTADORES REDES Y SISTEMAS DISTRIBUIDOS
Redes de Computadores | Redes y Sistemas Distribuidos Práctica 2: Configuración y Administración de Redes. Sesión 4 REDES DE COMPUTADORES | REDES Y

Sistemas Operativos. (Procesos)
Sistemas Operativos (Procesos) 2.1 Procesos Def: Un proceso es un programa en ejecución. 2.2 Estados de procesos El estado de un proceso define su act

Story Transcript

Sistemas Distribuidos: Migración de Procesos Yudith Cardinale Universidad Central de Venezuela Facultad de Ciencias Postgrado en Computación

Octubre 2013 – Febrero 2014

Objetivos 





Entender la importancia de la migración de procesos en el modelo de agentes móviles Establecer diferencias entre migración de código y migración de procesos. Estudiar un algoritmo para realizar migración de código

Paradigma de Agentes Móviles  



Un agente móvil es un programa u objeto transportable El agente se inicia en un determinado computador y luego viaja de forma autónoma de un computador a otro de acuerdo a un itinerario. En cada parada el agente accede a los servicios y recursos necesarios y realiza las tareas que corresponda. Máquina 1 Agente Máquina 2

Máquina 3 Agente

Agente

Agente Máquina 3

Código Móvil, Migración de Procesos y Agentes Móviles 





Código Móvil: Transfieren sólo código entre los nodos, tal como el Java applets. Migración de Procesos: Acto de transferir un proceso entre dos máquinas (nodo fuente y nodo destino) durante su ejecución. Trata con transferencia de código y datos: espacio de direcciones del proceso, punto de ejecución, estado de la comunicación, y otros estados dependientes del SO. Agentes Móviles: Transferencia de código, datos y autorizaciones.

Migración de Código: Applets Java 





Un Applet es una clase Java cuyo código se descarga desde el servidor web y se ejecuta en el entorno del navegador en la máquina cliente. Un navegador solicita un applet cuando accede una página web y encuentra una clase especificada en la etiqueta APPLET La ejecución de un applet está sujeta a restricciones:  No puede acceder a archivos del sistema de archivos de la máquina cliente.  No puede hacer conexiones de red a otra máquina que no sea de la que proviene.

Migración de Procesos Es el acto de transferir un proceso de un computador a otro DURANTE su ejecución. Aplicaciones:     

Distribución dinámica de carga. Tolerancia a fallas Facilitar administración de sistemas Acceso local a datos Computación Móvil

Migración de Procesos: ¿ Qué se transfiere?    



Espacio de direcciones del proceso Punto de ejecución (contenido de registros) Archivos abiertos Puntos de comunicación (canales de mensajes) Otros parámetros dependientes del sistema operativo

Algoritmo de Migración (1) Comunicación

Proceso X

Requerimiento Kernel

Negociación

Kernel

Aceptación Nodo Fuente

Nodo Destino

1. Se realiza un requerimiento de migración a un nodo remoto. Se inicia una negociación, luego de la cual la migración es aceptada.

Algoritmo de Migración (2) Comunicación

Proceso X

Kernel

Nodo Fuente

Kernel

Nodo Destino

2. El proceso es des-asignado de su nodo fuente. Se suspende su ejecución, se declara proceso en migración.

Algoritmo de Migración (3) Comunicación

Proceso X

Kernel

Nodo Fuente

Kernel

Nodo Destino

3. La comunicación es temporalmente redireccionada . Se encolan los mensajes dirigidos al proceso en migración y se retrasmiten al final de la migración, en el paso 7. Este paso continua en paralelo con los pasos 4,5 y 6.

Algoritmo de Migración (4) Comunicación

Proceso X

Kernel

Nodo Fuente

Kernel

Nodo Destino

4. Se extrae el estado del proceso. Incluyendo contenido de memoria,

estado del proceso (registros), estado de comunicación y contenido relevante del kernel, estos últimos son dependientes del SO. Algunos estados internos del SO local no son transferibles así como aspectos dependientes del procesador

Algoritmo de Migración (5) Comunicación

Proceso X

Kernel

Nodo Fuente

Kernel

Nodo Destino

5. Se crea una instancia del proceso en el destino.

Esta instancia no será activada hasta no haber transferido suficiente información del estado del proceso.

Algoritmo de Migración (6) Comunicación

Transferencia de mensajes pendientes

Proceso X

Kernel

Kernel

Estado transferible Nodo Fuente

Nodo Destino

6. El estado es transferido e importado en la nueva instancia. No se requiere transferir todo el estado.

Algoritmo de Migración (7)

Comunicación

Forwarding referencias Proceso X Kernel

Nodo Fuente

Kernel

Nodo Destino

7. Referencia del proceso original y redirecciona la comunicación. Se debe establecer alguna forma de referenciar el

proceso original y se debe habilitar los canales de comunicación para hacer conocido el nuevo proceso al exterior.

Algoritmo de Migración (8)

Comunicación

Forwarding referencias Proceso X Kernel

Nodo Fuente

Kernel

Nodo Destino

8. La nueva instancia reasume la ejecución. cuando se ha transferido e importado el estado suficiente. Se completa la migración y el proceso en el nodo fuente puede ser eliminado.

Requerimientos del Sistema para Migración de Procesos 

Exportar/importar el estado del proceso: Debe proveer algún tipo de interfaz que permita al mecanismo de migración extraer el estado de un proceso en el nodo fuente e importarlo sobre el nodo destino.



Transparencia en Nominación/Acceso al proceso y sus recursos. Después de migrado el proceso y sus recursos, deben poder ser accedidos por el mismo nombre y mecanismos como si la migración no hubiese ocurrido.



Limpieza de parte del estado del proceso que no es migrable. La migración debe esperar hasta que el proceso finalice o aborte cualquier operación del sistema pendiente

Agentes Móviles y Java Java ha sido usado exitosamente para desarrollar Sistemas de Agentes Móviles ya que :    

Soporta código Móvil Soporta objetos Móviles. Soporta el modelo de objetos remotos Es un lenguaje independiente del sistema operativo

Tarea •Dé un ejemplo de herramienta que soporte agentes móviles, indicando: •¿Quien y cuando la desarrolló? •Tipo de herramienta: comercial o experimental • Lenguaje base •¿Sobre cual plataformas (SO) funciona? •Principios de funcionamiento •Funcionalidades de AM que provee.

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.