sistemas distribuidos

37
Sistemas Distribuidos Richard Jiménez V. sisdistrib.wordpress.com

Upload: ailani

Post on 24-Feb-2016

101 views

Category:

Documents


1 download

DESCRIPTION

Sistemas Distribuidos. Richard Jiménez V. sisdistrib.wordpress.com. ¿Quién soy?. Richard Jiménez Velasco Lic. en Informática en la UMSS Maestría en Informática en la UMSS Especialidad en desarrollo de aplicaciones Multimedia en Okinawa - Japón UMSS ANB Banca y Finanzas - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Sistemas  Distribuidos

Sistemas Distribuidos

Richard Jiménez V.sisdistrib.wordpress.com

Page 2: Sistemas  Distribuidos

¿Quién soy?Richard Jiménez Velasco

Lic. en Informática en la UMSS

Maestría en Informática en la UMSS

Especialidad en desarrollo de aplicaciones Multimedia en Okinawa - Japón

UMSSANBBanca y FinanzasUniversidad Católica Boliviana, UPDSEmpresas América

Page 3: Sistemas  Distribuidos

¿Quiénes son Uds?

¿Qué es un Sistema Distribuido?¿Qué es una Base de Datos Distribuida?¿Lenguajes de Programación C#, JAVA, etc.?

Page 4: Sistemas  Distribuidos

Contenido de la Materia

Sistemas DistribuidosRedes de ComputadorasSistemas Operativos distribuidosSistemas de archivos distribuidosArquitectura de los SGBD Distribuidos.Diseño de Bases de Datos Distribuidas.Fiabilidad de los Sistemas de Bases de Datos Distribuidos

Page 5: Sistemas  Distribuidos

Metodología

Lluvia de ideasParticipaciónCasos de estudiosInvestigación individual y en grupoCreatividad en los trabajosElaboración de un trabajo final

Page 6: Sistemas  Distribuidos

Evaluación

Primer Parcial 20 puntos Miércoles 16Segundo Parcial 20 puntos Martes 22Evaluación Final 20 puntosTrabajo práctico 15 puntosEvaluación por competencias 25 puntos

Page 7: Sistemas  Distribuidos

¿Qué Veremos Hoy?

Definición de Sistemas Distribuidos.Objetivo de un Sistema DistribuidoVentajas y desventajas de los Sistemas Distribuidos.Sistemas Operativos DistribuidosSistemas Operativos de Red.MiddlewaresComponentes de un Sistema Operativo Distribuido

Page 8: Sistemas  Distribuidos

Cambiando de Perspectiva …

Page 9: Sistemas  Distribuidos

Sistemas DistribuidosDefinicionesUn sistema en el cual componentes conectados através de una red de computadoras se comunican ycoordinan sus acciones mediante el intercambio demensajes”[Coulouris].Principales características:concurrencia de componentes, auscencia de relojglobal e independencia de fallos en sus componentes.

Un sistema distribuido es una colección decomputadoras independientes que dan laapariencia al usuario de ser una computadoraúnica” [Tanenbaum]

Page 10: Sistemas  Distribuidos

CaracteristicasConcurrencia.- Esta característica de los sistemas distribuidos permite que los recursos disponibles en la red puedan ser utilizados simultáneamente por los usuarios y/o agentes que interactúan en la red.

Carencia de reloj global.- Las coordinaciones para la transferencia de mensajes entre los diferentes componentes para la realización de una tarea, no tienen una temporización general, esta más bien distribuida a los componentes.

Fallos independientes de los componentes.- Cada componente del sistema puede fallar independientemente, con lo cual los demás pueden continuar ejecutando sus acciones. Esto permite el logro de las tareas con mayor efectividad, pues el sistema en su conjunto continua trabajando.

Page 11: Sistemas  Distribuidos

Objetivo

La computación distribuida ha sido diseñada para resolver problemas demasiado grandes para cualquier supercomputadora y mainframe, mientras se mantiene la flexibilidad de trabajar en múltiples problemas más pequeños.

Por lo tanto, la computación en grid es naturalmente un entorno multiusuario; por ello, las técnicas de autorización segura son esenciales antes de permitir que los recursos informáticos sean controlados por usuarios remotos.

Page 12: Sistemas  Distribuidos

Razones para Distribuir

Distribución funcional: las computadoras tienen diferencias Funcionales

Cliente / ServidorHost / TerminalRecaudación de datos / procesamiento de datosCompartir recursos para funciones específicas

Distribución inherente al dominio de la aplicación

Cajas registradoras y sistemas de inventario para cadenas de supermercados Soporte para trabajo colaborativo

Distribución/balanceo: asignar tareas a procesadores tal que todo el desempeño del sistema sea optimizado

