Académique Documents
Professionnel Documents
Culture Documents
Presentacin
Referencias Bsicas
Distributed Systems: Concepts and Design
G. Coulouris, J. Dollimore, T. Kindberg; Addison-Wesley, 2001
Sistemas Distribuidos 2
Sistemas Distribuidos 3
Direcciones de Contacto
Profesores Responsables: Erwin Mac Dowall Reynoso
(C )
<emacdowall@mail.urp.edu.pe>
Sistemas Distribuidos 4
Sistemas Distribuidos
Introduccin y Conceptos
Sistemas Distribuidos 6
Sistemas Distribuidos 7
Capacidad de crecimiento: Escalabilidad. Fiabilidad y disponibilidad: Tolerancia a fallos. Carcter abierto y heterogneo:
Estndares de interoperabilidad.
Sistemas Distribuidos 8
Prdida de mensajes y saturacin. Latencia puede provocar que al recibir un dato ya est obsoleto. La red es un elemento crtico.
Seguridad y confidencialidad
Sistemas Distribuidos 9
Servicios con alta disponibilidad y rendimiento. Sistemas distribuidos de gestin de bases de datos Aplicaciones multimedia. Sistemas industriales distribuidos y aplicaciones de control. Internet: un enorme sistema distribuido.
Sistemas Distribuidos 10
Nuevos Paradigmas de SD
Cluster Computing:
Altas prestaciones. Alta disponibilidad.
Dedicados a tareas especficas: Sistema homogneo (a menudo dedicado): Problemtica: Grado de acoplamiento, servicios distribuidos.
Nodos PCs. LAN (de propsito general o especficas).
Grid Computing:
Aprovechamiento de recursos creando un uniprocesador virtual. Restringido a una serie de tareas. Diferentes mbitos: Problemtica: Coordinacin, seguridad, carcter dinmico.
Desde intradepartamentales. Hasta intercorporativos.
Sistemas Distribuidos 11
Sistemas Distribuidos 12
Transparencia
Existen varios perfiles de transparencia:
Acceso: Manera de acceder a recurso local igual que a remoto. Posicin: Se accede a los recursos sin conocer su localizacin. Migracin: Recursos pueden migrar sin afectar a los usuarios. Concurrencia: Acceso concurrente no afecta a los usuarios. Replicacin: La existencia de rplicas no afecta a los usuarios. Fallos: La ocurrencia de fallos no afecta a los usuarios. Crecimiento: El crecimiento del sistema no afecta a los usuarios. Heterogeneidad:Carcter heterogneo no afecta a los usuarios.
Sistemas Distribuidos 13
Fiabilidad
Fiabilidad como disponibilidad:
Tericamente: OR-lgico de sus componentes. En ciertos casos: AND-lgico de varios componentes. Mecanismos: redundancia y evitar componentes crticos.
Rendimiento
Rendimiento para un servicio multiusuario:
Objetivo: Rendimiento no peor que un sistema centralizado
Intentar que muchos accesos se hagan localmente Reparto de carga entre componentes replicados
Sistemas Distribuidos 15
Capacidad de Crecimiento
Diseo de un sistema distribuido debe evitar cuellos de botella:
Componentes centralizados Tablas centralizadas Algoritmos centralizados
Estrategias:
Reparto de estructuras de datos entre varios nodos. Realizacin de parte del procesamiento en los nodos cliente.
Sistemas Distribuidos 16
Flexibilidad
SD debe ser adaptable:
facilidad para incorporar cambios y extensiones al sistema
Sistemas Distribuidos 17
Sistemas Distribuidos 19
Sistemas Distribuidos 21
Cmo lograr exclusin mutua sin memoria compartida? Cmo tratar los interbloqueos sin un estado global? Planificacin de procesos: Cada copia del sistema operativo tiene su cola de planificacin (migracin de procesos). Cmo crear un rbol de ficheros nico? Implicaciones de la falta de reloj nico, la presencia de fallos o la heterogeneidad.
Sistemas Distribuidos 22
Middleware
Middleware:
Capa de software que ejecuta sobre el sistema operativo local ofreciendo unos servicios distribuidos estandarizados. Sistema abierto independiente del fabricante. No depende del hardware y sistema operativo subyacente.
Ejemplos:
DCE (Open Group). CORBA (OMG).
SO Hardware
Sistemas Distribuidos 23
Sistemas Distribuidos 24
Servicios de Comunicacin
Tipo de comunicacin:
Punto a punto (unicast). Multipunto (multicast). Cliente/servidor
Intermediarios: Proxy, Dispatcher, Caches, ...
Modelos de interaccin:
Peer-to-peer: Equilibrio de roles. Cdigo mvil.
Tecnologas de comunicacin:
Paso de mensajes: sockets. Llamada a procedimientos remotos (RPC). Invocacin de mtodos remotos (RMI). Tecnologas de objetos distribuidos: CORBA, DCOM, EJB Servicios web.
Sistemas Distribuidos 25
Modelo Cliente/Servidor
Dos roles diferentes en la interaccin
Cliente: Solicita servicio. Servidor: Proporciona servicio.
Cliente
Respuesta
Servidor
Sistemas Distribuidos 26
Cliente
Proxy
Peticin
Servidor
Sistemas Distribuidos 27
Modelo Peer-to-Peer
Un nico rol:
Entidad
Entidad Entidad Entidad Entidad Entidad Entidad Entidad
Protocolo de dilogo
Primitivas de interaccin
Entidad
Interfaz de Dilogo
Entidad
Sistemas Distribuidos 28
Otros Modelos
Cdigo mvil:
Applets Redes activas Agentes mviles Arquitecturas homogneas, interpretacin de cdigo o mquinas virtuales (e.g. JVM). Consideraciones de seguridad. Transmisin de programa (no de los datos).
Requiere:
Las peticiones pasan a ser fragmentos de cdigo transmitido por la red. Permite modelos de comunicacin y ejecucin ms elaborados.
Sistemas Distribuidos 29
Servicios inherentes con estado (cerrojos distribuidos). Estado sobre servicios sin estado (HTTP+cookies).
Sistemas Distribuidos 30
Replicacin:
Sistemas Distribuidos 31
Servicio de Nombres
Identificacin y localizacin de recursos en el entorno distribuido. Comprende:
Servicio de nombres (pginas blancas): DNS, COS-Naming (CORBA). [Nombre del recurso Atributos del recurso] Servicio de directorio (pginas amarillas): X.500, LDAP, Active Directory. [Valores de atributos Recursos que los satisfacen]
Sistemas Distribuidos 32
Sistemas Distribuidos 33
Estrategias de implementacin:
Modelos de coherencia
Sistemas Distribuidos 34
Gestin de Procesos
Caracterizacin de la carga:
Consumo de CPU. Consumo de otros recursos (Memoria) Prioridades.
Planificacin de procesos:
Planificacin interna. Planificacin global.
Migracin de procesos
Equilibrado de carga. Aprovechamiento de mquinas inactivas.
Sistemas Distribuidos 35
Servicio de Seguridad
Tipologa de los ataques:
Privacidad y confidencialidad. Autenticacin (spoofing). Denegacin de servicio.