Sistemas Distribuidos Modulo 1 Introducción a los Sistemas Distribuidos Sistemas distribuidos Qué es un Sistema Distribuido? Un Sistema Distribuido consiste en una colecciónde computadoras autónomas enlazadas por una red y equipadas con un sistema de software distribuido que luce a los usuarios como si fuera en sistema único y centralizado. 2 1
Sistemas distribuidos: Definiciones Máquina A Máquina B Máquina C Aplicaciones Distribuidas Servicios Middleware SO Local SO Local Red SO Local Un sistemadistribuido organizado comomiddleware. La capa middleware se extiende sobre múltiples máquinas. 3 Sistemas distribuidos Siguen algunos ejemplos... 4 2
Sistemas distribuidos: Ejemplos Una red típica Internet ISP intranet backbone enlace satelital computadora: servidor: enlace de red: 5 Sistemas distribuidos: Ejemplos Una típica intranet impresoras y otros serv servidor de correo computadoras servidor de Web LAN servidor de correo Servidor de archivos el resto de Internet router/firewall impresoras otros servidores 6 3
Sistemas distribuidos: Ejemplos Dispositivos portables y manuales en un sistema distribuido Internet intranet huesped LANinalámbrica WAP gateway Home intranet Impresora Cámara teléfono móvil Laptop Sitio huésped 7 Sistemas distribuidos: Ejemplos Servidores de Web y navegadores de Web www.google.com Web servers http://www.google.comlsearch?q=kindberg Browsers www.cdk3.net www.w3c.org Internet http://www.cdk3.net/ Sist de arch de www.w3c.org Protocols http://www.w3c.org/protocols/activity.html Activity.html 8 4
Sistemas distribuidos: Ejemplos Computadoras en Internet Fecha Computadoras Servidores de Web 1979, Dec. 188 0 1989, July 130,000 0 1999, July 56,218,000 5,560,866 Computadoras vs. servidores de Web en Internet Fechas Computadoras Servidores Web Porcentaje 1993, July 1,776,000 130 0.008 1995, July 6,642,000 23,500 0.4 1997, July 19,540,000 1,203,096 6 1999, July 56,218,000 6,598,697 12 9 Sistemas distribuidos: Ventajas Ventajas de los sistemas distribuidos vs centralizados Economía: Los microprocesadores ofrecen mejor relación precio/rendimiento que los mainframes Velocidad: Tiene mayor poder de cómputo que un mainframe. Distribución inherente: Aplicaciones en máquinas separadas geográficamente. Confiabilidad: El sistema sobrevive a cualquier falla en una máquina. Crecimiento por incrementos. 10 5
Sistemas distribuidos: Ventajas Ventajas de los sistemas distribuidos vs. las computadoras personales aisladas. Datos Compartidos:Los usuarios tienen acceso a una base de datos común. Dispositivos Compartidos: Los usuarios comparten periféricos caros. Comunicación: facilita la comunicación persona a persona. Flexibilidad: Difunde la carga entre las máquinas disponibles en forma eficaz 11 Sistemas distribuidos: Desventajas Desventajas de los sistemas distribuidos Software: Hay poco software disponible para sistemas distribuidos. La algorítmica es menos controlable. Redes: Se pueden saturar o causar otros problemas Seguridad 12 6
Sistemas distribuidos: Limitaciones Limitaciones que crean problemas tecnológicos en los SD. No existe una memoria global (cada nodo tiene su memoria local). Establecer un estado global es complejo. No se puede asegurar un tiempo global. 13 Sistemas distribuidos: Características Características y objetivos de diseño Compartir de recursos Apertura Concurrencia Tolerancia a las fallas Transparencia 14 7
Sistemas distribuidos: Transparencia Transparencia Acceso Transparente: habilita a que objetos de información locales y remotos sean accedidos usando operaciones idénticas. Locación Transparente: permite que objetos de información locales y remotos sean accedidos sin conocimiento de su locación. Concurrencia Transparente: habilita a varios procesos a operar concurrentemente sobre objetos de información compartida sin interferencias entre ellos. 15 Sistemas distribuidos: Transparencia Transparencia Replicación Transparente: implica múltiples instancias de objetos de información usados para incrementar confiabilidad y rendimiento sin conocimiento de las réplicas por los usuarios o las aplicaciones. Fallas Transparentes: permite el encubrimiento de fallas, los usuarios y/o aplicaciones completan sus tareas a despecho de fallas de hardware o software. Migración Transparente: permite el movimiento de objetos de información en el sistema sin afectar las operaciones de usuarios o aplicaciones. 16 8
Sistemas Distribuidos: Transparencia Transparencia Rendimiento Transparente: el sistema se reconfigura para mejorar el rendimiento cuando la carga varía. Escalabilidad Transparente: el sistema y las aplicaciones se expanden escalarmente sin cambiar la estructura del sistema o los algoritmos de aplicación. 17 Sistemas Distribuidos: Transparencia Transparencia Acceso Locación Migración Relocación Replicación Concurrencia Fallas Persistencia Descripción Esconde diferencias en la representación de datos y como un recurso es accedido. Esconde la locación del recurso. Esconde el movimiento de un recurso a otra locación. Esconde que un recurso pueda ser movido a otra locación mientras estáen uso. Esconde desde donde es utilizado un recurso compartido por varios usuarios competidores. Esconde que un recurso pueda ser compartido por varios usuarios competidores. Esconde la falla y recuperación de un recurso. Esconde si un recurso (software) esta en memoria o disco. 18 9
Sistemas Distribuidos: Transparencia Otro aspecto de transparencia es la Escalabilidad: el sistema y las aplicaciones se expanden escalarmente sin cambiar la estructura del sistema o los algoritmos de aplicación. Algunos ejemplos de las limitaciones de la escalabilidad Concepto Servicios Centralizados Datos Centralizados Algoritmos Centralizados Ejemplo Un único servidor para todos los usuarios. Una sola guía telefónica en línea. Ruteo basado en información completa. 19 Sistemas Distribuidos: Transparencia Ejemplo de técnica de escalamiento: dividir el espacio de nombres DNS en zonas Genérico Países 20 10