Sistemas Distribuidos: Presente y Futuro

Slides:



Advertisements
Presentaciones similares
APLICACIONES DISTRIBUIDAS
Advertisements

Java Web Services Developer Arquitectura
“Fundamentos de Sistemas Distribuidos”
Grid Computing Rogelio Ferreira Escutia. 2 Computación Grid, febrero 2010 Definición La computación grid.
Arquitectura Cliente Servidor
Servicios Web XML 03 de Junio de 2004 Fernando Alonso Blázquez.
LENGUAJES PARALELOS Chang y Smith (1990) clasificación:
Multiprocesadores 3.1 Dominios de aplicación
Bases de datos distribuidas
Base de Datos Distribuidas FUNDAMENTOS DE BASES DE DATOS DISTRIBUIDAS
Sistemas de Bases de Datos Distribuidas
Universidad Nacional Autónoma de Honduras
Tecnologías Cliente / Servidor Capitulo III Richard Jiménez V. clienteserver.wordpress.com.
Sistemas Operativos Distribuidos Plataforma Cliente/Servidor
Estructura de un Sistema Operativo
INTRODUCCIÓN ESTADO DE LA TÉCNICA PROCESAMIENTO DISTRIBUIDO CON MPI PROCESAMIETNO DISTRIBUIDO DE IMÁGENES GENÉRICO CON VTK PROCESAMIENTO DISTRIBUIDO DE.
Lenguajes Servicios Web
Servicios Web.
Fecha: 11/09/13.  Todos los sistemas distribuidos constan de varias CPU, organizadas de diversas formas.  La forma de interconectarlas entre sí. 
Base de Datos Distribuidas
Java 2 Platform Enterprise Edition
Infraestructura de Tecnologías de Información
Universidad Centroamericana
Redes P2P Dr. Víctor J. Sosa-Sosa
Introducción *  Computadoras grandes y costosas  Las organizaciones tenían pocas computadoras  No existía una forma de conectarlas  Operaban.
Sistemas Operativos Distribuidos Plataforma Cliente/Servidor
Sistemas Distribuidos y Paralelos
Universidad de SonoraArquitectura de Computadoras1 PROGRAMA CION PARALELA Y DISTRIBUIDA PRESENTA: JESUS BECERRIL PACHECO MODELOS DE ACCESO A LA MEMORIA.
Bases de datos Distribuidas ITES de la región carbonífera 1 Bases de datos distribuidas.
Introducción a los Sistemas Distribuidos. Prof. Yudith Cardinale Sept – Dic 2006 Universidad Simón Bolívar Departamento de Computación y T. I Tópicos en.
Grupo de Arquitectura de Computadores Comunicaciones y Sistemas Grupo de Seguridad de las Tecnologías de la Información y las Comunicaciones Laboratorio.
X Jornadas de Paralelismo (La Manga de Mar Menor ) © Toni Cortes Docencia en Sistemas Distribuidos:
Procesamiento paralelo
OMAR SANCHEZ ROBLES HECTOR PEREZ GARCIA. “Sistemas de cómputo compuesto por un gran número de CPU´s conectados mediante una red de alta velocidad”, Tanenbaum.
INSTITUTO TECNOLÓGICO DE CD. GUZMÁN
Teoría de Sistemas Operativos Sistemas distribuidos.
Clusters Presentado por : Manuel Alejandro ahumada trochez Yenny carabali.
Introducción al modelo Cliente-Servidor Carlos Rojas Kramer Universidad Cristóbal Colón.
Desarrollo de aplicaciones para ambientes distribuidos
Un sistema de gestión de bases de datos: Es un conjunto de programas que permite a los usuarios crear y mantener una base de datos. Por tanto, el SGBD.
Servidores Conceptos Generales.
INTRODUCCIÓN. Motivación “Procesamiento distribuido significa dividir una aplicación en tareas y poner cada tarea en la plataforma donde pueda ser manejada.
TEMA 10. SISTEMAS OPERATIVOS DISTRIBUIDOS
14 de diciembre de 2005 Universidad de Murcia1 Modelos de computadores paralelos Domingo Giménez Departamento de Informática y Sistemas Universidad de.
Universidad Nacional de San Juan Facultad de Ciencias Exactas, Físicas y Naturales “WEB SERVICES” Integrantes: Ene Adriana Guevara Vanina Martínez Cintia.
PROGRAMACIÓN PARALELA Modelos de programación paralela Modelos computacionales Paradigmas de programación paralela Programación en memoria compartida:
Aplicaciones del Cómputo Móvil
NOTA: Para cambiar la imagen de esta dispositiva, seleccione la imagen y elimínela. A continuación haga clic en el icono Imágenes en el marcador de posición.
Agenda  Introducción  Relevamientos de tecnologías Objetivos de la fase de relevamiento de tecnologías Principales tecnologías disponibles -OpenMosix,
1.1 Silberschatz, Galvin y Gagne ©2002 Sistems Operativos – 6ta. Edición Capítulo 1: Introducción ¿Qué es un sistema operativo? Sistemas Operativos por.
Cloud Computing.
Departamento de Informática Universidad de Rancagua
Cluster de Computadores de Alto Desempeño con Acceso Remoto
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.
ARQUICTECTURA DE SERVIDORES
ARQUITECTURA ALTERNATIVA DE SERVIDORES SISTEMAS OPERTIVOS DE RED En un sistema operativo de red los usuarios saben que están conectados a la red y que.
Son los atributos de un sistema que son visibles para un programador, es decir aquellos atributos que impactan directamente en la ejecución lógica de un.
DESARROLLO DE APLICACIONES PARA AMBIENTES DISTRIBUÍDOS ALUMNOS: MARIANA MIGNÓN RÉDING CARLOS ANTONIO CARRASCO MARTÍNEZ PROFESOR: DR. JOSÉ BERNARDO PARRA.
BASE DE DATOS DISTRIBUIDAS
1 Temas fundamentales del Curso Conceptos básicos de Sistemas Distribuidos. Caracterización de los sistemas distribuidos. Concurrencia en Sistemas Distribuidos.
SISTEMAS OPERATIVOS Son un conjunto de programas destinados a permitir la comunicación entre el usuario y en computador y gestionar sus recursos.
Computación en la Nube.
1 Unidad I.2.- Objetivos de los Sistemas Distribuidos Ing. Luis Armando García Eliseo © Agosto 2011.
Patrón de diseño BROKER
Conociendo el modelo Cliente-Servidor
Sistemas Distribuidos Conceptos Básicos Propiedades MSI. Nancy A. Olivares Ruiz.
BASES DE DATOS DISTRIBUIDAS M.C.C. María Guadalupe Villanueva Carrasco INGENIERIA EN SISTEMAS COMPUTACIONALES.
Apuntes preparados por Néstor González Valenzuela slide 1 Arquitecturas de Sistemas Distribuidos y Paralelos.
Transcripción de la presentación:

