stringtranslate.com

Migración de procesos

En informática, la migración de procesos es una forma especializada de gestión de procesos mediante la cual los procesos se trasladan de un entorno informático a otro. Esto se originó en la computación distribuida , pero ahora se usa más ampliamente. En máquinas multinúcleo (múltiples núcleos en un procesador o múltiples procesadores), la migración de procesos ocurre como una parte estándar de la programación de procesos , y es bastante fácil migrar un proceso dentro de una máquina determinada, ya que la mayoría de los recursos (memoria, archivos, sockets) no necesitan cambiarse, solo el contexto de ejecución (principalmente el contador del programa y los registros).

La forma tradicional de migración de procesos se da en clústeres de computadoras donde los procesos se trasladan de una máquina a otra, lo que es significativamente más difícil, ya que requiere serializar la imagen del proceso y migrar o readquirir recursos en la nueva máquina. La primera implementación de la migración de procesos fue en el proyecto operativo DEMOS/MP en la Universidad de California, Berkeley y fue descrita en un artículo de 1983 por Barton Miller y Michael Powell. [1] La migración de procesos se implementa, entre otros, en OpenMosix y el sistema operativo Sprite de la Universidad de California, Berkeley .

Variedades

La migración de procesos en informática se presenta en dos formas: [2]

Migración de procesos no preventivos
Migración de procesos que se lleva a cabo antes de que comience la ejecución del proceso (es decir, migración en la que no es necesario interrumpir un proceso ). Este tipo de migración de procesos es relativamente barata, ya que implica relativamente poca carga administrativa.
Migración de procesos preventivos
Migración de procesos, en la que se prescinde de un proceso, se lo migra y continúa su ejecución en un entorno de ejecución diferente. Este tipo de migración de procesos es relativamente costosa, ya que implica el registro, la migración y la recreación del estado del proceso, así como la reconstrucción de los canales de comunicación entre procesos a los que está conectado el proceso migratorio.

Problemas

Cuando un proceso en ejecución se traslada a otra máquina, se producen varios problemas. Algunos de estos problemas son:

Redirección de E/S: si un proceso realiza operaciones de E/S en archivos o dispositivos vinculados a una determinada máquina, debe haber una forma de redirigir el acceso a estos recursos incluso después de la migración del proceso. Esto implica la redirección del flujo de datos de E/S a través de la red y presenta desventajas en cuanto a seguridad, rendimiento y confiabilidad.

Comunicación entre procesos: los mensajes enviados a un proceso con ID de proceso P en una máquina M deben ser redirigidos a la nueva máquina N y al nuevo ID de proceso Q. La máquina desde la que se ha migrado el proceso debe mantener registros de los procesos migrados. Si se producen migraciones múltiples, la sobrecarga aumenta.

Memoria compartida : si uno de los procesos de un grupo que cooperan migra y todos estos procesos utilizan un segmento de memoria compartida, entonces la red debe utilizarse para emular el acceso a la memoria compartida. Esto agrega complejidad y ralentiza drásticamente el acceso a la memoria compartida para los procesos que migraron desde la máquina que contenía la memoria compartida. El fenómeno por el cual una computadora host debe proporcionar servicios a un proceso que migró se denomina dependencia residual.

Además de los problemas mencionados anteriormente, los sistemas operativos basados ​​en procesos suelen mantener una variedad de tablas y estados para los procesos en ejecución. No existe una forma sencilla de recuperar toda la información administrativa sobre un proceso en una secuencia simple de operaciones de copia. Dependiendo de la ejecución del proceso, es necesario buscar, copiar, modificar y restablecer las tablas en el sistema de destino. Por lo tanto, la replicación del estado del proceso no es una tarea sencilla.

Referencia http://www.klammeraffe.org/~fritsch/uni-sb/fsinfo/Papers/migrate/node4.html

Diseño de circuitos integrados

Una definición alternativa de migración de procesos se utiliza en el diseño e ingeniería de circuitos integrados . La migración de procesos o migración de diseño en este contexto es un flujo de diseño para cambiar y reducir el diseño de un circuito integrado existente a un nuevo nodo de tecnología de proceso. La implementación de una migración de procesos se puede realizar de forma manual redibujando el diseño característica por característica o mediante herramientas EDA / CAD automáticas . En los sistemas de distribución de carga, un proceso se migra de un nodo a otro mediante un mecanismo llamado migración de procesos.

En este informe no se introduce el concepto de proceso, ya que los procesos son un diseño bien conocido en los sistemas operativos. La migración de procesos se refiere a la movilidad de los procesos en ejecución (o suspendidos) en un entorno informático distribuido. Por lo general, este término indica que un proceso utiliza una red para migrar a otra máquina y continuar allí su ejecución. A veces, el término se utiliza para describir el cambio en la ejecución de un procesador a otro dentro de la misma máquina.

Referencias

  1. ^ Powell, Michael; Miller, Barton (1983). "Migración de procesos en DEMOS/MP" (PDF) . Simposio sobre principios de sistemas operativos . Bretton Woods, New Hampshire.
  2. ^ "Gestión de procesos y migración de procesos". India Study Channel . Consultado el 28 de julio de 2012 .