You are on page 1of 7

Manejo de Procesos en Sistemas Distribuidos

Sistemas Distribuidos Modulo 5

Manejo de Procesos En Sistemas Operativos convencionales se trata de la forma de compartir el procesador del sistema entre los procesos. En Sistemas Distribuidos el objetivo es similar:

Manejo de Procesos en Sistemas Distribuidos

Hacer el mejor uso posible de todos los recursos de procesamiento del sistema.

JRA 2002

Sistemas Distribuidos Manejo de Procesos

Manejo de Procesos en Sistemas Distribuidos Tres conceptos se usan para lograr este objetivo: Alocacin de procesos : que proceso debe a signarse a que procesador. Migracin de procesos: movimiento del proceso al procesador que ha sido asignado. Threads: paralelismo mas fino para mejor utilizacin de la capacidad de procesamiento del sistema.

Manejo de Procesos en Sistemas Distribuidos Migracin de Procesos


Es la relocaci n de un proceso de su locacin corriente (sitio fuente) en otro sitio (sitio destino).
tiempo Nodo fuente P1 ejecucin suspendida ejecucin reactivada Nodo destino

tiempo congelado

JRA 2002

Sistemas Distribuidos Manejo de Procesos

JRA 2002

Sistemas Distribuidos Manejo de Procesos

Manejo de Procesos en Sistemas Distribuidos Un proceso puede migrar antes de comenzar a ejecutar (no apropiativo) o durante el curso de su ejecucin (apropiativo). Involucra: Seleccin de un proceso a ser migrado. Seleccin de un sitio destino a donde el proceso debe ser migrado. Transferencia del proceso seleccionado al sitio destino.
JRA 2002 Sistemas Distribuidos Manejo de Procesos 5

Manejo de Procesos en Sistemas Distribuidos Caractersticas deseables de un buen mecanismo de migracin de procesos Transparencia. Mnima interferencia. Dependencias residuales mnimas. Eficiencia. Robustez. Comunicacin entre coprocesos de un Job.
JRA 2002 Sistemas Distribuidos Manejo de Procesos 6

Manejo de Procesos en Sistemas Distribuidos Transparencia Nivel de acceso a objetos.Mnimo requerido para migracin no apropiativa. Nivel de system-calls y comunicacin entre procesos. Interferencia M nima Debe tratar de minimizar el tiempo congelado.

Manejo de Procesos en Sistemas Distribuidos Dependencia residual m nima La migracin de procesos debe dejar lo mnimo o nada en el sitio origen. q Impone una carga en el sitio previo. q Una falla o reboot en el sitio previo hace fallar el proceso.

JRA 2002

Sistemas Distribuidos Manejo de Procesos

JRA 2002

Sistemas Distribuidos Manejo de Procesos

Manejo de Procesos en Sistemas Distribuidos Eficiencia La fuentes de mayores deficiencias son: q el tiempo requerido para migrar el proceso. q el costo de localizar el objeto. q el costo de soportar la ejecucin remota una vez que el proceso ha migrado. Robustez La falla en un sitio distinto del que corre el proceso no debe afectar la accesibilidad o ejecucin de ese proceso.
JRA 2002 Sistemas Distribuidos Manejo de Procesos 9

Manejo de Procesos en Sistemas Distribuidos

Comunicacin entre procesos de un Job Cuando un Job se divide en varios coprocesos paralelos y se ejecutan en distintos sitios. Para reducir los costos de comunicacin es necesario que esos coprocesos se comuniquen directamente unos con otros independiente de su locacin.

JRA 2002

Sistemas Distribuidos Manejo de Procesos

10

Manejo de Procesos en Sistemas Distribuidos Mecanismos de Migracinde Procesos


Involucra varias subactividades: q Congelar el proceso en su sitio origen y reiniciarlo en su sitio destino. q Transferir el espacio de direcciones correspondiente. q Continuar los mensajes esperados por el proceso migrante. q Manejar las comunicaciones entre procesos cooperativos que han sido separados como resultado de la migraci n.
JRA 2002 Sistemas Distribuidos Manejo de Procesos 11

