Introducción al Computo Distribuido

Documentos relacionados
PROCESAMIENTO DISTRIBUIDO

TEMA 1. Introducción a las arquitecturas distribuidas

TEMA 10 INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS DISTRIBUIDOS. Introducción Hardware Software Aspectos de diseño

TEMA 9. SISTEMAS OPERATIVOS DISTRIBUIDOS

Sistemas Paralelos y Distribuidos

Nube Canaima y Clientes Ligeros

Introducción a los sistemas distribuidos. Jorge Iván Meza Martínez

Introducción a los Sistemas Multiprocesadores

PROCESOS E HILOS - Hilo

6. Enumere tres ventajas de los ULT frente a los KLT.

Diseño de Sistemas Distribuidos Máster en Ciencia y Tecnología Informática Curso Presentación e introducción

Tema 1: Introducción a los Sistemas Distribuidos. Sistemas Distribuidos Marcos López Sanz [Curso ]

1. Introducción 2. S.O. de Red. NFS 3. S.O. Distribuidos 4. Características de Diseño. Tema5: Sistemas Operativos Distribuidos

Facultad de Ingeniería Industrial y de Sistemas v1.0 MA781U PROCESOS DISTRIBUIDOS

Ingeniería en computación Tipos de sistemas operativos

Sistemas Operativos Distribuidos. Sistemas Operativos Una visión aplicada

Ingeniería en Computación

6.1 Base De Datos Centralizada

Memoria compartida simétrica

Clústeres y procesamiento en paralelo XE1GNZ J O R G E F BARBOSA J ACOBO F E B R E R O DE 20 17

Ejecución serial: las tareas/instrucciones de un programa son ejecutadas de manera secuencial, una a la vez.

BASES DE DATOS DISTRIBUIDAS

Introducción a los sistemas operativos. Ing Esp Pedro Alberto Arias Quintero

Redes de Altas Prestaciones

Programación Concurrente y Paralela. Unidad 1 Introducción

PARADIGMA y LENGUAJES DE PROGRAMACIÓN

Las redes de ordenadores. Tipos. Comunicación en la Red Modelo OSI. Arquitectura TCP/IP. Luis Villalta Márquez

Arquitectura ANSI/SPARC

Paralelismo _Arquitectura de Computadoras IS603

Sistemas Distribuidos.

