comunicaciأ³n en sistemas distribuidos - sistemas operativos distribuidos 7 fernando pأ©rez...

Download Comunicaciأ³n en Sistemas Distribuidos - Sistemas Operativos Distribuidos 7 Fernando Pأ©rez Costoya

If you can't read please download the document

Post on 08-Sep-2020

1 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • Sistemas Operativos Distribuidos

    Comunicación en Sistemas

    Distribuidos

    Comunicación en Sistemas

    Distribuidos

  • Sistemas Operativos Distribuidos 2

    Fernando Pérez Costoya ⎯ José Mª Peña Sánchez Mª de los Santos Pérez Hernández

    Índice

    • Introducción • Modelos/arquitecturas de interacción

    – Cliente-servidor • Aspectos de diseño del sistema de comunicaciones • Paso de mensajes

    – Sockets • Llamadas a procedimientos remotos (RPC)

    – Sun RPC • Invocación de métodos remotos (RMI)

    – Java RMI y CORBA • Servicios web • Arquitecturas orientadas a servicios (SOA)

  • Sistemas Operativos Distribuidos 3

    Fernando Pérez Costoya ⎯ José Mª Peña Sánchez Mª de los Santos Pérez Hernández

    Comunicación en SD: Alternativas

    • Sistema de comunicación: Espina dorsal del SD • Mecanismos de comunicación entre procesos:

    – Memoria compartida (DSM en SD) vs. Paso de mensajes • Paradigmas de comunicación:

    – Paso de mensajes directo (p.e. sockets, MPI, ...) – Llamadas a procedimientos remotos (RPC) – Invocación de métodos remotos (RMI)

    • Entornos distribuidos basados en objetos – Servicios web

    • Patrón de comunicación: – unidifusión versus multidifusión

    • Modelos/arquitecturas de interacción

  • Sistemas Operativos Distribuidos 4

    Fernando Pérez Costoya ⎯ José Mª Peña Sánchez Mª de los Santos Pérez Hernández

    Modelos de interacción

    • Organización lógica de componentes de aplicación distribuida – Correspondencia con nodos de SD físico

    • Arquitecturas de interacción más frecuentes – Cliente/servidor

    • Centralizada • Asimétrica • Punto único de fallo → replicación de servidor

    – Peer-to-peer (Paritaria) • Distribuida • Simétrica • No punto único de fallo

  • Sistemas Operativos Distribuidos 5

    Fernando Pérez Costoya ⎯ José Mª Peña Sánchez Mª de los Santos Pérez Hernández

    Modelo cliente/servidor

    • Dos roles diferentes en la interacción – Cliente: Solicita servicio. – Servidor: Proporciona servicio.

    • Reparto de funcionalidad (HW/SW) entre cliente y servidor: – Thick/Fat/Rich Client versus Thin/Lean/Slim Client

    Cliente Servidor

    Interfaz de Servicio Petición (args.)

    Respuesta

    Resp=Código(args)

  • Sistemas Operativos Distribuidos 6

    Fernando Pérez Costoya ⎯ José Mª Peña Sánchez Mª de los Santos Pérez Hernández

    Cliente/servidor con proxy

    • Rol adicional: Proxy (puede realizar labor de caché)

    Cliente Proxy

    Interfaz de Servicio 1 Petición (args.)

    Respuesta

    Servidor

    Interfaz de Servicio 2 Petición

    Respuesta

  • Sistemas Operativos Distribuidos 7

    Fernando Pérez Costoya ⎯ José Mª Peña Sánchez Mª de los Santos Pérez Hernández

    Cliente/servidor con múltiples servidores

    • Servicio con múltiples niveles: – Funcionalidad dividida en varios niveles (multi-tier) – P. ej. Arquitectura de aplicación web típica con 3 capas:

    • Presentación • Aplicación: lógica de negocio • Acceso a datos

    – Cada nivel puede implementarse como un servidor – Servidores actúan como clientes de otros servidores

    • Múltiples servidores cooperan para proporcionar servicio – Ejemplo: Traducir un nombre en SFD – Ejemplo: Actualización de réplicas

  • Sistemas Operativos Distribuidos 8

    Fernando Pérez Costoya ⎯ José Mª Peña Sánchez Mª de los Santos Pérez Hernández

    Código móvil

    Requiere: – Arquitecturas homogéneas, interpretación de código o máq. virtuales

    • Ejemplo: applets

    Cliente Servidor

    Interfaz de Servicio Petición

    Código

    Resp=Código(args)

  • Sistemas Operativos Distribuidos 9

    Fernando Pérez Costoya ⎯ José Mª Peña Sánchez Mª de los Santos Pérez Hernández

    Modelo editor/subscriptor

    • Subscriptor (subscriber) informa de su interés por evento – Se subscribe a una clase de mensajes (filtro por tema/contenido)

    • Editor (publisher) genera un mensaje de una cierta clase – Se envía a subscriptores interesados

    • Se puede considerar variante de C/S (editor ≈> servidor) • Paradigma de comunicación asíncrono y desacoplado

    – Editores y subscriptores no se conocen entre sí (≠ cliente/servidor) • Modelo push frente a pull de cliente/servidor

    – Implementado habitualmente con sistemas de colas de mensajes – CORBA: Servicios de eventos y de notificaciones

    • Ejemplo de uso: coherencia de caché en SFD – Cliente lee fichero y lo guarda en caché – Cliente queda subscrito a notificaciones para mantener coherencia – Si otro cliente modifica, SFD informa a clientes con copia

  • Sistemas Operativos Distribuidos 10

    Fernando Pérez Costoya ⎯ José Mª Peña Sánchez Mª de los Santos Pérez Hernández

    Modelo Peer-to-Peer (P2P)

    • Un único rol: Entidad • Cliente/servidor:

    – Recursos= ∑servidores • P2P:

    – Recursos= ∑entidades

    Entidad Entidad

    Interfaz de Diálogo

    Entidad

    Entidad

    Entidad

    Entidad

    Entidad

    Entidad

    Entidad

  • Sistemas Operativos Distribuidos 11

    Fernando Pérez Costoya ⎯ José Mª Peña Sánchez Mª de los Santos Pérez Hernández

    Algunos aspectos de P2P

    • Uso de red superpuesta (overlay): Red lógica sobre la física – Nodos de proceso como nodos de red – Esquemas de encaminamiento y localización de recursos

    • Tipos de redes P2P: Estructuradas vs. Desestructuradas • Estructuradas: Topología de conexión prefijada (p.e. anillo)

    – Localización de recursos: función hash distribuida (Chord) • Desestructuradas: Topología de conexión lógica arbitraria

    – Puramente descentralizadas (p.e. Gnutella) • “Inundación”

    – Híbridas: P2P + Cliente/servidor (p.e. Napster) • Servidor central guarda información de encaminamiento y localización

    – Parcialmente centralizadas (p.e. Kazaa) • Súper-nodos con información de encaminamiento y localización • Pero dinámicamente elegidos y asignados

  • Sistemas Operativos Distribuidos 12

    Fernando Pérez Costoya ⎯ José Mª Peña Sánchez Mª de los Santos Pérez Hernández

    Aspectos de diseño del S. comunic.

    Sistema de comunicaciones: capa sobre protocolo de transporte

    Alternativas de diseño (independientes del paradigma usado): – Grado de sincronía de la operación (y buffering)

    • Cierta confusión terminológica (no bloqueante, asíncrona, síncrona) – Fiabilidad – Comunicación con o sin conexión – Representación de datos – Eficiencia en la comunicación – Aspectos específicos del modelo cliente-servidor – Unidifusión vs. Multidifusión (Comunicación de grupo)

  • Sistemas Operativos Distribuidos 13

    Fernando Pérez Costoya ⎯ José Mª Peña Sánchez Mª de los Santos Pérez Hernández

    Grado de sincronía y buffering • Po envía M a Pd: copia entre buffers de procesos: BPo → BPd

    – Además puede haber buffers en nodo emisor BNe y/o receptor BNr • Minimizar copias entre buffers

    • De menor a mayor grado de sincronía (ejemplos de MPI) – Envío devuelve control inmediatamente (MPI_Isend)

    • No requiere BNe pero Po no puede reutilizar BPo hasta fin operación – Envío devuelve control después de BPo → BNe

    • Po puede reutilizar BPo, pero posible bloqueo si BNe lleno – MPI_Bsend aplicación reserva y proporciona BNe a sistema

    – Envío devuelve control cuando M llega a nodo receptor (BNr) • No requiere BNe; ACK de Nr a Ne

    – Envío devuelve control cuando M llega a Pd (BPd) (MPI_Ssend) • No requiere BNe ni BNr; ACK de Nr a Ne

    – Envío devuelve control cuando Pd tiene respuesta (MPI_SendRecv) • No requiere BNe ni BNr: BPo ↔ BPd ; respuesta sirve de ACK

    • Aplicable a RPC/RMI (RPC asíncronas, oneway en CORBA)

  • Sistemas Operativos Distribuidos 14

    Fernando Pérez Costoya ⎯ José Mª Peña Sánchez Mª de los Santos Pérez Hernández

    M

    Ne

    BPo

    Nr

    BPd

    Posibles buffers en comunicación

    BNe

    R

    BNr

  • Sistemas Operativos Distribuidos 15

    Fernando Pérez Costoya ⎯ José Mª Peña Sánchez Mª de los Santos Pérez Hernández

    M

    Ne

    BPo

    Nr

    BPd

    Retorno inmediato

  • Sistemas Operativos Distribuidos 16

    Fernando Pérez Costoya ⎯ José Mª Peña Sánchez Mª de los Santos Pérez Hernández

    M

    Ne

    BPo

    Nr

    BPd

    Retorno después de copia local

    MBNe

  • Sistemas Operativos Distribuidos 17

    Fernando Pérez Costoya ⎯ José Mª Peña Sánchez Mª de los Santos Pérez Hernández

    M

    Ne

    BPo

    Nr

    BPd

    Retorno después de llegada

    MBNr M

    ACK

  • Sistemas Operativos Distribuidos 18

    Fernando Pérez Costoya ⎯ José Mª Peña Sánchez Mª de los Santos Pérez Hernández

    M

    Ne

    BPo

    Nr

    BPd

    Retorno después de recepción

Recommended

View more >