Manejo de Procesos en Sistemas Distribuidos


Mecanismos para congelar y reiniciar un proceso Bloqueo inmediato o retardado del proceso. Dependiendo del estado del proceso puede ser bloqueado inmediatamente o esperar. Casos: q Si el proceso no est ejecutando un system-call puede ser bloqueado inmediatamente. q Si el proceso est ejecutando un system-call pero durmiendo en una prioridad interrumpible esperando que ocurra un evento en el kernel, puede ser bloqueado inmediatamente. q Si el proceso est ejecutando un system-call y est en una prioridad no interrumpible esperando que ocurra un evento en el kernel no puede ser bloqueado inmediatamente.
JRA 2002 Sistemas Distribuidos Manejo de Procesos 12

Manejo de Procesos en Sistemas Distribuidos Operaciones de E/S rpidas y lentas


Debe solo esperar por las operaciones rpidas. Respecto a las lentas, debe establecerse un mecanismo para continuarlas una vez migrado el proceso.

Manejo de Procesos en Sistemas Distribuidos Reinstanciacin destino. del proceso en su sitio

Informacin sobre archivos abiertos


Alternativa 1: Se crea un link al archivo, este es usado por proceso migrado. Alternativa 2: Se recompone el nombre completo del archivo.
JRA 2002 Sistemas Distribuidos Manejo de Procesos 13

En el sitio destino se crea un PCB vac o, con identificacin diferente para que existan dos copias, luego se cambia al viejo. Puede ser necesario reiniciar los system-calls que contena una operacin de E/S lenta.

JRA 2002

Sistemas Distribuidos Manejo de Procesos

14

Manejo de Procesos en Sistemas Distribuidos Mecanismos de transferencia del espacio de direcciones. Se debe transferir: q El estado del proceso q El espacio de direcciones del proceso

Manejo de Procesos en Sistemas Distribuidos Estado del Proceso


Estado de ejecuci n Info de planificaci n Memoria usada Estados de entrada/salida Lista de objetos a los cuales el proceso tiene acceso Identificador del proceso Identificador de usuario y grupo del proceso Archivos abiertos
JRA 2002 Sistemas Distribuidos Manejo de Procesos 16

JRA 2002

Sistemas Distribuidos Manejo de Procesos

15

Manejo de Procesos en Sistemas Distribuidos Espacio de direcciones del proceso Cdigo Datos Stack

Manejo de Procesos en Sistemas Distribuidos Se usan diferentes mecanismos para la transferencia del espacio de direcciones: qcongelamiento total qpretransferencia qtransferencia por referencia

El costo de la migracin est dado por la transferencia del espacio de direcciones.

JRA 2002

Sistemas Distribuidos Manejo de Procesos

17

JRA 2002

Sistemas Distribuidos Manejo de Procesos

18

Manejo de Procesos en Sistemas Distribuidos

Manejo de Procesos en Sistemas Distribuidos Pretransferencia

Congelamiento Total
tiempo Nodo fuente P1 ejecucin suspendida tiempo congelado transferencia del espacio de direcciones ejecucin reactivada Nodo destino

tiempo

Nodo fuente P1

Nodo destino

ejecucin suspendida tiempo congelado

transferencia del espacio de direcciones ejecucin reactivada

Ventaja: Fcil de implementar Desventaja: Se pueden vencer los time-outs y los usuarios pueden notarlo.
JRA 2002 Sistemas Distribuidos Manejo de Procesos 19

Puede transferir pginas redundantes


JRA 2002 Sistemas Distribuidos Manejo de Procesos 20

Manejo de Procesos en Sistemas Distribuidos


Transferencia por demanda
tiempo Nodo fuente P1 Nodo destino

Manejo de Procesos en Sistemas Distribuidos Mecanismos para envo de mensajes Cuando se mueven los procesos debe asegurarse que lleguen a su nueva locacin: mensajes en ruta mensajes pendientes futuros mensajes