Sistemas Distribuidos: Presente y Futuro CONTECSI 2007 Sistemas Distribuidos: Presente y Futuro M.C. Juan Carlos Olivares Rojas León, Guanajuato, México, 27 de Septiembre de 2007

Agenda Introducción Definiciones básicas Investigación ITM Tendencias Aquí debemos platicar del contenido de cada sección. Iniciar con una breve introducción del tema Investigación ITM Tendencias Conclusiones

Estado Actual de Cómputo

ENIAC – Ley de Grosch (obsoleta): Prestaciones = cto x (Precio)2

Supercomputadora Hablar de cuantas supercomputadoras existen

Evolución de la Computación 50’s-70’s: “Una computadora múltiples usuarios” 80’s-90’s: “Una computadora un usuario” 2000’s: “Un usuario múltiples computadoras” Actualmente la información es totalmente distribuida, aunque los datos centralizados se siguen utilizando.

Agenda Introducción Definiciones básicas Investigación ITM Tendencias Aquí debemos platicar del contenido de cada sección. Iniciar con una breve introducción del tema Investigación ITM Tendencias Conclusiones 7

¿Qué es un Sistema Distribuido? “Es una colección de computadoras independientes que aparecen ante los usuarios del sistema como una única computadora” (Principio de transparencia) ¿Qué es un sistema? Componentes de Hardware (Procesadores, mecanismos de interconexión) Componentes Software (programación de sistemas y aplicaciones) La mayor problemática de los SDs es la gran heterogeneidad tanto en software y en especial en hardware, ya que se necesita de mucho esfuerzo para lograr la transparencia.

Arquitecturas de cómputo Taxonomía de Flynn: SISD (Single Instruction Single Data) Procesador único. SIMD (Single Instruction Multiple Data). Procesadores vectoriales (multimedia) MISD (Multipe Instruction Single Data). No implementada MIMD (Multiple Instruction Multiple Data). Cómputo distribuido

Cómputo Distribuido La distribución del cómputo puede realizarse de diversas formas de acuerdo a su grado de acoplamiento en: Fuertemente acopladas: Multiprocesadores (memoria compartida). UMA (Uniform Memory Acces) Débilmente acopladas: Multicomputadoras (memoria privada). NUMA (Non Uniform Memory Access)

Sistemas multiprocesadores Tarjeta madre Tarjeta madre CPU 1 CPU 2 CPU n … CPU N1 Nn … Memoria Memoria Modelo Tradicional se comparte el mismo bus de datos. Los micros deben sincronizarse para evitar cuellos de botella e interbloqueos. Multinúcleos la sincronización se realiza de mejor manera. Se consume menos energía pero se disipa más calor. Modelo de n procesadores Modelo de n núcleos 11

Cómputo de Alto Desempeño http://www.top500.org/ Blue Gene

Sistemas multicomputadoras Están basados en el modelo cliente/servidor Este modelo se basa en un protocolo solicitud – respuesta. El cliente envía una solicitud de cierto servicio al servidor, el servidor realiza el trabajo y regresa el resultado de la operación. La principal ventaja de este protocolo es su sencillez, únicamente se necesita la ubicación del servidor.

Sistemas Distribuidos Cliente 1 Servidor Servidor Solicitud . Cliente Respuesta Cliente n Modelo Cliente/Servidor Tradicional Modelo Cliente/Servidor Concurrente Proxy en el lado cliente Proxy en el lado servidor Cliente Cliente El cliente realiza el front end de la aplicación, el servidor implementa el back end o la lógica del negocio Generalmente están asociado al modelo cliente/servidor (c/s). Muchos servicios de Internet siguen este modelo: Web, e-mail, etc. En el modelo c/s, el proceso cliente realiza peticiones de procesamiento al proceso servidor, realizando éste último el trabajo pesado. Existen otros modelos como P2P (par a par), cluster y grid computing. Son sistemas donde cada unidad de proceso es autónoma e independiente de las demás pero trabajan de manera conjunta. La interconexión de unidades de proceso se hace a través de redes de computadora de preferencia de altas velocidades. Este es el concepto más estandarizado de un SD. Modelo Cliente/Servidor de n capas 14

Sistemas Distribuidos P2P (Peer to Peer) los procesos son totalmente descentralizados, funcionan como clientes y servidores a la vez, existen diversas arquitecturas. Cluster es una agrupación de computadoras intercomunicadas entre sí a través de un nodo central y cuyo objetivo es realizar una tarea específica. Grid computing es muy parecido a P2P y al cluster.

Sistemas Distribuidos Grid computing se parece al cluster en que consisten en una asociación de computadoras con la única diferencia de que no existe un nodo centralizador. Está característica lo asemeja a P2P. La idea del grid es que el poder de cómputo siempre esté presente a semejanza de la red eléctrica. Esto a dado pie al software bajo demanda.

Sistemas Distribuidos C2 C0 Coordinador C1 C1 C2 … Cn Cn P2P Simétrico Cluster Asimétrico Planificador Planificador Planificador . CPU Memoria Disco C1 CPU Memoria DISCO C2 CPU MEMORIA Disco Cn Grid computing

Evolución de Sistemas Distribuidos Esquema básico de Arpanet en 1969 Amoeba

Cómputo paralelo ¿Es el cómputo paralelo un sistema distribuido? Sí y No. Depende de la implementación. Los objetivos de la programación en paralelo son: Reducir el tiempo de procesamiento utilizado por un algoritmo convencional Reducir la complejidad del algoritmo Geometría redes paralelas. Son rectas que nunca se intersectan. Visualmente en infinito parecen estarlo. Rectas paralelas comparten la misma pendientes El objetivo es distinto. En un SD el objetivo es que muchos usuarios trabajen en forma conjunta y los sistemas paralelos cuya meta es lograr la máxima rapidez de un problema. El procesamiento en paralelo implica tener dos o más procesadores trabajando en forma conjunta sobre el mismo problema, de manera que sea posible la reducción de su tiempo de solución. 19

Paralelismo A P1 Homoparalelismo B P2 A B C D C P3 D P4 A P1 B P2 Homoparalelismo: dividir las tareas en varias cargas iguales, A1, A2, A3, A4 A1 A2 A3 A4 Heteroparalelismo: dividir las tareas en partes iguales AAA, B, CC, DDDD Hetereoparalelismo A B C D C P3 D P4 20

Paralelismo El problema del paralelismo radica en que muchos algoritmos no pueden paralelizarse (son seriales o secuenciales). Existen dos tecnologías principales para realizar paralelismo: PVM (Parallel Virtual Machine) MPI (Message Passing Interface)

Sistema de Red vs. Distribuido Un Sistema de Red es totalmente autónomo en su administración (local) mientras que las decisiones en un Sistema Distribuido son globales. La mejor forma de tener una aplicación distribuida es a través del sistema operativo. Ejemplos de SOD: Amoeba, Mach, Chorus, Sprite, Plan9

Plan 9

