MIGRACIÓN DE CÓDIGO
INTEGRANTES:
EDITH TORRES MOTA
GRISELDA VÁZQUEZ
FRAGOSO
YESENIA VELÁSQUEZ
CORONA
ANTONIO ZACAPA
Universidad
Autónoma de
Tlaxcala
MÉTODOS PARA LA MIGRACIÓN DE CÓDIGO
Razones para la migración de
código
Rendimiento
-Repartir la carga computacional
-mejorar la capacidad o
velocidad de respuesta para un usuario
La mejora del rendimiento a través de la migración de código se basa en razones
cualitativas.
La migración de código se basa en la presunción de que se tienen que procesar
datos cerca de donde se reside.
Particionar tareas.
Mejorar el rendimiento mediante el paralelismo a través de la velocidad de
respuesta.
-distribuyendo el procesamiento entre
máquinas para aumentar el grado de
paralelismo.
-agente móvil.
Flexibilidad
-Crear particiones de las aplicaciones
en diferentes partes y decidir por
adelantado donde se van a ejecutar.
Si el código se puede trasladar en diferentes
maquinas, se puede configurar sistemas
distribuidos en forma dinámica.
El principio de la comunicación dinámica de un cliente para comunicarse con un
servidor, el cliente primero recupera el software necesario y luego invoca al
servidor.
Ventajas del modelo de descarga dinamico:
-El software no tiene que estar preinstalado para la comunicación
con los servidores.
-Mientras las interfaces sean estandarizadas se puede mover el
protocolo del cliente si es necesario.
Desventajas:
-Seguridad.
Modelos para la migración de
código
Se basa en el movimiento de programas entre
maquinas, con la intención de que dichos
programas se ejecuten en el destino.
Los diferentes modelos existentes, descritos por
Fuggetta y colaboradores (1998) nos dicen que
es un proceso y consta de tres segmentos:
Segmento de código: es la parte que contiene el
conjunto de instrucciones constitutivas del
programa en ejecución.
Segmento de recurso: contiene referencias a
recursos externos necesarios para el proceso,
tales como archivos, impresoras etc.
Segmento de ejecución: para almacenar el estado
actual de la ejecución de un proceso, el cual
consta de datos privados, la pila, y por supuesto,
el contador de programa
Respecto a los segmentos que migran:
Movilidad débil: solo migra el segmento de código
(p.ej: los Applets de Java) requiere solamente que
una maquina de destino pueda ejecutar el código,
prepara al código para que sea portable.
Movilidad fuerte: migran el segmento de código y
el segmento de ejecución. Un proceso se puede
detener, y posteriormente trasladarse hacia otra
maquina, y luego continuar su ejecución a partir del
punto en donde se quedó.
Respecto a quien inicia el proceso:
Migración iniciada por el remitente: la migración
empieza en la maquina donde reside el código o
donde se ejecuta( se hace cuando los
programas se cargan al servidor de computo).
Migración iniciada por el destinatario: la maquina
de destino toma la iniciativa para realizar la
migración de código. (Los applets de Java)
Mecanismo
de
movilidad
Movilidad
débil
Movilidad
fuerte
Movilidad iniciada
por el remitente
Movilidad iniciada
por el destinatario
Movilidad iniciada
por el remitente
Movilidad iniciada
por el destinatario
Ejecución en proceso
de destino
Ejecución en proceso
de separado
Ejecución en un
proceso separado
Ejecución en proceso
de destino
Migración del
proceso
Migración del
proceso
Clonación del
proceso
Clonación del proceso
MIGRACIÓN Y RECURSOS LOCALES
Migrar el segmento de recursos muchas veces puede ser problemático. Por
ejemplo migrar la referencia a un socket abierto TCP de una máquina a
otra.
La clave para entender las posibilidades de migración del segmento de
recursos radica en el enlace que exista entre el recurso y el proceso y
el recurso y la máquina
TIPOS DE ENLACES DE PROCESOS A RECURSOS
• El enlace mas fuerte es cuando un proceso hace referencia a un recurso
mediante su identificador.
Ej.: URL, dirección TCP, etc. En este caso el recurso es único y debe mantenerse
la asociación.
• Un modo mas débil del enlace de proceso a recursos es cuando se requiere
solamente el valor de un recuso:
Ej.: Cierta biblioteca de código.
La forma mas débil de enlace es cuando un proceso indica que requiere solamente
un recurso de un tipo especifico.
Ej.: Terminal, disco, etc.
ENLACES DE RECURSO A MAQUINA
• Recursos no adjuntos: Se puede trasladar fácilmente entre diversas
maquinas ya que no existe una asociación.
Ej.: Ficheros de datos únicamente utilizados por los procesos que migran.
• Recursos adjuntos: trasladar o copiar un recurso adjunto puede ser
posible, pero a un costo alto.
Ej.: Bases de datos o sitios web completos.
Recursos fijos: Están ligados a una maquina especifica y no se pueden trasladar.
Ej.: Socket TCP.
No adjunto Adjunto Fijo
Por identificador
Por valor
Por tipo
MV (o GR)
CP (o MV,
GR)
RB (o MV,
CP)
GR (o MV)
GR (o CP)
RB (o GR,
CP)
GR
GR
RB (o GR)
Enlace
proceso a
recurso
GR establece una referencia global de sistema
MV traslada el recurso
CP copia el valor del recurso
RV reenlanza el proceso al recurso disponible de manera
local
• Establecer una referencia global puede ser
mas que solamente hacer uso de URL, y
que el uso de dicha referencia en ocasiones
es prohibitivamente costoso.
un ejemplo de donde se establece una
referencia global no siempre es tan fácil al
migrar un proceso que hace uso del punto
final de la comunicación global. En ese caso,
estamos tratando con un recurso fijo al cual
el proceso se enlaza mediante un
identificador.
La principal desventaja de este método es
que cada vez que la maquina fuente falle, la
comunicación con el proceso de migración
pudiera interrumpirse.
La solución alternativa es tener todos los
procesos que se comunican con el proceso
de migración, modificar su referencia global,
y enviar mensajes al nuevo punto final de
comunicación en la maquina destino.
Cuando tratamos con referencias por valor
la situación es diferente.
Un ejemplo es:
(considerando un recurso fijo)
La combinación de un recurso fijo y una
referencia por valor ocurre cuando un
proceso asume que la memoria entre
procesos puede compartirse. Establecer
una referencia global, en este caso, podría
significar que necesitamos implementar
una forma distribuida de memoria
compartida.
El caso mas sencillo es tratar con recursos no
adjuntos. La mejor solución es copiar (o trasladar)
el recurso al nuevo destino, a menos que se
encuentre compartido por un numero de proceso.
El ultimo caso trata con referencias por tipo. La
solución mas evidente es la de volver a enlazar el
proceso a un recurso local disponible del mismo
tipo. Solamente cuando dicho recurso no este
disponible necesitaremos copiar o trasladar el
original a un nuevo destino, o establecer una
referencia global.
MIGRACIÓN Y SISTEMAS HETEROGÉNEOS
Un sistema heterogéneo es aquel que se
encuentra compuesto por hardware con
características físicas distintas entre sí, y
software con características operativas
distintas entre sí, pero que se pueden
comunicar utilizando medios comunes.
El problema que acarrea la heterogeneidad son
referentes a la portabilidad.
Las soluciones para procesos de migración y para
ambientes de programación completa.
Es posible desacoplar una parte del sistema
subyacente y realmente migrarla a otra maquina.
Una de la razones para esperar una migración de
ambientes completos es que permite la continuación
de operación mientras una maquina necesita
detener sus ejecución.
Maneras de manipular la migración
Empujar paginas desde memoria hacia la nueva
maquina y reenviar las que se modificaron
posteriormente.
Detener la maquina virtual actual; migrar la
memoria, y comenzar una nueva maquina virtual.
Dejar que la nueva maquina virtual atraiga las
paginas cuando sea necesario, permitiendo que
los procesos comiencen dentro de una nueva
maquina virtual.
El efecto general es que, en vez e
migrar los procesos, sabemos
que podemos trasladar entre
máquinas a sistema operativo
completo
Referencia
http://web.iti.upv.es/~pgaldam/sdb/apuntes/tema3.pdf
http://asteriscus.com/presentacion/20120112.pdf
http://pd2011.webs.com/notas-clase-PD8.pdf
http://www.itistmo.edu.mx/Pag%20Informatica/APUNTES_archivos/page000
3.htm