ejecucin suspendida tiempo congelado ejecucin reactivada transferencia del espacio de direcciones por demanda

Copia las pginas que necesita cuando ello ocurra. Deja informaci n en el sitio fuente, esto es cr tico.
JRA 2002 Sistemas Distribuidos Manejo de Procesos

21

JRA 2002

Sistemas Distribuidos Manejo de Procesos

22

Manejo de Procesos en Sistemas Distribuidos Los mensajes al proceso migrante pueden ser clasificados como: Tipo 1: recibidos en el sitio fuente luego que se ha congelado el proceso y no se ha reiniciado en el sitio destino. Tipo 2: recibidos en el sitio fuente cuando el proceso se inici en el sitio destino. Tipo 3: enviados al proceso desde otros sitios luego que ste reinici en el sitio destino.
JRA 2002 Sistemas Distribuidos Manejo de Procesos 23

Manejo de Procesos en Sistemas Distribuidos


Los mecanismos usados son: Reenvo de mensajes (V-System, Amoeba) Tipos 1 y 2 son retornados o dejados caer para que retransmitan. Sitio origen (AIX TCF, Sprite) Cada sitio tiene info del traslado del proceso. Es inseguro por cadas de los sitios intermedios, los sitios origen siguen cargados.
JRA 2002 Sistemas Distribuidos Manejo de Procesos 24

Manejo de Procesos en Sistemas Distribuidos Enlace transversal (DEMOS/MP) Los tipo 1 son encolados en el sitio fuente, luego de notificada la ubicacin del proceso le son enviados como parte del proceso de migracin. Para los tipo 2 y 3 es dejada una direccin adelantada en el sitio fuente apuntado al sitio destino llamada link .
ID del Proceso (nico) ltima locacin del proceso

Manejo de Procesos en Sistemas Distribuidos Actualizacin del link (Charlotte) Desde el sitio origen se manda a todos los dems kernels un mensaje de actualizacin de la nueva ubicacin.

JRA 2002

Sistemas Distribuidos Manejo de Procesos

25

JRA 2002

Sistemas Distribuidos Manejo de Procesos

26

Manejo de Procesos en Sistemas Distribuidos Mecanismos para manejar coprocesos Deshabilitar la separacin de coprocesos a) No permitir migracin de procesos que esperan que completen uno o ms subprocesos. b) Asegurar que todos migren juntos. Concepto del sitio origen La comunicacin se lleva a cabo por sitio origen.
JRA 2002 Sistemas Distribuidos Manejo de Procesos 27

Manejo de Procesos en Sistemas Distribuidos

Ventajas de la Migracin de Procesos


Reducci n del tiempo medio de respuesta. Aceleracin de jobs individuales. Ganancia de procesamiento total. Efectiva utilizacin de recursos. Reducci n de trfico en la red. Mejora de la confiabilidad del sistema. Mejora de la seguridad del sistema.
JRA 2002 Sistemas Distribuidos Manejo de Procesos 28

Manejo de Procesos en Sistemas Distribuidos

Manejo de Procesos en Sistemas Distribuidos Modelos de Organizacin


Modelo Despachador-Trabajador Modelo "Pipeline" Modelo "Team"

THREADS
Uso de threads (lightweight processes)
Espacio dir Espacio dir

Igual espacio de direcciones No hay protecci n entre los mismos y no es necesaria Estado, stack
JRA 2002 Sistemas Distribuidos Manejo de Procesos 29 JRA 2002 Sistemas Distribuidos Manejo de Procesos 30

Manejo de Procesos en Sistemas Distribuidos Modelos de Organizacin


Ejemplo de Modelo Despachador-Trabajador
Thread despachador Requerimiento despachado a un thread trabajador Servidor

Manejo de Procesos en Sistemas Distribuidos


Ejemplo: Servidor de Archivos
Un thread simple Threads mltiples Mquina de estados finitos
Modelo Caractersticas Paralelismo, llamadas al sistema bloqueantes No paralelismo, llamadas al sistema bloqueantes Paralelismo, llamadas al sistema no bloqueantes
32

