Professional Documents
Culture Documents
Referencias f Bsicas
Distributed Systems: Concepts and Design G Coulouris, G. Coulouris J. J Dollimore y T T. Kindberg; Addison-Wesley Addison Wesley Distributed Operating Systems A. S. Tanenbaum; Prentice-Hall Distributed Systems: y Principles p and Paradigms g A. S. Tanenbaum y M. Van Steen; Prentice-Hall Distributed Operating Systems: Concepts & Practice D. L. Galli; Prentice-Hall Distributed Operating Systems & Algorithms R. Chow y T. Johnson; Addison-Wesley
C t id Contenido
Definicin de Sistemas Distribuidos. Distribuidos Ventajas y desventajas de los Sistemas Distribuidos. Objetivo de un Sistema Distribuido Sistemas Operativos Distribuidos Sistemas Operativos de Red. Middlewares Componentes de un Sistema Operativo Distribuido
Si Sistemas Di Distribuidos ib id
Definiciones
Un sistema en el cual componentes conectados a t de travs d una red d de d computadoras t d se comunican i y coordinan sus acciones mediante el intercambio de mensajes[Coulouris]. j [ ] Principales p caractersticas: concurrencia de componentes, auscencia de reloj global e indepencia de fallos en sus componentes. Un sistema distribuido es una coleccin de p independientes p que dan la q computadoras apariencia al usuario de ser una computadora nica [Tanenbaum]
Distribucin funcional: las computadoras tienen funcionales z Cliente / Servidor z Host / Terminal z Recaudacin de datos / procesamiento de datos z Compartir recursos para funciones especficas
diferencias
Distribucin inherente al dominio de la aplicacin z Cajas registradoras y sistemas de inventario para cadenas de supermercados p z Soporte para trabajo colaborativo Distribucin/balanceo: asignar tareas a procesadores tal que todo el l desempeo d del d l sistema i sea optimizado. i i d
Replicacin del poder de procesamiento: procesadores independientes trabajan con la misma tarea z Sistemas distribuidos conformados por varias microcomputadoras pueden tener poder de procesamiento que difcilmente una supercomputadora tendr. 10000 CPUs, cada uno corriendo a 50 MIPS, alcanzan 50000 MIPS, por lo que instrucciones ejecutadas en 0.0002 nsec, equivalen a una distancia luz de 0.6 mm. Separacin fsica: sistemas que confan en el hecho de que las computadoras estn fsicamente separadas (ej. (ej Para satisfacer requerimiento de confiabilidad). Econmicos: colecciones de microprocesadores ofrecen una mejor cuota precio/desempeo i /d que grandes d mainframes. i f z Mainframes: 10 veces mas rpidos, 1000 veces ms caros
Se requiere compartir datos y recursos entre usuarios Mejora la comunicacin persona-a-persona Flexibilidad: diferentes computadoras con diferentes capacidades pueden ser compartidas entre usuarios
Problemas conectados
con
la
distribucin,
sistemas
Software como disearlo y manejarlo en un SD Dependencia de la infraestructura de red subyacente (el world wide web..) Fcil acceso a datos compartidos origina necesidades de seguridad
T Transparencia i
Existen varios perfiles de transparencia: Acceso: Manera de acceder a recurso local igual que a remoto 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 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. Es buena tanta transparencia? A veces el usuario precisa conocer cmo es el sistema subyacente
Fi bilid d Fiabilidad
Fiabilidad como disponibilidad: Tericamente: OR-lgico de sus componentes. En ciertos casos: AND-lgico de varios componentes. Mecanismos: redundancia y evitar componentes crticos. Fiabilidad como coherencia: Se dificulta con caching y redundancia La fiabilidad est relacionada con la seguridad (otro objetivo).
R di i t Rendimiento
Rendimiento para un servicio multiusuario: Objetivo: Rendimiento no peor que un sistema centralizado Rendimiento para la ejecucin paralela de aplicaciones: Objetivo: Rendimiento proporcional a procesadores empleados p Factores: Uso de esquemas de caching Intentar que muchos accesos se hagan localmente Uso de esquemas de replicacin Reparto de carga entre componentes replicados En ambos casos: Coste de mantener la coherencia
Capacidad de crecimiento
Diseo de un sistema distribuido debe evitar cuellos de botella: Componentes centralizados Tablas centralizadas Algoritmos centralizados Caractersticas C t ti deseables d bl en un algoritmo l it di distribuido: t ib id Ninguna mquina tiene informacin completa del estado del sistema Las decisiones se basan slo en informacin disponible localmente El fallo de una mquina no debe invalidar el algoritmo No debe asumir la existencia de un reloj global
Fl ibilid d Flexibilidad
SOD debe ser adaptable: facilidad para incorporar cambios y extensiones al sistema Uso preferible de arquitectura microkernel Importancia de sistemas abiertos: Sus interfaces y protocolos deberan ser pblicos. Contrario a tecnologa propietaria. Uso de estndares siempre que sea posible. Disponibilidad de su cdigo fuente (libremente o no). Regulacin por parte de un colectivo (usuarios u organizaciones) y no por particulares (fabricantes) (fabricantes).
Middleware Middl
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 C (Open (O G Group). ) CORBA (OMG).
S Servicios i i de d comunicacin i i
Modelos de interaccin: Cliente/servidor (2-niveles, 3-niveles o n-niveles) Peer-to-peer: Equilibrio de roles. Intermediarios: Proxy, Dispacher, Caches, ... Comunicacin en grupo (Multicast) Cdigo Cdi mvil. il Tecnologas de comunicacin: Paso de mensajes: sockets. sockets Llamada a procedimientos remotos (RPC). Invocacin de mtodos remotos (RMI). Tecnologas de objetos distribuidos: CORBA, DCOM, EJB - Servicios Web
Servicio de nombres
Identificacin y localizacin de recursos en el entorno distribuido. Comprende: Servicio de nombres (pginas blancas): DNS, COSNaming (CORBA). Servicio de directorio (pginas amarillas): X.500, LDAP, Active Directory de Windows, UDDI (Web Services). Estrategias de resolucin de nombres Arquitectura de los servicios. Almacenamiento intermedio: caching. Replicacin y coherencia.
Estrategias de implementacin: Basada en pginas. pginas Basada en variables compartidas. Basada en objetos. Modelos de coherecia
G Gestin de Procesos
Estrategias de asignacin de procesadores Planificacin de procesos: Planificacin interna. Planificacin global. Migracin de procesos Equilibrado de carga. Aprovechamiento p de mquinas q inactivas.
S Servicio i i de d Seguridad S id d
Tipologa de los ataques: Privacidad y confidencialidad. Autenticacin (spoofing). Denegacin de servicio. Modelos y herramientas de seguridad: Cifrado: clave pblica (RSA) y privada (DES). Protocolos de seguridad: IPsec, SSL. Certificados y firmas digitales: digitales X.509. X 509 Elementos de seguridad: Firewalls. Entornos de seguridad: p. p ej. ej Kerberos. Kerberos
1. Heterogeneidad de:
Infraestructura de la red subyacente, Computadoras hardware y software
(ej. Sistemas operativos, comparar sockets UNIX y llamadas Winsock), Winsock) Lenguajes de programacin (en particular, representacin de datos). Algunas metodologas
Middleware (ej. CORBA): trasparencia de red, heterogeneidad de hardware y software y lenguajes de programacin. Cdigo mvil (ej. JAVA): transparencia desde el hardware, software y heterogeneidad de lenguajes de programacin mediante el concepto de mquina virtual.
2. Apertura
z
3. Seguridad
z z z z
5. Manejo de fallas
z z
Tolerancia
Manejo de excepciones (ej. Pausas en esperas de respuestas de la
web) b)
z
Redundancia
encaminadores redundantes en la red Replicacin de tablas de nombres en mltiples dominios de servidores
de nombres
6. Concurrencia
z z
Planificacin consistente de hilos concurrentes (con lo que se mantiene la dependencia, ej. En transacciones concurrentes) Se evitan problemas de deadlocks y livelocks.
7. Transparencia: ocultamiento de la heterogeneidad y distribucin natural de los sistemas, lo cual aparece ante el usuario como un solo sistema.
z
Retransmisin de e-mails
Movilidad: permite mover recursos Desempeo: adopcin de los sistemas para variar situaciones de carga sin que
el usuario lo perciba
Escalamiento: permite que el sistema y las aplicaciones se expandan sin
Ej Ejemplos l
1. La Internet
z z z
Redes heterogneas de computadoras y aplicaciones Implementacin p mediante la p pila de p protocolos de Internet Configuracin tpica:
intranet
ISP
backbone
Ej Ejemplos l
sincronizados en tiempo real Video Audio Texto Frecuentemente: Servicios distribuidos Multidifusin Ejemplos Herramientas de tele-educacin Video conferencias Video y audio en demanda
Ej Ejemplos l
3. Intranets
z z z z
Redes localmente administradas Generalmente propietarias (ej. Red del campus universitario) Interfaces con la Internet
Cortafuegos
Desktop computers
Web server
email server File server print other servers the rest of the Internet router/firewall
Ej Ejemplos l
Radio frecuencias Tiempos de transmisin en una frecuencia (UMTS: multiplexado) El mvil en movimiento Computadoras porttiles LANs inalmbricas Dispositivos handheld, handheld PDAs, PDAs etc. etc Dispositivos porttiles
Internet
Host intranet
Wireless LAN
WAP gateway
Home intranet
Printer Camera
Host site
Ej Ejemplos l
5. Sistemas embebidos
z z z
embebidos autnomos
Conectados mediante canales Lan propietarios
z z
Ej Ejemplos l
6. Sistemas de telefona
z
Ejemplos
Comparticin de recursos
Redes Administracin Telfonos
7. Administracin de la red
z z z
Ej Ejemplos l
de Recursos (URL)
Variantes: Webs basadas en intranets.
Cl t Clsters
Tipo de sistema distribuido muy popular Dedicado a una tarea especfica Computacin paralela Servicios escalables y de alta disponibilidad Ejemplo: Google usa un clster con 6000 procesadores Sistema homogneo basado en componentes estndar Gestin de procesos ms coordinada que en SD general Seguridad S id d slo l requerida id si i est t expuesto t al l exterior t i