Áreas de los SD Redes de computadoras (Internet e intranet). Sistemas operativos distribuidos. Sistemas multimedia distribuidos. Cómputo paralelo. Bases de datos distribuidas.

Áreas de los SD Sistemas de tiempo real distribuidos. Cómputo Móvil y ubicuo. Comercio Electrónico. Sistemas Distribuidos Inteligentes.

Ventajas de los SD Compartir información y otros recursos. Economizar el rendimiento (procesamiento y almacenamiento). Crecimiento incremental. Alta disponibilidad Confiabilidad (tolerancia a fallos)

Desventajas de los SD Administración más compleja (requerimientos de mayores controles de procesamiento y acceso). Costos. Interconexión de componentes. Fallas de propagación. Debido a que la tecnología de los SD aún está siendo explorada, no se tiene la experiencia suficiente en el diseño, implantación y uso del software distribuido y se debe contestar a preguntas tales como: ¿Qué tipos de sistemas operativos, lenguajes de programación y aplicaciones son los adecuados para estos sistemas?, ¿Cuánto deben saber los usuarios de la distribución? Las redes de comunicación, pueden llegar a perder mensajes, latencia de las comunicaciones o saturación de mensajes. Otra de las desventajas de los SD es la vulnerabilidad que puede sufrir la información que puede llegar a estar disponible para un gran número de usuarios del sistema.

Fallas en Sistemas Distribuidos

Desventajas de los SD Localización, recuperación y coordinación de recursos (sistema de nombre: DNS, JNDI). No se tiene disponibilidad de una memoria global y un reloj global. Seriabilización (Marshalling). Se requiere de sincronización para actualizar el estado del sistema.

Sincronización

Desventaja de los SD Concurrencia. Seguridad. Tiempo de respuesta limitado debido a las comunicaciones (ancho de banda). Se requiere más capacidad y mejores formas de almacenamiento (NFS, Coda, GFS).

Técnicas de Especificación Formal Red de Petri que representa la cena de 5 filósofos comensales

Tecnologías Distribuidas Sockets (API Berkeley, WinSocks) C, Java, C#, etc. RPC (Remote Procedure Call) C RMI (Remote Method Invocation) Java DCOM (Distributed Component Object Model) Propietario de Microsoft Es la misma tecnología pero basada en estándares abiertos, XML y la Web 33

Tecnologías Distribuidas CORBA (Common Object Request Broker Architecture): C, C++, Java, etc, .NET Remoting C#, C++, J#, etc. Servicios Web (SOA), XML (SOAP, WSDL, UDDI) Agentes móviles (JADE) Código Móvil (Applets, ActiveX)

Agenda Introducción Definiciones básicas Investigación ITM Tendencias Aquí debemos platicar del contenido de cada sección. Iniciar con una breve introducción del tema Investigación ITM Tendencias Conclusiones 35

Investigación

Investigación

Investigación

Investigación

Investigación

Investigación

Agenda Introducción Definiciones básicas Investigación ITM Tendencias Aquí debemos platicar del contenido de cada sección. Iniciar con una breve introducción del tema Investigación ITM Tendencias Conclusiones 42

Pronóstico IDC 2007 Virtualización Grid Computing Arquitectura orientada a servicios (SOA) Enterprise Information Management (EIM) Código abierto Acceso a la información Ajax Mashup Composite Model Computación Distribuida en el Ambiente (del inglés, Pervasive Computing) Recolección inteligente de datos.

Pronóstico Gartner 2007 Código abierto Virtualización Registro de servicios y repositorios Suites para la gestión de procesos de negocios Enterprise Information Management Cómputo ubicuo Acceso a la información Web 2.0 – AJAX Rich Clients Web 2.0 - Mashup Composite Model Inteligencia colectiva y comunidades

Otras Tendencias Web Semántica (¿Web 3.0?) WOA (Web Oriented Architectures). Hardware: buses y redes de alta velocidad (infiniband), ahorro energético. Domótica.

Web semántica

Conclusiones ¿Área de mayor crecimiento? Sistemas Distribuidos ¿Área de mayor demanda? ¿Área que ofrece mayores expectativas? ¿Área que hay que estudiar? Redes alta velocidad Buses infiniband SD: hw y sw construcción SOD: paln 9, plan b, amoeba, sprite, mach P2P: bittorrent, ares, Marshalling Virtualización Arq. Computadoras Tiempo Real Casos de éxito XML Sabías que: la información de la Web se replica x veces LA biblioteca más grande del mundo: 20 millones esa información se replica cada vez.

¿Preguntas? Email: jcolivar@itmorelia.edu.mx MSN: juancarlosolivares@hotmail.com Web: http://antares.itmorelia.edu.mx/~jcolivar/