Migrar codigo

  • 1.
    MIGRACIÓN DE CÓDIGO INTEGRANTES: EDITHTORRES MOTA GRISELDA VÁZQUEZ FRAGOSO YESENIA VELÁSQUEZ CORONA ANTONIO ZACAPA Universidad Autónoma de Tlaxcala
  • 2.
    MÉTODOS PARA LAMIGRACIÓN DE CÓDIGO Razones para la migración de código Rendimiento -Repartir la carga computacional -mejorar la capacidad o velocidad de respuesta para un usuario La mejora del rendimiento a través de la migración de código se basa en razones cualitativas.
  • 3.
    La migración decódigo se basa en la presunción de que se tienen que procesar datos cerca de donde se reside. Particionar tareas. Mejorar el rendimiento mediante el paralelismo a través de la velocidad de respuesta. -distribuyendo el procesamiento entre máquinas para aumentar el grado de paralelismo. -agente móvil.
  • 4.
    Flexibilidad -Crear particiones delas aplicaciones en diferentes partes y decidir por adelantado donde se van a ejecutar. Si el código se puede trasladar en diferentes maquinas, se puede configurar sistemas distribuidos en forma dinámica.
  • 5.
    El principio dela comunicación dinámica de un cliente para comunicarse con un servidor, el cliente primero recupera el software necesario y luego invoca al servidor.
  • 6.
    Ventajas del modelode descarga dinamico: -El software no tiene que estar preinstalado para la comunicación con los servidores. -Mientras las interfaces sean estandarizadas se puede mover el protocolo del cliente si es necesario. Desventajas: -Seguridad.
  • 7.
    Modelos para lamigración de código Se basa en el movimiento de programas entre maquinas, con la intención de que dichos programas se ejecuten en el destino. Los diferentes modelos existentes, descritos por Fuggetta y colaboradores (1998) nos dicen que es un proceso y consta de tres segmentos:
  • 8.
    Segmento de código:es la parte que contiene el conjunto de instrucciones constitutivas del programa en ejecución. Segmento de recurso: contiene referencias a recursos externos necesarios para el proceso, tales como archivos, impresoras etc. Segmento de ejecución: para almacenar el estado actual de la ejecución de un proceso, el cual consta de datos privados, la pila, y por supuesto, el contador de programa
  • 9.
    Respecto a lossegmentos que migran: Movilidad débil: solo migra el segmento de código (p.ej: los Applets de Java) requiere solamente que una maquina de destino pueda ejecutar el código, prepara al código para que sea portable. Movilidad fuerte: migran el segmento de código y el segmento de ejecución. Un proceso se puede detener, y posteriormente trasladarse hacia otra maquina, y luego continuar su ejecución a partir del punto en donde se quedó.
  • 10.
    Respecto a quieninicia el proceso: Migración iniciada por el remitente: la migración empieza en la maquina donde reside el código o donde se ejecuta( se hace cuando los programas se cargan al servidor de computo). Migración iniciada por el destinatario: la maquina de destino toma la iniciativa para realizar la migración de código. (Los applets de Java)
  • 11.
    Mecanismo de movilidad Movilidad débil Movilidad fuerte Movilidad iniciada por elremitente Movilidad iniciada por el destinatario Movilidad iniciada por el remitente Movilidad iniciada por el destinatario Ejecución en proceso de destino Ejecución en proceso de separado Ejecución en un proceso separado Ejecución en proceso de destino Migración del proceso Migración del proceso Clonación del proceso Clonación del proceso
  • 12.
    MIGRACIÓN Y RECURSOSLOCALES Migrar el segmento de recursos muchas veces puede ser problemático. Por ejemplo migrar la referencia a un socket abierto TCP de una máquina a otra. La clave para entender las posibilidades de migración del segmento de recursos radica en el enlace que exista entre el recurso y el proceso y el recurso y la máquina
  • 13.
    TIPOS DE ENLACESDE PROCESOS A RECURSOS • El enlace mas fuerte es cuando un proceso hace referencia a un recurso mediante su identificador. Ej.: URL, dirección TCP, etc. En este caso el recurso es único y debe mantenerse la asociación. • Un modo mas débil del enlace de proceso a recursos es cuando se requiere solamente el valor de un recuso: Ej.: Cierta biblioteca de código.
  • 14.
    La forma masdébil de enlace es cuando un proceso indica que requiere solamente un recurso de un tipo especifico. Ej.: Terminal, disco, etc.
  • 15.
    ENLACES DE RECURSOA MAQUINA • Recursos no adjuntos: Se puede trasladar fácilmente entre diversas maquinas ya que no existe una asociación. Ej.: Ficheros de datos únicamente utilizados por los procesos que migran. • Recursos adjuntos: trasladar o copiar un recurso adjunto puede ser posible, pero a un costo alto. Ej.: Bases de datos o sitios web completos.
  • 16.
    Recursos fijos: Estánligados a una maquina especifica y no se pueden trasladar. Ej.: Socket TCP.
  • 17.
    No adjunto AdjuntoFijo Por identificador Por valor Por tipo MV (o GR) CP (o MV, GR) RB (o MV, CP) GR (o MV) GR (o CP) RB (o GR, CP) GR GR RB (o GR) Enlace proceso a recurso GR establece una referencia global de sistema MV traslada el recurso CP copia el valor del recurso RV reenlanza el proceso al recurso disponible de manera local
  • 18.
    • Establecer unareferencia global puede ser mas que solamente hacer uso de URL, y que el uso de dicha referencia en ocasiones es prohibitivamente costoso. un ejemplo de donde se establece una referencia global no siempre es tan fácil al migrar un proceso que hace uso del punto final de la comunicación global. En ese caso, estamos tratando con un recurso fijo al cual el proceso se enlaza mediante un identificador.
  • 19.
    La principal desventajade este método es que cada vez que la maquina fuente falle, la comunicación con el proceso de migración pudiera interrumpirse. La solución alternativa es tener todos los procesos que se comunican con el proceso de migración, modificar su referencia global, y enviar mensajes al nuevo punto final de comunicación en la maquina destino.
  • 20.
    Cuando tratamos conreferencias por valor la situación es diferente. Un ejemplo es: (considerando un recurso fijo) La combinación de un recurso fijo y una referencia por valor ocurre cuando un proceso asume que la memoria entre procesos puede compartirse. Establecer una referencia global, en este caso, podría significar que necesitamos implementar una forma distribuida de memoria compartida.
  • 21.
    El caso massencillo es tratar con recursos no adjuntos. La mejor solución es copiar (o trasladar) el recurso al nuevo destino, a menos que se encuentre compartido por un numero de proceso. El ultimo caso trata con referencias por tipo. La solución mas evidente es la de volver a enlazar el proceso a un recurso local disponible del mismo tipo. Solamente cuando dicho recurso no este disponible necesitaremos copiar o trasladar el original a un nuevo destino, o establecer una referencia global.
  • 22.
    MIGRACIÓN Y SISTEMASHETEROGÉNEOS
  • 23.
    Un sistema heterogéneoes aquel que se encuentra compuesto por hardware con características físicas distintas entre sí, y software con características operativas distintas entre sí, pero que se pueden comunicar utilizando medios comunes.
  • 24.
    El problema queacarrea la heterogeneidad son referentes a la portabilidad. Las soluciones para procesos de migración y para ambientes de programación completa. Es posible desacoplar una parte del sistema subyacente y realmente migrarla a otra maquina. Una de la razones para esperar una migración de ambientes completos es que permite la continuación de operación mientras una maquina necesita detener sus ejecución.
  • 25.
    Maneras de manipularla migración Empujar paginas desde memoria hacia la nueva maquina y reenviar las que se modificaron posteriormente. Detener la maquina virtual actual; migrar la memoria, y comenzar una nueva maquina virtual. Dejar que la nueva maquina virtual atraiga las paginas cuando sea necesario, permitiendo que los procesos comiencen dentro de una nueva maquina virtual.
  • 26.
    El efecto generales que, en vez e migrar los procesos, sabemos que podemos trasladar entre máquinas a sistema operativo completo
  • 27.