18
Tema 1: Introducción a los Sistemas Distribuidos Sistemas Distribuidos Marcos López Sanz [Curso 2012-2013]

Tema 1: Introducción a los Sistemas DistribuidosSSDD... · Objetivos Propiedades y ... Tanenbaum et al.: “Una colección de computadoras independientes que aparecen ante los usuarios

Embed Size (px)

Citation preview

Page 1: Tema 1: Introducción a los Sistemas DistribuidosSSDD... · Objetivos Propiedades y ... Tanenbaum et al.: “Una colección de computadoras independientes que aparecen ante los usuarios

Tema 1: Introducción a los Sistemas Distribuidos

Sistemas Distribuidos Marcos López Sanz [Curso 2012-2013]

Page 2: Tema 1: Introducción a los Sistemas DistribuidosSSDD... · Objetivos Propiedades y ... Tanenbaum et al.: “Una colección de computadoras independientes que aparecen ante los usuarios

Sistemas distribuidos – Curso 2012-2013 www.kybele.es

Índice

Definición

Objetivos

Propiedades y retos

Ventajas y desventajas

Tipos y ejemplos

Ejercicios

Dudas

Page 3: Tema 1: Introducción a los Sistemas DistribuidosSSDD... · Objetivos Propiedades y ... Tanenbaum et al.: “Una colección de computadoras independientes que aparecen ante los usuarios

Sistemas distribuidos – Curso 2012-2013 www.kybele.es

Definición

Tipos de sistemas. Ejemplos: Sistemas centralizados (años 60): recursos centralizados y

acceso mediante terminales

Sistemas unipersonales: PC, computación en un solo nodo

Sistemas en red: múltiples elementos de cómputo independientes unidos por una red

Sistemas distribuidos: visión de sistema único a partir de un conjunto de elementos interconectados

Sistemas ubicuos: sistemas distribuidos móviles

Page 4: Tema 1: Introducción a los Sistemas DistribuidosSSDD... · Objetivos Propiedades y ... Tanenbaum et al.: “Una colección de computadoras independientes que aparecen ante los usuarios

Sistemas distribuidos – Curso 2012-2013 www.kybele.es

Definición

Sistema Distribuido: Coulouris et al.: “Aquel sistema en el que los componentes localizados

en una red de computadores se comunican y coordinan sus acciones únicamente mediante el paso de mensajes” Comunicación a través de una red Concurrencia No hay reloj

Tanenbaum et al.: “Una colección de computadoras independientes que aparecen ante los usuarios del sistema como una única computadora” Sistema operativo distribuido Transparencia Virtualización

van Steen et al.: “Componente software que asegura que una colección de computadoras independientes aparece ante los usuarios como un único sistema coherente” Existencia de un software de unión Middleware Formado por elementos de computación independientes

Lesli Lamport: “You know you have one when the crash of a computer you’ve never heard of stops you from getting any work done”

Page 5: Tema 1: Introducción a los Sistemas DistribuidosSSDD... · Objetivos Propiedades y ... Tanenbaum et al.: “Una colección de computadoras independientes que aparecen ante los usuarios

Sistemas distribuidos – Curso 2012-2013 www.kybele.es

Definición

Bases/Consecuencias de la definición de SD (Coulouris): Concurrencia

Existencia de diferentes nodos de computación Se comparten recursos en la red Importancia de la coordinación entre recursos

Inexistencia de un reloj global Imposibilidad de establecer un tiempo común por la latencia de las

comunicaciones y otros factores Coordinación basada en paso de mensajes y técnicas de ordenación

de mensajes

Existencia de fallos independientes Nuevos tipos de fallos asociados a la distribución de recursos Fallos de comunicaciones más relevantes que los de nodos

Page 6: Tema 1: Introducción a los Sistemas DistribuidosSSDD... · Objetivos Propiedades y ... Tanenbaum et al.: “Una colección de computadoras independientes que aparecen ante los usuarios

Sistemas distribuidos – Curso 2012-2013 www.kybele.es

Objetivos

Objetivos primordiales de los sistemas distribuidos:

Compartir recursos (de cualquier tipo)

Conseguir transparencia (de distribución frente al usuario)

Extensibilidad (facilidad de adoptar cambios de SW/HW)

Escalabilidad (de tamaño, geográfica, administrativa)