En esta unidad vamos a hablar acerca de cómo los equipos utilizan las redes para trabajar juntos. Hay varios modelos ( que en algunos casos son

Generaciones de las Computadoras

GUÍA ESTUDIO TEMA 11. PROGRAMACIÓN de REDES DISTRIBUIDAS

COMUNICACIONES TRANSMISIÓN DE DATOS REDES DE ORDENADORES INTERNET. Sistemas de transmisión de datos

Introducción a los multiprocesadores

La computadora en la actualidad. Informática Aplicada Grado en GAP Fac. de Admón. y Dir. de Empresas Univ. Politécnica de Valencia

Sistema de Administración de Farmacias Descripción de la Arquitectura Versión 1.1. Historia de revisiones

Modelos de Sistemas Distribuidos

Tipos de Diseño. Ing. Elizabeth Guerrero V.

Computación de Altas Prestaciones Sistemas computacionales

MULTIPROCESADORES TIPOS DE PARALELISMO

Computación de Altas Prestaciones Sistemas computacionales

Introduccion a Sistemas Operativos. Ej: Linux

Sistemas Distribuidos. Prog. Distribuida bajo Internet

Sistemas Distribuidos. Soporte de Sistemas Operativos

Entornos de programación paralela basados en modelos/paradigmas

Instrumentación n / Ing. Quirino Jimenez D.

Bases de Datos Especializadas

Medidas de Alta Disponibilidad

Granularidad y latencia

Topologías físicas y lógica

Máster en Tecnologías de la Información

TEMA 2: DEFINICIONES Y CONCEPTOS. Ing. Jonathan Quiroga Tinoco Conalep Tehuacán P.T.B. en SOMA

Taller de Programación Paralela

TEMA 4 PROCESAMIENTO PARALELO

Diagrama de despliegue

Sistemas Distribuidos Módulo 1

Una arquitectura de componentes provee, desde el punto de vista de un. sistema computacional, la definición de las partes esenciales del proceso de

TEMA: CONCEPTOS BASICOS DE REDES MATERIA: Las tic en la educación NOMBRE DE LA ALUMNA: Melissa Ibeth Chávez Villela NOMBRE DEL MAESTRO: Genaro Israel

AURELIO CHÁVEZ ACHA. Clasificación de redes de acuerdo a topología

1.- DATOS DE LA ASIGNATURA

CONCEPTOS BÁSICOS DE UNA RED.

El espectro de almacenamiento (Jerarquías de Memorias)

CÓMPUTO DE ALTO RENDIMIENTO EN MEMORIA COMPARTIDA Y PROCESADORES GRÁFICOS

ARQUITECTURAS PARA PROCESAMIENTO PARALELO

Información general Quién utiliza la computación en paralela? Conceptos y Terminología Límites y Costos de Programación Paralela

Proyectos de Tesis 2005

RED. Unión de dos o más. mediante diversos elementos para compartir datos recursos y servicios

Computación en Internet: Librería MALLBA para problemas de optimización

Procesos y Threads Procesos y Threads. Rendimiento Rendimiento (paralelismo) (paralelismo) Productividad Productividad

REQUERIMIENTOS DE ARQUITECTURA DE SOFTWARE DE LA AUTORIDAD AUTÓNOMA DEL SISTEMA ELÉCTRICO DE TRANSPORTE MASIVO DE LIMA Y CALLAO (AATE)

Retos del cómputo moderno Distribuido, paralelo e integrado

UNIVERSIDAD NACIONAL FEDERICO VILLARREAL FACULTAD DE INGENIERIA ELECTRÓNICA E INFORMÁTICA SÍLABO

HOJA DE CONTROL DE CAMBIOS EN LA NORMATIVA INTERNA DE EP PETROECUADOR

INSTITUTO TECNOLÓGICO

Fecha de elaboración: Agosto de 2004 Fecha de última actualización: Julio de 2010

Tema 2. GENERALIDADES SOBRE SISTEMAS OPERATIVOS 1, MAQUINA DESNUDA.

Implementación y Evaluación del algoritmo de sincronización RBS para redes inalámbricas de sensores

Lenguajes de Programación

UNIVERSIDAD DE GUADALAJARA

Análisis de arquitectura del protocolo

Conceptos generales de sistemas distribuidos

Introducción a Sistemas Peer to Peer

Informática 4º ESO. J. Javier Esquiva Mira

TEMA II: ALMACENAMIENTO DE LA INFORMACIÓN

Aspectos pragmáticos de los lenguajes de programación

EVOLUCIÓN Y PRINCIPIOS DE LA INGENIERIA DEL SOFTWARE

Aspectos avanzados de arquitectura de computadoras Multiprocesadores (I) Facultad de Ingeniería - Universidad de la República Curso 2017

BASES DE DATOS DISTRIBUIDAS

Sistemas de Tiempo Real

- ENetwork Chapter 3 - CCNA Exploration: Network Fundamentals (Versión 4.0)

Introducción: Concurrencia, Computación Paralela y Distribuida

Tema 1 Introducción a los Sistemas Distribuidos

Modelos de computadores paralelos

Curso Programming in HTML5 with JavaScript and CSS3 (20480)

METODOLOGÍA PARA REALIZAR EL DIAGNÓSTICO DE SITI EN LA UNIVERSIDAD

Introducción a la conmutación LAN.

Lusitania. Pensando en Paralelo. César Gómez Martín

Introducción a los Sistemas Operativos

Transcripción:

Introducción al Computo Distribuido Facultad de Cs. de la Computación Juan Carlos Conde Ramírez Distributed Computing

Contenido 1 Introducción 2 Importancia del Hardware 3 Importancia del Software 1 / 26

Contenido 1 Introducción 2 Importancia del Hardware 3 Importancia del Software 2 / 26

Objetivo: Identicar aspectos fundamentales relacionados con el Computo Distribuido 3 / 26

Sistemas Paralelos Hoy en día los Sistemas de Computo Distribuido y Paralelo son utilizados ampliamente. Un Sistema Paralelo consiste en múltiples procesadores que se comunican entre sí usando memoria compartida. Dado que el número de transistores en un chip se incrementa día con día, los chips multiprocesador ya son usados comúnmente en la mayoría de los dispositivos de computo. Con suciente aplicaciones paralelas, estos sistemas batearán fácilmente el rendimiento de los Sistemas Secuenciales (clásicos) que hoy conocemos. 4 / 26

Sistemas Paralelos Como se muestra a continuación cada uno de estos procesadores se comunican con los demás a través de una Memoria Compartida. Sin embargo, cada uno puede poseer Memoria Local la cual no es compartida con otros procesadores. 5 / 26

Sistemas Distribuidos Por su parte los Sistema Distribuidos se denen como aquellos que contienen múltiples procesadores conectados mediante una Red de Comunicación Cada uno de los procesadores se comunica con los otros enviando mensajes a través de la Red. El uso de estos sistemas se ha incrementado ampliamente debido al decremento en los precios de procesadores para computadoras estándar y a las conexiones con alto ancho de banda ya disponibles. 6 / 26

Sistemas Distribuidos La red de comunicación en la siguiente gura podría ser una Red de Área Local (LAN) tal como una Intranet, o una Red de Área Amplia o Extendida (WAN) como el Internet. 7 / 26

Contenido 1 Introducción 2 Importancia del Hardware 3 Importancia del Software 8 / 26

Implementación La distinción entre el Cómputo Paralelo y el Cómputo Distribuido es sólo a nivel lógico: Dado un sistema físico en el que diversos procesadores hacen uso de memoria compartida, es fácil simular mensajes. A la inversa, dado un sistema físico en el que procesadores están conectados a través de una Red, es posible simular memoria compartida. Por lo tanto, hardware paralelo es capaz de ejecutar software distribuido y vice versa. 9 / 26

Retos Dada la distinción anterior surgen dos preguntas importantes: 1. ¾Se deben desarrollar aplicaciones para hardware paralelo o para hardware distribuido? 2. ¾Se deben escribir aplicaciones asumiendo la existencia de memoria compartida o el paso de mensajes? A nivel de hardware, se esperaría que prevaleciera el MODELO de estaciones de trabajo (workstations) multiprocesador conectadas mediante una red. Así el sistema sería ambos; paralelo y distribuido al mismo tiempo. 10 / 26

Ventajas del Computo Distribuido I Sin embargo, lo cierto es que un sistema no debe ser completamente paralelo por las siguientes razones: Escalabilidad Modularidad y Heterogeneidad Compartición de datos Compartición de recursos Estructura geográca Fiabilidad Bajo coste 11 / 26

Ventajas del Computo Distribuido II Escalabilidad. Los sistema distribuidos son inherentemente más escalables que los sistemas paralelos. En los sistemas paralelos la memoria compartida llega a tener cuellos de botella cuando el número de procesadores se incrementa. Modularidad y heterogeneidad. Un sistema distribuido es más exible por la facilidad que tiene para agregar o eliminar procesadores. Además, cada procesador puede ser de un tipo completamente distinto al de los procesadores existentes. 12 / 26

Ventajas del Computo Distribuido III Compartición de datos. Los sistemas distribuidos proporcionan compartición de datos, como en base de datos distribuidas. Así múltiples organismos son capaces de compartir sus datos con otros. Compartición de recursos. Por ejemplo, un costoso procesador de propósito especial puede ser compartido con múltiples organizaciones si se trata de un sistema distribuido. 13 / 26

Ventajas del Computo Distribuido IV Estructura geográca. La estructura geográca de una aplicación puede ser inherentemente distribuida. El bajo ancho de banda en una comunicación puede forzar el procesamiento local. Esto es particularmente cierto para redes inalámbricas. Fiabilidad. Los sistemas distribuidos son más ables que los sistemas paralelos debido a que el fallo de una sola computadora no afecta la disponibilidad de las otras. 14 / 26

Ventajas del Computo Distribuido V Bajo costo. La existencia y disponibilidad de redes con alto ancho de banda así como las estaciones de trabajo baratas favorecen el cómputo distribuido por razones económicas. 15 / 26

Ventajas del Computo Paralelo Son principalmente de naturaleza tecnológica las razones por las que un sistema no debe ser puramente distribuido y de preferencia poseer un sistema paralelo en cada nodo. La tecnología actual permite actualizar más rápido una localidad de memoria compartida que enviar un mensaje a otro procesador (computadora). Lógicamente, si se requiere, es más eciente obtener paralelismo no o preciso de un sistema paralelo puro que de un sistema distribuido. 16 / 26

Contenido 1 Introducción 2 Importancia del Hardware 3 Importancia del Software 17 / 26

Implementación Como se mencionó antes, la interfaz proporcionada al programador hoy en día puede ser independiente del hardware subyacente. Entonces: ¾Cuál es el MODELO que debe convertirse en el objetivo o meta del programador? 18 / 26

Perspectiva I Los programas se escribirán utilizando objetos distribuidos multi-hilo. Una aplicación construida con este modelo consiste de múltiples procesos pesados (heavyweight) que se comunican a través de mensajes (o invocaciones a métodos remotos). Cada proceso heavyweight consiste de múltiples procesos ligeros o lightweight llamados hilos. Los hilos se comunican a mediante la memoria compartida. Este modelo de software reeja el hardware que está (o se espera que sea) extensamente disponible. 19 / 26

Perspectiva II Se puede obtener el MODELO estándar de un sistema distribuido, asumiendo que existe al menos un hilo por proceso (e ignorando el paralelismo dentro de un proceso). Enfocando la atención en un sólo proceso heavyweight, es posible obtener el MODELO común de un sistema paralelo. Un programa DISTRIBUIDO es más Orientado a Objetos dado que solamente se puede acceder a los datos de un objeto remoto usando un mensaje explícito o haciendo una llamada a un procedimiento (método) remoto. El paradigma Orientado a Objetos promueve la reusabilidad así como un diseño sencillo. 20 / 26

Perspectiva II Cada objeto sería multi-hilo debido a que los hilos son útiles para implementar objetos ecientes. Para muchas aplicaciones, tal como los servidores es necesario tener grandes estructuras de datos compartidos. Es ineciente y una carga de programación tener que dividir una estructura de datos entre varios procesos heavyweight. 21 / 26

Consideraciones Futuras La programación de sistemas paralelos y distribuidos requiere de herramientas y técnicas diferentes a las requeridas para la programación del software secuencial tradicional. Por lo tanto, el enfoque de este curso es precisamente sobre éstas técnicas. 22 / 26

ACTIVIDAD 1: Instalación de JDK e IDE JDK: Versión: Java SE Development Kit 8 Link: http://www.oracle.com/technetwork/java/javase/downloads/ jdk8-downloads-2133151.html Eclipse: Package: Eclipse IDE for Java EE Developers Release: Mars (4.5) Link: http://www.eclipse.org/downloads/packages/ eclipse-ide-java-ee-developers/marsr * No se revisará esta actividad pero a partir de ahora se asume que ya se tienen instaladas estas herramientas. 23 / 26

24 / 26

ACTIVIDAD 2: Investigación Describir brevemente el signicado de los siguientes conceptos computacionales: Cómputo ubicuo. Ley de Moore (contexto: circuitos integrados). Cómputo cuántico. * Presentar tarea escrita a mano en la libreta y en limpio. ** La extensión de la investigación debe ser de al menos media cuartilla 25 / 26

El único lugar en el que Éxito viene antes que Trabajo es en el diccionario [Vidal Sassoon] Juan Carlos Conde Ramírez juanc.conde@cs.buap.mx 26 / 26