Descargar

Sistemas distribuidos II (página 2)

Enviado por Pablo Turmero


Partes: 1, 2
edu.red

Primitivas SEND BLOQUEANTES (Primitivas sincrónicas SEND NO BLOQUEANTES (Primitivas asincrónicas SEND SIN BLOQUEO CON INTERRUPCIÓN PRIMITIVAS ALMACENADAS EN BUFFER vs NO ALMACENADAS PRIMITIVA CONFIABLES vs NO CONFIABLES

edu.red

Confiable vs No confiable

edu.red

Implementación Cliente Servidor

edu.red

Mensajes de Control

edu.red

Secuencias de Mensaje de Control

edu.red

Temas de Implementación Uso de procesadores remotos Ejecución Asincrónica Cliente/Servidor Ejecución Sincrónica Remote Procedure Call Remote Procedure Call Simula la llamada a un procedimiento remoto como si fuera local. Exiten herramientas que generan el código fuente RPCGEN (XDR, SRC) ? (SRC) Se generan los stubs cliente y servidor. Existe binding dinámico y registración del servidor.

edu.red

Etapas RPC

edu.red

Temas de implementación Remote Procedure Call (Camino Critico) El procedimiento cliente llama al stub cliente de manera transparente. Usando Stack. El stub cliente arma el mensaje y se lo envía al kernel. El kernel realiza el send del mensaje al kernel de la máquina remota. El kernel remoto le da el mensaje al stub del server El stub del server desempaqueta los parámetros y se los pasa al server. Usan Stack. El server propiamente dicho realiza su trabajo y retorna un resultado al stub. El stub del server empaqueta el valor retornado y se lo manda al kernel. El kernel remoto envía el mensaje al kernel del cliente. El kernel del cliente sube el mensaje al stub del cliente. El stub cliente desempaqueta el resultado y se lo pasa al cliente.

edu.red

Pasaje de Parámetros

edu.red

Pasaje de Parámetros Por referencia ? Por valor copy/restore

edu.red

Pasaje de Parámetros Suponemos int a, b; res: a + b (*) Reemplazamos (*) por función suma res = suma(a, b)

suma (c,d) resp:= c + d (por valor) return (resp)

edu.red

Pasaje de Parámetros O res := suma (&a, &b)

suma (c, d) resp = *c + *d return (resp) (1)

edu.red

Pasaje de Parámetros Si estamos en (1) copy/restore Stub cliente suma (c, d) c1 = *c d1 = *d Enviar servidor (suma (c1, d1) Recibir seridor (resp) Return (resp)

edu.red

Pasaje de Parámetros Stub servidor

Recibir (cliente, suma(c1, d1)) resp := c1 + d1 Enviar (cliente, resp)

edu.red

Pasaje de Parámetros Imaginemos inc(i, i) o sea i:= i +1 call inc(&i, &i)

inc (i, i) c1 = *i c2 = *i Enviar serv inc (c1, c2) Recibir serv (c1, c2)

&i = c1 &i = c2 ¿qué valor queda en i ?

edu.red

Protocolos RPC Conexión: Ventajas: comunicación más fácil, el núcleo del cliente no debe reocuparse de si los mensajes se pierden o de si no hay reconocimiento. Desventajas: En una LAN tiene pérdida de desempeño debido a que todo este software adicional estorba, además la ventaja de no perder los paquetes no tiene sentido ya que las LAN son confiables en esto.

edu.red

Protocolos RPC Sin Conexión: En general en sistemas dentro de un único edificio se utilizan protocolos sin conexión. Mientras que en redes grandes se utiliza uno orientado a conexión. * Utilizar un protocolo estándar o alguno diseñado en forma específica para RPC, por ejemplo: * IP (o UDP, integrado a IP) tiene puntos a favor: — Ya está diseñado (ahorra un trabajo considerable) — Se dispone de muchas implementaciones

edu.red

Protocolos RPC * Protocolo Detenerse y esperar (stop and wait protocol): establece que el cliente envíe el paquete y espere un reconocimiento antes de enviar el segundo paquete. * Protocolo de Chorro (Blast Protocol): establece que el cliente mande todos los paquetes y luego espere el reconocimiento del mensaje completo

edu.red

Temas de implementación Remote Procedure Call (Semántica de Fallas) El Cliente no puede ubicar al servidor EXCEPCIÓN Se pierde el msg de requerimiento del cliente al servidor Retransmisión al no recibir ACK usando TIMER El msg de respuesta del servidor se pierde Diferenciar esta falla con la anterior. (nro de secuencia) El servidor se cae luego de recibir el requerimiento A) Recibe y procesa, se cae antes de enviar la respuesta B) Se cae antes de procesar el pedido Semántica: At Lest Once – At most Once – Exactly Once El Cliente se cae Huérfanos : Reencarnación – Reencarnación Suave – Expiración Exterminación.

edu.red

Temas de Diseño de S.O. Transparencia De Locación / De Migración / De Réplica De Concurrencia / De Paralelismo Flexibilidad Monolitico / Microkernel Confiabilidad Performance Métricas Tiempo de Respuesta / Rendimiento Uso del Sistema / Capacidad consumida de Red Escalabilidad NFS no es escalable

edu.red

Consultas ? Arquitecturas MIMD Tipos / Performance Sistemas Operativos Distribuidos Modulos Sistemas Distribuidos Servicios Modelo Cliente-Servidor RPC Varias…..

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente