Introduccion a los Sistemas Distribuidos

27
Introducción a los Sistemas Distribuidos. Prof. Yudith Cardinale Sept – Dic 2008 Universidad Simón Bolívar Departamento de Computación y T. I Sistemas Distribuidos CI-6882

Transcript of Introduccion a los Sistemas Distribuidos

Page 1: Introduccion a los Sistemas Distribuidos

Introducción a los Sistemas Distribuidos.

Prof. Yudith CardinaleSept – Dic 2008

Universidad Simón BolívarDepartamento de Computación y T. I

Sistemas DistribuidosCI-6882

Page 2: Introduccion a los Sistemas Distribuidos

Definición de Sistemas Distribuidos

Colección de computadores independientes que se presentan ante los usuarios como un único sistema coherente

Sistemas de Cómputo compuestos por un gran número de

CPUs, conectados mediante una red de alta velocidad

TRANSPARENCIA (¿OPACIDAD?)

RENDIMIENTO FIABILIDAD

SEGURIDAD ESCALABILIDAD

Page 3: Introduccion a los Sistemas Distribuidos

Definición de Sistemas Distribuidos

Aspecto de hardware: Los computadores son independientes

Aspecto de software: los usuarios piensan que existe un único sistema

Page 4: Introduccion a los Sistemas Distribuidos

Definición de Sistemas Distribuidos

Consecuencias de los sistemas distribuidos:

Concurrencia

Inexistencia de reloj global

Fallas independientes

Page 5: Introduccion a los Sistemas Distribuidos

Aspectos de Software: Conceptos

SISTEMAS PARALELOS: Buscan obtener máxima velocidad en un

problema determinado Software fuertemente acoplado

SISTEMAS DE OPERACIÓN DE REDES: Conjunto de computadores conectados por

una red Existe autonomía en cada estación La localización de los objetos no es

transparente Software débilmente acoplado Usados para sistemas heterogéneos

Page 6: Introduccion a los Sistemas Distribuidos

Arquitecturas de softwareArquitecturas de software

Un sistema distribuido permite acceso transparente

a los recursos

Un sistema de red requiere explícitamente la

localización del recursoEn los sistemas distribuidos tradicionales, los nodos no tienen dueños. En los sistemas de red, cada nodo tiene su propietario.

En los sistemas distribuidos tradicionales, cada nodo tiene instalado el mismo kernel. En los sistemas de red, los nodos pueden tener diferentes sistemas de operación.

Actualmente el concepto de sistemas distribuidos consideracualquier sistema con posibilidades de cómputo remoto y

acceso a información repartida geográficamente

Page 7: Introduccion a los Sistemas Distribuidos

Aspectos de Software: Conceptos

MIDDLEWARES: Sistemas que toman las ventajas de

los sistemas de operación distribuidos (transparencia y facilidad de uso) y los sistemas de operación de redes (escalabilidad y flexibilidad)

Se monta sobre sistemas de operación locales diferentes

Integra total heterogeneidad

Page 8: Introduccion a los Sistemas Distribuidos

Arquitecturas de softwareArquitecturas de softwareArquitectura de los Sistemas Distribuidos

Computadores y red de interconexión

Sistema de Operación

Aplicación de Servicios

MiddlewareEnmascara la heterogeneidad Proporciona un modelo de programación

Page 9: Introduccion a los Sistemas Distribuidos

Arquitecturas de softwareArquitecturas de software

Internet:

Vasta colección de redes de computadores de diferentes tipos interconectados.

Existe un medio común de comunicación (TCP/IP, SNA, BitNet) basado en pase de mensajes.

Permite acceso a servicios remotos: World Wide Web Correo electrónico Transferencias de archivos Multimedia para acceso a audio y video (música, videoconferencias, etc.)

Ejemplos de Sistemas Distribuidos:

Page 10: Introduccion a los Sistemas Distribuidos

Arquitecturas de softwareArquitecturas de software

Intranets:

Porción de Internet administrada separadamente y con un acceso limitado según políticas de seguridad local

Puede estar compuesta de varias redes locales (LANs)

La configuración de la red es responsabilidad de la organización que la administra

Por lo general se mantiene un conjunto de páginas web con acceso restringido desde el exterior

Se puede acceder a los servicios de una Intranet desde el exterior, siempre que se tenga el código de acceso.

Ejemplos de Sistemas Distribuidos:

Page 11: Introduccion a los Sistemas Distribuidos

Los Sistemas Distribuidos proveen: Transparencia Concurrencia Compartimiento de recursos Inexistencia de un reloj global Integrar heterogeneidad Fallas Independientes Ejemplos: Internet, Intranets,

Computación móvil, Computación Ubicua.

Page 12: Introduccion a los Sistemas Distribuidos

Aspectos del Diseño de los SODHETEROGENEIDAD

Importante en: redes, hardware, sistemas de operación, lenguajes de programación e implementaciones de diferentes desarrolladores

Se puede proveer con una capa middleware.

Page 13: Introduccion a los Sistemas Distribuidos

Aspectos del Diseño de los SODCOMPARTIMIENTO DE RECURSOS

Importante para reducir costos y por necesidades específicas

Se requiere de administradores de recursos para acceder, manipular y actualizar los recursos en forma confiable y consistente

Page 14: Introduccion a los Sistemas Distribuidos