Page 7: Tema 1: Introducción a los Sistemas DistribuidosSSDD... · Objetivos Propiedades y ... Tanenbaum et al.: “Una colección de computadoras independientes que aparecen ante los usuarios

Sistemas distribuidos – Curso 2012-2013 www.kybele.es

Propiedades y retos asociados

Propiedades de los SSDD:

Heterogeneidad

Sistemas abiertos (‘openness’)

Seguridad

Escalabilidad

Manejo de errores

Concurrencia

Transparencia

Page 8: Tema 1: Introducción a los Sistemas DistribuidosSSDD... · Objetivos Propiedades y ... Tanenbaum et al.: “Una colección de computadoras independientes que aparecen ante los usuarios

Sistemas distribuidos – Curso 2012-2013 www.kybele.es

Propiedades y retos asociados

Heterogeneidad El número de recursos distribuibles en un entorno de

red es variable

El tipo de recursos que pueden distribuirse también

Elementos distribuidos (variedad y diferenciación): Redes (¿protocolos/estándares?)

Hardware de cómputo (¿procesamiento/recurso?)

Sistemas operativos (¿llamadas?)

Lenguajes de programación (¿tipos de datos?)

Implementaciones de un mismo recurso (¿versiones?)

Page 9: Tema 1: Introducción a los Sistemas DistribuidosSSDD... · Objetivos Propiedades y ... Tanenbaum et al.: “Una colección de computadoras independientes que aparecen ante los usuarios

Sistemas distribuidos – Curso 2012-2013 www.kybele.es

Propiedades y retos asociados

Heterogeneidad (II): Posibles soluciones

Existencia de una capa de homogeneización (middleware)

CORBA

Java RMI

RPC / XML-RPC

Grid (Globus Toolkit)

Máquinas virtuales y código móvil

Java applets

Flash

Page 10: Tema 1: Introducción a los Sistemas DistribuidosSSDD... · Objetivos Propiedades y ... Tanenbaum et al.: “Una colección de computadoras independientes que aparecen ante los usuarios

Sistemas distribuidos – Curso 2012-2013 www.kybele.es

Propiedades y retos asociados

Sistemas abiertos (‘openness’) Referido a un sistema distribuido: capacidad del sistema

para poder ser extendido y reimplementado de diferentes formas (cambios sw/hw)

Grado en el que nuevos recursos pueden ser agregados al sistema sin que se vean afectadas sus capacidades

Requisitos: Que las interfaces de acceso a los recursos sean públicas

Que exista un mecanismo de comunicación común entre recursos

Que el sistema se base en estándares

Page 11: Tema 1: Introducción a los Sistemas DistribuidosSSDD... · Objetivos Propiedades y ... Tanenbaum et al.: “Una colección de computadoras independientes que aparecen ante los usuarios

Sistemas distribuidos – Curso 2012-2013 www.kybele.es

Propiedades y retos asociados

Seguridad Aspecto inherente a la distribución de información y el

paso de mensajes

Aspectos incluidos: Confidencialidad Protección frente a usuarios no

autorizados Integridad Protección frente a la corrupción de los datos Disponibilidad Protección frente a la interferencia en el

acceso a recursos

Retos pendientes Ataques de denegación de servicio (DoS) Seguridad del código móvil

Page 12: Tema 1: Introducción a los Sistemas DistribuidosSSDD... · Objetivos Propiedades y ... Tanenbaum et al.: “Una colección de computadoras independientes que aparecen ante los usuarios

Sistemas distribuidos – Curso 2012-2013 www.kybele.es

Propiedades y retos asociados

Escalabilidad Capacidad para hacer crecer un sistema mientras mantiene

sus características funcionales de forma eficiente

Retos: Control del coste físico de un recurso (¿sostenible?) Control de la pérdida de rendimiento (¿escalabilidad de los

algoritmos?) Previsión sobre los límites en el número de recursos (¿suficientes

direcciones?) Identificación de los cuellos de botella (¿recurso más saturado?)

Algunas soluciones:

Replicación de datos Técnicas de pre-carga Diversificación de las responsabilidades

Page 13: Tema 1: Introducción a los Sistemas DistribuidosSSDD... · Objetivos Propiedades y ... Tanenbaum et al.: “Una colección de computadoras independientes que aparecen ante los usuarios

Sistemas distribuidos – Curso 2012-2013 www.kybele.es

Propiedades y retos asociados

Gestión de errores (‘failure handling’) Característica propia de los SSDD: un elemento falla

