Comunicacin entre procesos z Los procesos programas que

  • Slides: 24
Download presentation
Comunicación entre procesos z. Los procesos (programas que se ejecutan) manejan items de datos

Comunicación entre procesos z. Los procesos (programas que se ejecutan) manejan items de datos estructuras z. Las redes transmiten mensajes serialización Sistemas Distribuidos Ing. José L. Simón

Modelos de paso de mensajes z. Unicast: uno a uno z. Multicast: uno a

Modelos de paso de mensajes z. Unicast: uno a uno z. Multicast: uno a varios (grupo) Sistemas Distribuidos Ing. José L. Simón

Conceptos básicos z. Paso de mensajes z. Transparencia de localización z. Protocolos de pedido

Conceptos básicos z. Paso de mensajes z. Transparencia de localización z. Protocolos de pedido y respuesta z. Multicast z. Políticas de reconocimiento y espera Sistemas Distribuidos Ing. José L. Simón

Marshalling - Unmarshalling z. Es el aplanamiento de estructuras de datos para transmitirlas por

Marshalling - Unmarshalling z. Es el aplanamiento de estructuras de datos para transmitirlas por la red z. Normalmente implica la conversión de datos a un formato ‘exterior’ estándar XDR Proceso 1 Sistemas Distribuidos Proceso 2 Ing. José L. Simón

Marshalling z. Marshalling = Aplanamiento + XDR Sistemas Distribuidos Ing. José L. Simón

Marshalling z. Marshalling = Aplanamiento + XDR Sistemas Distribuidos Ing. José L. Simón

Operaciones básicas de mensajes z. Send( msg, dest ) yenvía un mensaje al destino

Operaciones básicas de mensajes z. Send( msg, dest ) yenvía un mensaje al destino especificado z. Recv( msg, orig ) y. Recibe un mensaje desde la red. ‘orig’ contiene la información del remitente Sistemas Distribuidos Ing. José L. Simón

Mensajes: modos de operación z. Modo bloqueado o sincrónico: y. El proceso se detiene

Mensajes: modos de operación z. Modo bloqueado o sincrónico: y. El proceso se detiene hasta que se ejecuta completamente la operación solicitada (send o recv) z. Modo asincrónico: y. El proceso continúa su ejecución sin esperar la terminación de la operación Sistemas Distribuidos Ing. José L. Simón

Modo asincrónico z. Hay varios mecanismos para obtener el resultado de la operación solicitada

Modo asincrónico z. Hay varios mecanismos para obtener el resultado de la operación solicitada (send o recv): y. Encuesta (polling) y. Señales y. Interrupciones y. Completion Ports Sistemas Distribuidos Ing. José L. Simón

Mensajes: extremos z. Un canal de mensajes se establece entre dos endpoints que presentan

Mensajes: extremos z. Un canal de mensajes se establece entre dos endpoints que presentan una abstracción de la red subyacente a los procesos intervinientes z. Cada endpoint se denomina port Sistemas Distribuidos Ing. José L. Simón

