Sunteți pe pagina 1din 35

SISTEMAS MULTIPROCESOS

SESION 14

Gestin de procesos

Arquitectura del sistema Modelos de Sistema Asignacin de procesadores Ejecucin remota de procesos

Red de interconexin

Paquete: tipo de mensaje que se intercambia entre dos dispositivos de comunicacin.


Mensaje: objeto lgico que se intercambian entre
dos o ms procesos.
Tamao limitado por el hardware

Subsistema de comunicacin: conjunto de

Su tamao puede ser bastante grande. Un mensaje se descompone en paquetes.

componentes HW y SW que proporcionan servicios de comunicacin en un sistema distribuido. Protocolo: conjunto de reglas e instrucciones que gobiernan el intercambio de paquetes y mensajes

Tasa de transferencia: velocidad de transferencia Latencia: tiempo necesario para transferir un mensaje
vaco

Tiempo de transferencia = latencia + tamao/tasa de


trasferencia nodos

Paquetes/segundo Capacidad de crecimiento. Aumento en el n de Calidad de servicio Fiabilidad del subsistema


emisores
Importante en aplicaciones multimedia y de tiempo real Mecanismos de deteccin de errores

Seguridad: proteccin de los paquetes Confidencialidad: proteger la identidad de los

Protocolo: conjunto de reglas y formatos que


Especificacin de la secuencia de mensajes que deben intercambiarse. Especificacin del formato de mensajes.

permiten la comunicacin entre procesos. La definicin de un protocolo tiene dos parte:

El software de red se organiza en niveles

Segmentacin y ensamblado de mensajes Encapsulado: incorporacin de informacin de


control a los datos
Direccin del emisor y receptor Cdigo de deteccin de errores Protocolos orientados a conexin Protocolos no orientados a conexin:

Control de conexin

Entrega ordenada en protocolos orientados a


conexin
Nmeros de secuencia

No se asegura el orden secuencial de los datos transmitidos

Resultado de la investigacin y desarrollo llevados a cabo en la red ARPANET (financiada por DARPA) en los aos 70 Familia de protocolos utilizados en Internet En los 90 se ha establecido como la arquitectura comercial dominante:
Se especificaron y utilizaron antes de OSI Independiente de la tecnologa de red utilizada Internet est construida sobre un conjunto de protocolos TCP/IP. Espectacular desarrollo de World Wide Web

Emisor

Receptor

Aplicaciones Lenguajes de programacin Sistema operativo distribuido Hardware Red de interconexin Hardware

Se comporta como un SO nico (visin nica)


Se construyen normalmente como microncleos que ofrecen servicios bsicos de comunicacin
Distribucin. Transparencia Mach, Amoeba, Chorus.

Todos los computadores deben ejecutar el mismo SOD

Acceso: acceso a recursos remotos y locales de

igual forma Posicin: acceso a los recursos sin necesidad de conocer su situacin Concurrencia: acceso concurrente a recursos compartidos sin interferencias Replicacin: Acceso a recursos replicados sin conocimiento de que lo son Fallos: mantenimiento del servicio en presencia de fallos. Migracin: permite que los recursos y objetos se muevan sin afectar a la operacin de los programas. Capacidad de crecimiento: facilidad para crecer sin afectar a la estructura del sistema

Organizacin de los procesadores en un SD


Tres alternativas:
Conjunto de estaciones de trabajo Pool de procesadores Modelo hbrido

SD compuesto de estaciones de trabajo conectadas Procesos de un usuario se ejecutan en su estacin de trabajo. Discos locales se utilizan para paginacin, archivos temporales, cache de ficheros y/o ficheros locales. Normalmente hay un servidor de ficheros

Los usuarios utilizan terminales grficos (p.ej. terminales X). Existe un pool de procesadores donde se envan los procesos. Similar al tiempo compartido. Pool de procesadores Servidor de cmputo Asignacin dinmica de procesadores:
Nuevo proceso a cualquier procesador Usuario con ms trabajo utiliza ms procesadores

Usuarios utilizan estaciones de trabajo. Existe un pool de procesadores Trabajos interactivos en las estaciones de trabajo. Trabajos no interactivos en el pool de procesadores.

No hay reparto de carga en modelo de estaciones de trabajo


Uso de estaciones de trabajo inactivas:

Puede haber estaciones de trabajo inactivas y otras muy cargadas. En entornos tpicos se desperdicia 80% de ciclos totales de CPU. Ejecutar procesos de forma transparente en mquinas inactivas. Qu es una estacin de trabajo inactiva? Qu ocurre cuando deja de estar inactiva?
lleva varios minutos sin recibir entrada del teclado o ratn y no est ejecutando procesos interactivos No hacer nada El cliente de la estacin notar mal rendimiento. Migrar el proceso a otra estacin inactiva (costoso) Continuar ejecutando el proceso con prioridad baja.

Objetivos:

Decidir en qu procesador se debera ejecutar un proceso Reparto y equilibrio de carga (load sharing/balancing)

Suposiciones:

Todos los procesadores son compatibles. La velocidad de los procesadores puede ser distinta. Un procesador puede comunicarse con cualquier otro.

Procesos cooperantes
Interaccionan entre s Pertenecientes a una misma aplicacin paralela Objetivo: minimizar tiempo de ejecucin de aplicacin

Procesos disjuntos
Procesos independientes Pertenecientes a distintos usuarios Objetivo: maximizar utilizacin de procesadores

Estrategias estticas
Determinista Usada para procesos cooperantes Asignacin a priori a partir de caractersticas de aplicacin paralela

Estrategias dinmicas
Reparto y equilibrio de carga dinmico Usada para procesos disjuntos Asignacin en tiempo de ejecucin

Programa paralelo formado por procesos que se comunican Modelado como grafo no dirigido donde:
Nodo representa proceso con necesidades de UCP y memoria Eje incluye etiqueta que indica cantidad de datos que intercambian nodos implicados Cuando slo hay dos procesadores.

El problema en su forma general es NP-completo Algoritmos con complejidad polinomial: En el caso general se utilizan heursticas:
P. ej. corte mnimo: Para P procesadores buscar P-1 cortes tal que se minimice el flujo entre cada particin Resultado: Cada particin (procesador) engloba a un conjunto de procesos fuertemente acoplados

Trfico entre nodos: 13+17=30

Trfico entre nodos: 13+15=28

Cmo ejecutar un proceso de forma remota?


Crear el mismo ambiente de trabajo:
entorno, directorio actual, etc. P. ej. interaccin con el terminal

Redirigir ciertas llamadas al sistema a mquina origen:

Migracin (transferencia expulsiva) mucho ms compleja:


Congelar el estado del proceso Transferir a mquina destino Descongelar el estado del proceso

Numerosos aspectos complejos:

Redirigir mensajes y seales Copiar espacio de swap o servir fallos de pg. desde origen?

S-ar putea să vă placă și