Sistemas Distribuidos Caracterización
Temario Características Sistemas centralizados y sistemas en red El modelo de propiedades y servicios Propiedades globales Conclusión
Características Un sistema distribuido consiste en varias computadoras (2..n) haciendo algo en conjunto Campo de aplicación de propósito general Heterogeneidad de tamaños y plataformas Ejemplos: banking, red celular, control de tráfico aéreo, etc.
Componentes del Sistema Distribuido: Múltiples Computadoras: cada una con su CPU, memoria local, almacenamiento, E/S Interconexiones: vínculos de E/S que unen las computadoras entre si. Estado Compartido: todas las computadoras colaboran para mantener un estado compartido global
Precondiciones Falla Independiente: la falla de una computadora no implica la falla de otras Comunicación no Confiable: las conexiones entre computadoras pueden fallar, volverse indisponibles o alterar los datos que transmiten
Precondiciones (II) Comunicación Insegura: las interconexiones están sujetas a escuchas y/o alteraciones no autorizadas Comunicación Costosa: las interconexiones entre computadoras son usualmente de < ancho de banda, > latencia y > costo que las disponibles entre procesos dentro de una computadora
Conceptos Fundamentales Compartición de recursos Apertura Concurrencia Escalabilidad Tolerancia a fallas Transparencia
Transparencia Desde la percepción del usuario y el desarrollador de aplicaciones: Acceso: idénticas operaciones para acceder a objetos locales o remotos Concurrencia: acceso simultáneo a recursos compartidos Replicación: uso de copias distribuidas
Transparencia (II) Fallas Migración Perfomance: distribución y equilibrio de cargas Escala
Evolución Histórica [1] Procesamiento Centralizado (timesharing)
Evolución Histórica (II) [2] Redes locales
Evolución Histórica (III) [3] Internet
Redes Vs. Sistemas Centralizados Distribución geográfica Computadoras de costo reducido Crecimiento en incrementos pequeños Compras independientes Falla independiente Acceso uniforme a la información Un solo dominio de nombres, funciones y seguridad Administración centralizada Entorno controlado Punto simple de falla
Fallas A B X * Falla B? * Falla el vínculo?
Síntesis El SD ideal debería tener: La accesibilidad, coherencia y administrabilidad de los Sistemas Centralizados, mas El crecimiento, costo y autonomía de los sistemas en red, mas Seguridad y disponibilidad
Modelo de Propiedades y Servicios Define al SD ideal como: Un conjunto heterogéneo de hardware, software y datos, Cuyo tamaño y distribución geográfica varía en un amplio rango Conectado por una red
Modelo de Propiedades y Servicios (II) Prestando un conjunto de servicios: Nombres Invocación remota Registración de usuarios Tiempo Archivos Etc.
Modelo de Propiedades y Servicios (III) Con propiedades globales: Nombres Acceso Seguridad Administración Disponibilidad
Modelo de Propiedades y Servicios (IV) Coherencia: servicios uniformes y propiedades globales Heterogeneidad: Plataformas, sistemas operativos e infraestructura de red
Propiedades Globales Nombres: Máquinas Usuarios Archivos Servicios Grupos de control de acceso
Propiedades Globales (II) Acceso: las mismas funciones son utilizables en cualquier punto del SD con perfomance razonable coherencia de datos. Seguridad: la autenticación de usuarios y el control de acceso son independientes del punto de entrada al sistema
Propiedades Globales (III) Administración: todos los componentes administrables del sistema ofrecen una interface homogénea Disponibilidad: todos los servicios estarán disponibles frente a caídas parciales del SD, en la medida en que no excedan la tolerancia a fallas prevista.
Servicios Nombres: acceso de una BDD distribuida y replicada de nombres globales y valores asociados Invocación Remota (RPC): interface estándar de acceso programático a los servicios remotos Registración de Usuarios: emite los certificados que permiten el acceso a recursos
Servicios (II) Tiempo: provee una referencia temporal global consistente y precisa Archivos: provee acceso a un sistema de archivos (filesystem) global replicado, a través de interfaces estándar