Ports z. El modelo de ports implementado puede soportar la transparencia de localización (Amœba,

Ports z. El modelo de ports implementado puede soportar la transparencia de localización (Amœba, Chorus, Mach) o no (Unix Sockets) z. Un mismo proceso puede usar varios ports z. Para enviar un mensaje es necesario conocer el port de destino Sistemas Distribuidos Ing. José L. Simón

Unicast z. Es el modelo básico aplicado en las arquitecturas Cliente-Servidor z. Está basado

Unicast z. Es el modelo básico aplicado en las arquitecturas Cliente-Servidor z. Está basado en protocolos de pedidorespuesta (Request-Reply) z. Utiliza tres operaciones primitivas Sistemas Distribuidos Ing. José L. Simón

Primitivas Cliente-Servidor z Do. Operation( Port server. Port, Message req, Message rsp ) z

Primitivas Cliente-Servidor z Do. Operation( Port server. Port, Message req, Message rsp ) z Get. Request( Port port. ID, Message req ) z Send. Reply( Port client. Port, Message reply ) Sistemas Distribuidos Ing. José L. Simón

Cliente-Servidor: interacción Cliente Servidor Get. Request() Do. Operation() Bloqueo Send. Reply() Bloqueo Sistemas Distribuidos

Cliente-Servidor: interacción Cliente Servidor Get. Request() Do. Operation() Bloqueo Send. Reply() Bloqueo Sistemas Distribuidos Ing. José L. Simón

Formato de mensajes ID de tipo ID Requerimiento ID de proceso Argumentos Sistemas Distribuidos

Formato de mensajes ID de tipo ID Requerimiento ID de proceso Argumentos Sistemas Distribuidos Ing. José L. Simón Request, Reply

Fallas en la transmisión z. Los mensajes pueden perderse por un conjunto de causas:

Fallas en la transmisión z. Los mensajes pueden perderse por un conjunto de causas: y. Descartados por emisores, receptores o nodos intermedios de la red y. Red particionada y. Procesos que fallan Sistemas Distribuidos Ing. José L. Simón

Remote Procedure Call z. Técnica que permite invocar un procedimiento en un computador remoto

Remote Procedure Call z. Técnica que permite invocar un procedimiento en un computador remoto z. Implica conocer la localización del procedimiento e intercambiar mensajes de pedido y respuesta z. Utiliza un protocolo de interacción específico Sistemas Distribuidos Ing. José L. Simón

Protocolos de RPC: R z. Request y. El cliente solicita la ejecución del procedimiento

Protocolos de RPC: R z. Request y. El cliente solicita la ejecución del procedimiento remoto sin esperar respuesta y. Ejemplo: envío de alarmas o mediciones Sistemas Distribuidos Ing. José L. Simón

Protocolos de RPC: RR z. Request-Reply y. El cliente requiere la ejecución de un

Protocolos de RPC: RR z. Request-Reply y. El cliente requiere la ejecución de un procedimiento remoto y. El servidor recibe el pedido (mensaje R) y ejecuta el procedimiento y. Una vez finalizada la ejecución, el servidor empaqueta los resultados en un mensaje de respuesta (Reply) y lo envía al cliente Sistemas Distribuidos Ing. José L. Simón

Protocolos de RPC: RRA z. Request-Reply-Acknowlege y. El cliente requiere la ejecución de un

Protocolos de RPC: RRA z. Request-Reply-Acknowlege y. El cliente requiere la ejecución de un procedimiento remoto y. El servidor recibe el pedido (mensaje R) y ejecuta el procedimiento y. Una vez finalizada la ejecución, el servidor empaqueta los resultados en un mensaje de respuesta (Reply) y lo envía al cliente y. Cuando el cliente recibe la respuesta, envía una confirmación (ACK) Sistemas Distribuidos Ing. José L. Simón

Comunicación en Grupos: Tolerancia a fallas Mejoras en la disponibilidad Mejoras en la performance

Comunicación en Grupos: Tolerancia a fallas Mejoras en la disponibilidad Mejoras en la performance Localización de objetos Actualizaciones múltiples Sistemas Distribuidos Ing. José L. Simón

Multicast Un emisor, un mensaje, varios receptores Sistemas Distribuidos Ing. José L. Simón

Multicast Un emisor, un mensaje, varios receptores Sistemas Distribuidos Ing. José L. Simón

Tipificación de multicast z. Atómico: un mensaje transmitido a un grupo de receptores es

Tipificación de multicast z. Atómico: un mensaje transmitido a un grupo de receptores es recibido por todos o ninguno. Se utiliza con servidores replicados que deben mantener el mismo estado. z. Reliable: semántica de ‘mejor esfuerzo’: no garantiza que todos los receptores reciban el mensaje Sistemas Distribuidos Ing. José L. Simón

Ordenamiento E 1 t 1 R 2 R 3 E 2 Mensaje B Mensaje

Ordenamiento E 1 t 1 R 2 R 3 E 2 Mensaje B Mensaje A Para R 3 ‘A’ sucede antes que ‘B’ Sistemas Distribuidos Ing. José L. Simón

Ordenamiento temporal z. Ciertas aplicaciones requieren que los mensajes se reciban en el ordenamiento

Ordenamiento temporal z. Ciertas aplicaciones requieren que los mensajes se reciban en el ordenamiento temporal en que fueron emitidos y. Multicast totalmente ordenado y. Multicast causal Sistemas Distribuidos Ing. José L. Simón