pero el sistema sigue funcionando

Retos: Detección de errores (¿previsión?) Enmascaramiento de errores (¿detección/duplicación?) Tolerancia a fallos (¿redundancia/no-action?) Recuperación ante errores (¿consistencia?) Redundancia (¿replicación vs. coste?)

Objetivo:

Disponibilidad: medida de la porción de tiempo que un sistema está disponible para ser utilizado

Page 14: Tema 1: Introducción a los Sistemas DistribuidosSSDD... · Objetivos Propiedades y ... Tanenbaum et al.: “Una colección de computadoras independientes que aparecen ante los usuarios

Sistemas distribuidos – Curso 2012-2013 www.kybele.es

Propiedades y retos asociados

Concurrencia

Problema: recursos compartidos accedidos concurrentemente

Soluciones:

Propiedades transaccionales ACID (atomicity, consistency, isolation, durability)

Implementación de mecanismos de acceso (semáforos, monitores, algoritmo de la panadería de Lamport, etc.)

Page 15: Tema 1: Introducción a los Sistemas DistribuidosSSDD... · Objetivos Propiedades y ... Tanenbaum et al.: “Una colección de computadoras independientes que aparecen ante los usuarios

Sistemas distribuidos – Curso 2012-2013 www.kybele.es

Propiedades y retos asociados

Transparencia Propiedad por la cual, a pesar de la separación física de los

componentes de un sistema distribuido, el sistema se percibe como un todo en vez de como una colección de componentes individuales

Tipos de transparencia (ANSA’89 y RM-ODP’92) De acceso: acceso transparente para componentes locales y remotos De localización: independientemente de su localización física De concurrencia: independientemente del número de peticiones a

un recurso De replicación: del número de réplicas de un recurso De errores: completar tareas sin importar fallos concretos De movilidad: recolocación/envío de recursos (programas) De rendimiento: independientemente de la carga De escala: que los cambios no afecten

Page 16: Tema 1: Introducción a los Sistemas DistribuidosSSDD... · Objetivos Propiedades y ... Tanenbaum et al.: “Una colección de computadoras independientes que aparecen ante los usuarios

Sistemas distribuidos – Curso 2012-2013 www.kybele.es

Ventajas y desventajas

Ventajas Frente a sistemas centralizados

Mejora de la relación coste/rendimiento Velocidad y capacidad de cómputo frente a sistemas mainframe Algunas aplicaciones son inherentemente distribuidas (HW de cadenas

de montaje, web, mail, etc.) Tolerancia a fallos (distribución) Escalabilidad

Frente a sistemas independientes Compartición de recursos (datos y HW) Facilidad de comunicación y dispersión de la información

Desventajas

Falta de estándares para la creación de middleware (fracaso del Grid)

Saturación de las redes y dificultad para conseguir seguridad

Page 17: Tema 1: Introducción a los Sistemas DistribuidosSSDD... · Objetivos Propiedades y ... Tanenbaum et al.: “Una colección de computadoras independientes que aparecen ante los usuarios

Sistemas distribuidos – Curso 2012-2013 www.kybele.es

Tipos de sistemas distribuidos

Sistemas de computación distribuida Clustering (Cluster Computing)

Computación de altas prestaciones Múltiples sistemas independientes conectados por red

Grid Computing Compartir recursos en base a organizaciones virtuales Basado en una arquitectura de servicios

Sistemas de información distribuida

Sistemas de ficheros distribuidos Bases de datos distribuidas/federadas/en red Soluciones basadas en EAIs / ESBs ¿La Web?

Sistemas ubicuos (pervasive/ubiquitous)

Integración de la informática en el ámbito de la persona Pequeños nodos, basados en cómputos móviles, formando parte de sistemas más

amplios Ejemplos: sistemas domóticos, sistemas de salud, ¿redes de sensores?

Page 18: Tema 1: Introducción a los Sistemas DistribuidosSSDD... · Objetivos Propiedades y ... Tanenbaum et al.: “Una colección de computadoras independientes que aparecen ante los usuarios

Sistemas distribuidos – Curso 2012-2013 www.kybele.es

Ejercicios

Aplicar las propiedades anteriores al contexto de la Web y los protocolos de Internet

¿Cómo se aplican las ventajas/desventajas de los SSDD al Cloud?¿y a los modelos P2P?

¿Cuál es la incidencia de los sistemas de posicionamiento y geolocalización en los sistemas distribuidos?