sistemas distribuidosing. josé l. simón comunicación entre procesos zlos procesos (programas que...
TRANSCRIPT
![Page 1: Sistemas DistribuidosIng. José L. Simón Comunicación entre procesos zLos procesos (programas que se ejecutan) manejan items de datos estructuras zLas](https://reader036.vdocumento.com/reader036/viewer/2022070416/5665b4601a28abb57c9103a2/html5/thumbnails/1.jpg)
Sistemas Distribuidos Ing. José L. Simón
Comunicación entre procesos
Los procesos (programas que se ejecutan) manejan items de datos estructuras
Las redes transmiten mensajes serialización
![Page 2: Sistemas DistribuidosIng. José L. Simón Comunicación entre procesos zLos procesos (programas que se ejecutan) manejan items de datos estructuras zLas](https://reader036.vdocumento.com/reader036/viewer/2022070416/5665b4601a28abb57c9103a2/html5/thumbnails/2.jpg)
Sistemas Distribuidos Ing. José L. Simón
Modelos de paso de mensajes
Unicast: uno a uno
Multicast: uno a varios (grupo)
![Page 3: Sistemas DistribuidosIng. José L. Simón Comunicación entre procesos zLos procesos (programas que se ejecutan) manejan items de datos estructuras zLas](https://reader036.vdocumento.com/reader036/viewer/2022070416/5665b4601a28abb57c9103a2/html5/thumbnails/3.jpg)
Sistemas Distribuidos Ing. José L. Simón
Conceptos básicos
Paso de mensajesTransparencia de localizaciónProtocolos de pedido y respuestaMulticastPolíticas de reconocimiento y espera
![Page 4: Sistemas DistribuidosIng. José L. Simón Comunicación entre procesos zLos procesos (programas que se ejecutan) manejan items de datos estructuras zLas](https://reader036.vdocumento.com/reader036/viewer/2022070416/5665b4601a28abb57c9103a2/html5/thumbnails/4.jpg)
Sistemas Distribuidos Ing. José L. Simón
Marshalling - Unmarshalling
Es el aplanamiento de estructuras de datos para transmitirlas por la red
Normalmente implica la conversión de datos a un formato ‘exterior’ estándar
Proceso 2Proceso 1
XDR
![Page 5: Sistemas DistribuidosIng. José L. Simón Comunicación entre procesos zLos procesos (programas que se ejecutan) manejan items de datos estructuras zLas](https://reader036.vdocumento.com/reader036/viewer/2022070416/5665b4601a28abb57c9103a2/html5/thumbnails/5.jpg)
Sistemas Distribuidos Ing. José L. Simón
Marshalling
Marshalling = Aplanamiento + XDR
![Page 6: Sistemas DistribuidosIng. José L. Simón Comunicación entre procesos zLos procesos (programas que se ejecutan) manejan items de datos estructuras zLas](https://reader036.vdocumento.com/reader036/viewer/2022070416/5665b4601a28abb57c9103a2/html5/thumbnails/6.jpg)
Sistemas Distribuidos Ing. José L. Simón
Operaciones básicas de mensajes
Send( msg, dest ) envía un mensaje al destino
especificadoRecv( msg, orig )
Recibe un mensaje desde la red. ‘orig’ contiene la información del remitente
![Page 7: Sistemas DistribuidosIng. José L. Simón Comunicación entre procesos zLos procesos (programas que se ejecutan) manejan items de datos estructuras zLas](https://reader036.vdocumento.com/reader036/viewer/2022070416/5665b4601a28abb57c9103a2/html5/thumbnails/7.jpg)
Sistemas Distribuidos Ing. José L. Simón
Mensajes: modos de operación
Modo bloqueado o sincrónico: El proceso se detiene hasta que se
ejecuta completamente la operación solicitada (send o recv)
Modo asincrónico: El proceso continúa su ejecución sin
esperar la terminación de la operación
![Page 8: Sistemas DistribuidosIng. José L. Simón Comunicación entre procesos zLos procesos (programas que se ejecutan) manejan items de datos estructuras zLas](https://reader036.vdocumento.com/reader036/viewer/2022070416/5665b4601a28abb57c9103a2/html5/thumbnails/8.jpg)
Sistemas Distribuidos Ing. José L. Simón
Modo asincrónico
Hay varios mecanismos para obtener el resultado de la operación solicitada (send o recv): Encuesta (polling) Señales Interrupciones Completion Ports
![Page 9: Sistemas DistribuidosIng. José L. Simón Comunicación entre procesos zLos procesos (programas que se ejecutan) manejan items de datos estructuras zLas](https://reader036.vdocumento.com/reader036/viewer/2022070416/5665b4601a28abb57c9103a2/html5/thumbnails/9.jpg)
Sistemas Distribuidos Ing. José L. Simón
Mensajes: extremos
Un canal de mensajes se establece entre dos endpoints que presentan una abstracción de la red subyacente a los procesos intervinientes
Cada endpoint se denomina port
![Page 10: Sistemas DistribuidosIng. José L. Simón Comunicación entre procesos zLos procesos (programas que se ejecutan) manejan items de datos estructuras zLas](https://reader036.vdocumento.com/reader036/viewer/2022070416/5665b4601a28abb57c9103a2/html5/thumbnails/10.jpg)
Sistemas Distribuidos Ing. José L. Simón
Ports
El modelo de ports implementado puede soportar la transparencia de localización (Amœba, Chorus, Mach) o no (Unix Sockets)
Un mismo proceso puede usar varios ports
Para enviar un mensaje es necesario conocer el port de destino
![Page 11: Sistemas DistribuidosIng. José L. Simón Comunicación entre procesos zLos procesos (programas que se ejecutan) manejan items de datos estructuras zLas](https://reader036.vdocumento.com/reader036/viewer/2022070416/5665b4601a28abb57c9103a2/html5/thumbnails/11.jpg)
Sistemas Distribuidos Ing. José L. Simón
Unicast
Es el modelo básico aplicado en las arquitecturas Cliente-Servidor
Está basado en protocolos de pedido-respuesta (Request-Reply)
Utiliza tres operaciones primitivas
![Page 12: Sistemas DistribuidosIng. José L. Simón Comunicación entre procesos zLos procesos (programas que se ejecutan) manejan items de datos estructuras zLas](https://reader036.vdocumento.com/reader036/viewer/2022070416/5665b4601a28abb57c9103a2/html5/thumbnails/12.jpg)
Sistemas Distribuidos Ing. José L. Simón
Primitivas Cliente-Servidor
DoOperation( Port serverPort, Message req, Message rsp )
GetRequest( Port portID, Message req )
SendReply( Port clientPort, Message reply )
![Page 13: Sistemas DistribuidosIng. José L. Simón Comunicación entre procesos zLos procesos (programas que se ejecutan) manejan items de datos estructuras zLas](https://reader036.vdocumento.com/reader036/viewer/2022070416/5665b4601a28abb57c9103a2/html5/thumbnails/13.jpg)
Sistemas Distribuidos Ing. José L. Simón
Cliente-Servidor: interacción
DoOperation()
GetRequest()
SendReply()Bloqueo
Bloqueo
Cliente Servidor
![Page 14: Sistemas DistribuidosIng. José L. Simón Comunicación entre procesos zLos procesos (programas que se ejecutan) manejan items de datos estructuras zLas](https://reader036.vdocumento.com/reader036/viewer/2022070416/5665b4601a28abb57c9103a2/html5/thumbnails/14.jpg)
Sistemas Distribuidos Ing. José L. Simón
Argumentos
Formato de mensajes
ID Requerimiento
ID de proceso
ID de tipo Request, Reply
![Page 15: Sistemas DistribuidosIng. José L. Simón Comunicación entre procesos zLos procesos (programas que se ejecutan) manejan items de datos estructuras zLas](https://reader036.vdocumento.com/reader036/viewer/2022070416/5665b4601a28abb57c9103a2/html5/thumbnails/15.jpg)
Sistemas Distribuidos Ing. José L. Simón
Fallas en la transmisión
Los mensajes pueden perderse por un conjunto de causas: Descartados por emisores, receptores o
nodos intermedios de la red Red particionada Procesos que fallan
![Page 16: Sistemas DistribuidosIng. José L. Simón Comunicación entre procesos zLos procesos (programas que se ejecutan) manejan items de datos estructuras zLas](https://reader036.vdocumento.com/reader036/viewer/2022070416/5665b4601a28abb57c9103a2/html5/thumbnails/16.jpg)
Sistemas Distribuidos Ing. José L. Simón
Remote Procedure Call
Técnica que permite invocar un procedimiento en un computador remoto
Implica conocer la localización del procedimiento e intercambiar mensajes de pedido y respuesta
Utiliza un protocolo de interacción específico
![Page 17: Sistemas DistribuidosIng. José L. Simón Comunicación entre procesos zLos procesos (programas que se ejecutan) manejan items de datos estructuras zLas](https://reader036.vdocumento.com/reader036/viewer/2022070416/5665b4601a28abb57c9103a2/html5/thumbnails/17.jpg)
Sistemas Distribuidos Ing. José L. Simón
Protocolos de RPC: R
Request El cliente solicita la ejecución del
procedimiento remoto sin esperar respuesta
Ejemplo: envío de alarmas o mediciones
![Page 18: Sistemas DistribuidosIng. José L. Simón Comunicación entre procesos zLos procesos (programas que se ejecutan) manejan items de datos estructuras zLas](https://reader036.vdocumento.com/reader036/viewer/2022070416/5665b4601a28abb57c9103a2/html5/thumbnails/18.jpg)
Sistemas Distribuidos Ing. José L. Simón
Protocolos de RPC: RR
Request-Reply El cliente requiere la ejecución de un
procedimiento remoto El servidor recibe el pedido (mensaje R)
y ejecuta el procedimiento Una vez finalizada la ejecución, el
servidor empaqueta los resultados en un mensaje de respuesta (Reply) y lo envía al cliente
![Page 19: Sistemas DistribuidosIng. José L. Simón Comunicación entre procesos zLos procesos (programas que se ejecutan) manejan items de datos estructuras zLas](https://reader036.vdocumento.com/reader036/viewer/2022070416/5665b4601a28abb57c9103a2/html5/thumbnails/19.jpg)
Sistemas Distribuidos Ing. José L. Simón
Protocolos de RPC: RRARequest-Reply-Acknowlege
El cliente requiere la ejecución de un procedimiento remoto
El servidor recibe el pedido (mensaje R) y ejecuta el procedimiento
Una vez finalizada la ejecución, el servidor empaqueta los resultados en un mensaje de respuesta (Reply) y lo envía al cliente
Cuando el cliente recibe la respuesta, envía una confirmación (ACK)
![Page 20: Sistemas DistribuidosIng. José L. Simón Comunicación entre procesos zLos procesos (programas que se ejecutan) manejan items de datos estructuras zLas](https://reader036.vdocumento.com/reader036/viewer/2022070416/5665b4601a28abb57c9103a2/html5/thumbnails/20.jpg)
Sistemas Distribuidos Ing. José L. Simón
Comunicación en Grupos
Grupos:
Tolerancia a fallasMejoras en la disponibilidadMejoras en la performanceLocalización de objetosActualizaciones múltiples
![Page 21: Sistemas DistribuidosIng. José L. Simón Comunicación entre procesos zLos procesos (programas que se ejecutan) manejan items de datos estructuras zLas](https://reader036.vdocumento.com/reader036/viewer/2022070416/5665b4601a28abb57c9103a2/html5/thumbnails/21.jpg)
Sistemas Distribuidos Ing. José L. Simón
Multicast
Un emisor, un mensaje, varios receptores
![Page 22: Sistemas DistribuidosIng. José L. Simón Comunicación entre procesos zLos procesos (programas que se ejecutan) manejan items de datos estructuras zLas](https://reader036.vdocumento.com/reader036/viewer/2022070416/5665b4601a28abb57c9103a2/html5/thumbnails/22.jpg)
Sistemas Distribuidos Ing. José L. Simón
Tipificación de multicast
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.
Reliable: semántica de ‘mejor esfuerzo’: no garantiza que todos los receptores reciban el mensaje
![Page 23: Sistemas DistribuidosIng. José L. Simón Comunicación entre procesos zLos procesos (programas que se ejecutan) manejan items de datos estructuras zLas](https://reader036.vdocumento.com/reader036/viewer/2022070416/5665b4601a28abb57c9103a2/html5/thumbnails/23.jpg)
Sistemas Distribuidos Ing. José L. Simón
OrdenamientoE1 R1 R2 R3 E2
t1
Mensaje A
Mensaje B
Para R3 ‘A’ sucede antes que ‘B’
![Page 24: Sistemas DistribuidosIng. José L. Simón Comunicación entre procesos zLos procesos (programas que se ejecutan) manejan items de datos estructuras zLas](https://reader036.vdocumento.com/reader036/viewer/2022070416/5665b4601a28abb57c9103a2/html5/thumbnails/24.jpg)
Sistemas Distribuidos Ing. José L. Simón
Ordenamiento temporal
Ciertas aplicaciones requieren que los mensajes se reciban en el ordenamiento temporal en que fueron emitidos Multicast totalmente ordenado Multicast causal