Thread trabajador
Requerimiento que viene de la red

Threads Proceso simple

Sistema Operativo

Mquinas de Estados Finitos


31 JRA 2002

JRA 2002

Sistemas Distribuidos Manejo de Procesos

Sistemas Distribuidos Manejo de Procesos

Manejo de Procesos en Sistemas Distribuidos


Motivaciones para su uso 1. Es considerable la sobrecarga en crear un nuevo proceso frente a la creacin de un nuevo thread dentro de un proceso. 2. La conmutacin entre threads compartiendo el mismo espacio de direcciones es mas barata que entre procesos. 3. Los threads permiten paralelismo al ser combinados con ejecucin secuencial y llamadas a sistemas bloqueantes. 4. Compartir recursos puede hacerse mas eficiente y natural entre threads de un proceso que entre procesos mismos a causa de compartir el mismo espacio de direcciones.
JRA 2002 Sistemas Distribuidos Manejo de Procesos 33

Manejo de Procesos en Sistemas Distribuidos

Aspectos en Diseo de Threads


Creacin de threads esttica dinmica Terminacin de threads pueden terminar convencionalmente pueden autodestruirse o ser destruidos
JRA 2002 Sistemas Distribuidos Manejo de Procesos 34

Manejo de Procesos en Sistemas Distribuidos


Sincronizacin de threads usa variables mutex si encuentra mutex=lock a) el thread se bloquea y espera en una cola por la variable mutex. b) un cod-status indica situaci n. El thread puede continuar con otra tarea o esperar.

Manejo de Procesos en Sistemas Distribuidos

Thread 1 Lock (mutex_A) xito Regin Crtica (usa el recurso compartido A) Unlock (mutex_A) Signal ( A_libre)

Thread 2

Lock(mutex_A) falla Wait (A_libre) Estado bloqueado Lock (mutex_A) xito

JRA 2002

Sistemas Distribuidos Manejo de Procesos

35

JRA 2002

Sistemas Distribuidos Manejo de Procesos

36

Manejo de Procesos en Sistemas Distribuidos

Manejo de Procesos en Sistemas Distribuidos Implementacin Espacio del kernel

Planificaci n de threads facilidad para asignar prioridad. flexibilidad para cambiar el quantum. planificacin forzada planificacin afn

espacio Usuario

Procesos y sus threads

espacio Kernel

Kernel (mantiene la informacin de status de los threads)

JRA 2002

Sistemas Distribuidos Manejo de Procesos

37

JRA 2002

Sistemas Distribuidos Manejo de Procesos

38

Manejo de Procesos en Sistemas Distribuidos Espacio del Usuario

Manejo de Procesos en Sistemas Distribuidos Ventajas y desventajas de las distintas alternativas

Procesos y sus threads Espacio Usuario

Runtime (mantiene la informacin de status de los threads) Kernel (mantiene la informacin de status de los procesos)

Espacio Kernel

Ventaja del nivel-usuario: puede construirse encima del sistema operativo que no soporta threads. En el otro caso deben meterse en el kernel. Ventaja del nivel-usuario: puede usar su propio esquema de planificacin. No es posible en el nivel-kernel.

JRA 2002

Sistemas Distribuidos Manejo de Procesos

39

JRA 2002

Sistemas Distribuidos Manejo de Procesos

40

Manejo de Procesos en Sistemas Distribuidos Ventaja del nivel-usuario: la conmutacin de contexto de un thread en el nivel-usuario es ms rpida que en el nivelkernel. Es hecho por el run time, en el nivel-kernel requiere un trap. Ventaja del nivel-usuario: la escalabilidad es mayor. Las tablas en nivel-kernel son mantenidas dentro del kernel. Desventaja del nivel-usuario: trabajan en multiprogramacin pura. Desventaja del nivel-usuario:los system -calls generan problemas de bloqueo.
JRA 2002 Sistemas Distribuidos Manejo de Procesos 41

You might also like