1. Sistemas Distribuidos M. Farias-Elinos Faster!!! The Tim Allen View of Computing Bigger Problems I want 7 days of weather not 2 I want 1024x1024x16-bit color Most modern applications such as weather prediction, aerodynamics and artificial intelligence are very computationally intensive 1
Antecedentes Cluster Cliente / Servidor Cliente / Multiservidor Concepto de S.D. Conjunto de computadoras autónomas conectadas entre sí físicamente por medio de una red y ejecutando un software que permite la compartición de recursos 2
Concepto de S.D. Características Compartición de recursos Abierto Concurrente Escalable Tolerante a fallas 3
Características Características de un sistema distribuido Heterogenio Abierto Seguro Escalable Tolerante a fallas Concurrente Transparente Compartir Heterogeneidad Aplicado a: Redes Computadoras Sistemas operativos Lenguajes de programación Implementaciones Middleware aplicado a la capa de sfotware que ayude a mantener la heterogeneidad 4
Abierto Extendible al: Hardware Software Sistemas de computo son cerrados. UNIX es un SO menos cerrado. IBM PC rompió el esquema de arquitecturas propietarias. Seguridad Punto que generalmente se olvida Comunicación Recursos distribuidos Ataques 5
Escalabilidad Operar a diferentes escalas Workstations y servidores PCs, supercomputadoras. No solo en forma local, sino a otros niveles Internet Internet-2 Tolerancia a fallas Que pasa cuando una falla se presenta? Deteccción Enmascaramiento Tolerancia Se basa en: Redundancia del Hardware Software de recuperación. 6
Redundancia del Hardware Al menos dos computadoras son utilizadas para el mismo proceso, una de ellas actua como respaldo. Algo costoso, pero eficiente La redundancia puede manejarse via software. Software Redundante EL SW debe ser diseñado de tal manera que vigile el estado de los procesos. Procesos de transacción Administradores de réplicas. 7
Concurrencia Concurrency in a distributed system does not necessarily mean concurrency within a single program Many users invoke similar commands Many different server processes may be running Synchronization, of course, is a problem Concurrente Varios procesos ejecutandose en forma simultane (N procesadores) Esquemas Varios usuarios ejecutando la misma aplicación Varios servidores (procesos) respondiendo a diferentes clientes 8
Concurrente Transparencia Acceso Ubicscion Concurrencia Replicas Fallas Mobilidad Performance Escalabilidad Remoto o local, es el mismo camino Recursos remotos son accesibles sin conocer su lugar de origen, Varios al mismo tiempo. Copias de los procesos en otras computadoras Manejo de fallas. Cómputo movil. Reconfiguración del sistema para aumentar el performance. Permitir la actualizacion y expansion de los equipos y de las aplicaciones. 9
Compartición de recursos Hardware y Software Administrador de recursos Groupware (Soporte para trabajo cooperativo) Modelos: Cliente / Servidor Basado en objetos Cliente/Servidor Client invocation invocation Server result Server result Client Key: Process: Computer: 10
Multiservidores Service Client Server Server Client Server Web proxy Client Proxy server Web server Client Web server 11
Punto a punto Application Coordination code Application Coordination code Application Coordination code Objetos invocation Access rights Object Client result Server Principal (user) Network Principal (server) 12
Multicast Bellsouth Wireless Network Internet Bellsouth Wireless Network 3com Proxy Servers http 13
Categorías en el diseño Performance Confiabilidad Escalabilidad Consistencia Seguridad Objetivos de diseño Básicos Nombramiento Comunicación Estructura del Software Asignación de la carga de trabajo Mantenimiento de la consistencia 14
Nombramiento S.D. basados en: Compartición de recursos Transparencia Asignación de nombre al recurso Trasladar el nombre a una dirección (DNS) Consideraciones Asignar nombre apropiado a cada recurso Nombre resuelto por un identificador Comunicación Pilar de un S.D. La velocidad de trasmición es escencial La comunicación entre procesos henera: Transferencia de datos Sincronización Basado en paso de mensajes Tipos de copmunicación 15
Estructura del Software Importancia del concepto abierto Buena definición de la interface Posibilidad de configuración particular Estructura del software Centralizado Protecion y asignación de la memoria Creación y administración de procesos Manejo de periféricos Autenticaci2n y control de accesos Administración de archivos y accesos Tiempo Distribuido Protección y asignación de memoria Creaci2n y administración de procesos Comunicación entre procesos Manejo de dispositivos 16
Estructura del software Asignación de la carga de trabajo El rendimiento es un factor importante S.C. la memoria y el procesador a cargo del S.O. Factores importantes Memoria compartida Procesadores compartido Modelos 17
Pool de procesos Multiprocesador con memoria compartida 18
Tipo Mantenimiento de la consistencia Actualización Replicación Cache Falla Tiempo Interfaz de usuario Requerimientos Funcionalidad Reconfigurabilidad Calidad del servicio 19
Tendencia Internet gateway Music service Alarm service Discovery service Hotel wireless network Camera TV/PC Laptop PDA Guests devices Sistema distribuido Internet Host intranet Wireless LAN WAP gateway Home intranet Printer Camera Mobile phone Laptop Host site 20
World Wide Web www.google.com Web servers http://www.google.comlsearch?q=kindberg Browsers www.cdk3.net www.w3c.org Internet http://www.cdk3.net/ File system of www.w3c.org Protocols http://www.w3c.org/protocols/activity.html Activity.html print and other servers Intranet email server Desktop computers Web server Local area network email server File server print other servers the rest of the Internet router/firewall 21
Internet ISP intranet backbone satellite link desktop computer: server: network link: 22