Page 13: Sistemas  Distribuidos

Razones para DistribuirReplicación del poder de procesamiento: Procesadores independientes trabajan con la misma tarea

Sistemas distribuídos conformados por varias microcomputador as pueden tener poder de procesamiento que difícilmente una supercomputadora tendrá.10000 CPUs, cada uno corriendo a 50 MIPS, alcanzan 50000MIPS, por lo que instrucciones ejecutadas en 0.0002 nsec,equivalen a una distancia luz de 0.6 mm.

Separación física: sistemas que confían en el hecho de que las computadoras están físicamente separadas (ej. Para satisfacerrequerimiento de confiabilidad).

Económicos: colecciones de microprocesadores ofrecen una mejor cuota precio/desempeño que grandes mainframes.Mainframes: 10 veces mas rápidos, 1000 veces más caros

Page 14: Sistemas  Distribuidos

Ventajas de los SistemasDistribuidos

Economía: Buena relación rendimiento/coste– Gracias a avances en tecnología de microprocesadores y de

comunicaciones. Alto rendimiento: Procesamiento paralelo.Soporte de aplicaciones inherentemente distribuidas.– Por ejemplo: empresa distribuida geográficamente Capacidad de crecimiento: Escalabilidad. Fiabilidad y disponibilidad: Tolerancia a fallos. Carácter abierto y heterogéneo:– Necesidad de estándares de interoperabilidad. Compartir recursos y datos.

Page 15: Sistemas  Distribuidos

Desventajas de los SD

1. Falta de experiencia en el diseño e implantación y uso de software distribuido

1. Tipos de sistemas operativos, lenguajes de programación y aplicaciones son adecuados

2. Conocimiento de los usuarios de la distribución2. Redes de Comunicación

1. Perdida de mensajes.2. Saturación de la red3. Dependencia de la red baja ventajas por saturación y/o

perdida de paquetes.3. Compartir y Seguridad

1. Si las personas tienen acceso a los datos en todo el sistema, entonces también a otros que no tiene nada que ver.

Page 16: Sistemas  Distribuidos

Aplicaciones de los SistemasDistribuidos

Entornos de empresa: redes corporativas e intranets.– Sustituyen a los clásicos mainframes Entornos que requieren procesamiento paralelo.– Sustituyen a costosos supercomputadoresServicios con alta disponibilidad y rendimiento.Sistemas distribuidos de gestión de bases de datos. Aplicaciones multimedia.Sistemas industriales distribuidos y aplicaciones de control.Internet es un enorme sistema distribuido.

Page 17: Sistemas  Distribuidos

Ejemplos de Sistemas Distribuidos

Internet IntranetSistemas Multimedia DistribuidosComputación Móvil e ubicua

Page 18: Sistemas  Distribuidos

Internet

Redes heterogéneas de computadoras y aplicacionesImplementación mediante la pila de protocolos de InternetConfiguración típicaSistemas de archivos en red

Page 19: Sistemas  Distribuidos

Intranet

Redes localmente administradasGeneralmente propietarias (ej. Red del campus universitario)Interfaces con la InternetCortafuegosProporciona servicios interna y externamente.

Page 20: Sistemas  Distribuidos

Sistemas Multimedia DistribuidosFrecuentemente utilizan la infraestructura de Internet CaracterísticasFuentes de datos y recipientes heterogéneos que necesitan sersincronizados en tiempo realVideoAudioTextoFrecuentemente: Servicios distribuidosMultidifusiónEjemplosHerramientas de tele-educaciónVideo conferenciasVideo y audio en demanda

Page 21: Sistemas  Distribuidos

Sistemas de cómputo móvil

La portabilidad de los dispositivos, como ordenadores portátiles, PDA, teléfono móvil, refrigeradores, junto con su capacidad para conectar fácilmente a las redes en diferentes lugares, hace posible la computación móvil.

Computación ubicua es el aprovechamiento de los muchos pequeños dispositivos de cómputo barato que están presentes en los entornos de los usuarios físico, incluyendo el hogar, oficina y otros lugares.

Page 22: Sistemas  Distribuidos

Sistemas de Archivos en Red

Arquitectura para acceder a sistemas de archivos a través de laRedEjemplos conocidosNetwork File System (NFS), originalmente desarrollado por SUNMicrosystems para soportar acceso remoto en un contexto UNIX

Page 23: Sistemas  Distribuidos

Aspectos del diseño en los Sistemas Distribuidos

Page 24: Sistemas  Distribuidos

Transparencia