Aspectos del Diseño de los SODTRANSPARENCIA

No debe hacer distinciones entre recursos locales y remotos

Debe facilitar la movilidad del usuario

Puede ser alcanzada en dos niveles: Ocultar la distribución a los Usuarios Haciendo que el sistema luzca

transparente a los programas

Page 15: Introduccion a los Sistemas Distribuidos

Aspectos del Diseño de los SODTRANSPARENCIA

Tipos de Transparencia: De localización: esconde dónde se localizan

los recursos Los usuarios no pueden indicar la ubicación

de los recursos de hardware o software machine1: proc.c

De acceso: esconde diferentes representaciones de datos y cómo son accedidos los recursos

Permite acceder los recursos locales y remotos empleando las mismas operaciones

Page 16: Introduccion a los Sistemas Distribuidos

Aspectos del Diseño de los SODTRANSPARENCIA

De migración No hay cambio de nombres cuando se

moviliza un recurso Ejemplo de lo que no debería suceder:

– Suponemos la existencia de los siguientes Sistemas de Archivos:

Page 17: Introduccion a los Sistemas Distribuidos

Aspectos del Diseño de los SODTRANSPARENCIA

Ejemplo (cont.):– Vista después del montaje:

– Rutas a Pacman: /Juegos/Pacman /Trabajo/Juegos/Pacman

Page 18: Introduccion a los Sistemas Distribuidos

Aspectos del Diseño de los SODTRANSPARENCIA

Ejemplo (cont.):– Si el archivo Pacman en el Servidor 1 se

cambiara al directorio Entretenimiento del Servidor 2, las rutas anteriores serían inválidas para ambos clientes.

No habría transparencia de migración, aunque si de localización.

Page 19: Introduccion a los Sistemas Distribuidos

Aspectos del Diseño de los SOD TRANSPARENCIA

De replicación El SO copia los archivos más usados en

los diferentes servidores sin que lo noten los usuarios

Cada servidor tiene toda la estructura del árbol de directorios

Page 20: Introduccion a los Sistemas Distribuidos

Aspectos del Diseño de los SOD TRANSPARENCIA

De concurrencia Los usuarios no deben notar la existencia de

otros cuando accedan a un mismo recurso.

De paralelismo Ideal: Los programadores y usuarios no

necesitan indicar en forma explícita cómo se van a distribuir sus procesos y datos (El Sistema de Operación se ayuda con el complilador).

Frente a fallas: esconde la falla y recuperación de un recurso

Page 21: Introduccion a los Sistemas Distribuidos

Aspectos del Diseño de los SOD CONFIABILIDAD

Si una máquina falla, otra se puede encargar de su trabajo.

Aspectos: Disponibilidad (fracción del tiempo

que el sistema es usable). Principios de diseño:

No debe requerir el funcionamiento simultáneo de un número sustancial de componentes críticos.

Redundancia de software y de hardware

Page 22: Introduccion a los Sistemas Distribuidos

Aspectos del Diseño de los SOD CONFIABILIDAD

Consistencia e Integridad. Protección contra la alteración o corrupción

Confidencialidad. Proteger los recursos contra el acceso no

autorizado. Tolerancia a fallas y recuperación.

Ocultar las fallas a los usuarios.El sistema debe continuar funcionando cuando se enfrente a fallas,aunque sea de manera degradada.

La degradación debe ser proporcional a las fallas Se debe proveer detección y enmascaramiento

de fallas

Page 23: Introduccion a los Sistemas Distribuidos

Aspectos del Diseño de los SOD RENDIMIENTO

Cuando se ejecuta una aplicación en un Sistema Distribuido, no debe parecer peor que su ejecución en un único procesador.

Métricas: Tiempo de Respuesta Throughput ( Número de trabajos por hora) Utilización del Sistema Cantidad de la capacidad de la red

consumida.

Page 24: Introduccion a los Sistemas Distribuidos

Aspectos del Diseño de los SOD ESCALABILIDAD

Se mide en 3 dimensiones: Tamaño: cuán fácil puede soportar

crecimiento en usuarios y recursos Geográfica: qué tan lejos pueden estar

los usuarios Administrativa: qué tan fácil se

controlan los recursos incluso con diferentes organizacines administrativas participantes

Page 25: Introduccion a los Sistemas Distribuidos

Aspectos del Diseño de los SOD ESCALABILIDAD

Capacidad del Sistema para adaptarse a un incremento de la carga del servicio, adaptarse a la comunidad de usuarios y permitir la integración de recursos adicionales.

Su rendimiento debe degradarse con mayor moderación que el de un sistema no escalar.

Sus recursos deben llegar a un estado de saturación más tardío que en un sistema no escalar.

Page 26: Introduccion a los Sistemas Distribuidos

Aspectos del Diseño de los SOD ESCALABILIDAD

Principios para diseñar sistemas a gran escala No deben emplearse esquemas de control

central ni recursos centrales (Servidores, tablas o algoritmos centralizados)

>> Cuellos de Botella Deben ser sistemas abiertos que

permitan: Inclusión de recursos a la red Introducción de servicios y reimplementación

de los existentes Independencia de proveedores

Page 27: Introduccion a los Sistemas Distribuidos

Aspectos del Diseño de los SOD CONSISTENCIA

De actualizacción En la replicación Del cache En las fallas De reloj En la interfaz con el usuario