– Acceso: Manera de acceder a recurso local igual que a remoto.– Posición: Se accede a los recursos sin conocer su localización.– Migración: Recursos pueden migrar sin afectar a los usuarios.– Concurrencia: Acceso concurrente no afecta a los usuarios.– Replicación: La existencia de réplicas 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: Carácter heterogéneo no afecta a los usuarios.¿Es buena tanta transparencia?– A veces el usuario precisa conocer cómo es el sistema subyacente

Page 25: Sistemas  Distribuidos

Fiabilidad

Fiabilidad como disponibilidad:– Teóricamente: OR-lógico de sus componentes.– En ciertos casos: AND-lógico de varios

componentes.– Mecanismos: redundancia y evitar componentes

críticos.Fiabilidad como coherencia:

– Se dificulta con caching y redundanciaLa fiabilidad está relacionada con la seguridad (otro objetivo).

Page 26: Sistemas  Distribuidos

Rendimiento

Rendimiento para un servicio multiusuario:– Objetivo: Rendimiento no peor que un sistema centralizadoRendimiento para la ejecución paralela de aplicaciones:– Objetivo: Rendimiento proporcional a procesadoresempleados

Factores:• Uso de esquemas de caching– Intentar que muchos accesos se hagan localmente• Uso de esquemas de replicación– Reparto de carga entre componentes replicados• En ambos casos: Coste de mantener la coherencia

Page 27: Sistemas  Distribuidos

Capacidad de rendimiento

Diseño de un sistema distribuido debe evitar “cuellos de botella”:

– Componentes centralizados– Tablas centralizadas– Algoritmos centralizados

Características deseables en un algoritmo distribuido:– Ninguna máquina tiene información completa del estadodel sistema– Las decisiones se basan sólo en información disponiblelocalmente– El fallo de una máquina no debe invalidar el algoritmo– No debe asumir la existencia de un reloj global

Flexibilidad

Page 28: Sistemas  Distribuidos

Flexibilidad

SOD debe ser adaptable:– facilidad para incorporar cambios y extensiones alsistema

Uso preferible de arquitectura microkernelImportancia de sistemas abiertos:

– Sus interfaces y protocolos deberían ser públicos.– Contrario a ”tecnología propietaria”.– Uso de estándares siempre que sea posible.– Disponibilidad de su código fuente (libremente o

no).– Regulación por parte de un colectivo (usuarios uorganizaciones) y no por particulares (fabricantes).

Page 29: Sistemas  Distribuidos

Clases de Sistemas Distribuidos

Page 30: Sistemas  Distribuidos

Sistemas de Computación DistribuidosSistemas de Información DistribuidosSistemas Persuasivos Distribuidos

Page 31: Sistemas  Distribuidos

Una clase importante de sistemas distribuidos es la utilizada para alto rendimiento en tareas de computación. En términos generales, se puede hacer una distinción entredos subgrupos. 

Cluster

Grid

Page 32: Sistemas  Distribuidos

Cluster

En cluster de computación del hardware subyacente consiste en una colecciónde estaciones de trabajo similares o PCs, estrechamente conectadas por medio de una red de área local de  alta velocidad. Además, cada nodo ejecuta el mismo sistema operativo.

Page 33: Sistemas  Distribuidos

Cluster - Sistemas

Page 34: Sistemas  Distribuidos

ClusterLos Sistemas de cluster de computación se hicieron populares cuando la relación precio / rendimiento de los ordenadores personales y estaciones de trabajo mejoraron. En un momento determinado, se convirtió entécnica y financieramente atractiva para construir una supercomputadora , simplemente conectando un conjunto de equipos relativamente sencillos en unared de alta velocidad. En casi todos los casos, la computación en cluster se utiliza en programación paralelo donde el programa se ejecuta en paralelo envarias máquinas.

Page 35: Sistemas  Distribuidos

Grid

La situación se vuelve muy diferente en el caso de la computación en grid. Este subgrupo se compone de sistemas distribuidos que se construyen a menudo como una federación de los sistemas informáticos, en la que cada sistema puede caer bajo una administrativa diferente de dominio, y puede ser muy diferente cuando se trata de hardware, software y desplegado la tecnología de red.

Page 36: Sistemas  Distribuidos

Grid –Arquitectura de capas

Page 37: Sistemas  Distribuidos

GridEn un Grid los sistemas informáticos tienen un alto grado de heterogeneidad: no se hacen suposiciones sobre hardware, sistemas operativos, redes, dominios administrativos, de seguridad,políticas, etcUna cuestión clave en un sistema grid distribuido es que los recursos de las diferentes organizaciones se unen para permitir la colaboración de un grupo de personas o las instituciones. Esta colaboración se realiza en la forma de una organización virtual. Las personas que pertenecen a la organización virtual mismos derechos de acceso a los recursos que se proporcionan a la organización.