Sistemas Distribuidos y Paralelos

Slides:



Advertisements
Presentaciones similares
Internet y tecnologías web
Advertisements

Multiprocesadores 3.1 Dominios de aplicación
Noveno Semestre UNIDEC
Base de Datos Distribuidas FUNDAMENTOS DE BASES DE DATOS DISTRIBUIDAS
Tecnologías Cliente / Servidor Capitulo III Richard Jiménez V. clienteserver.wordpress.com.
Sistemas Operativos Distribuidos Plataforma Cliente/Servidor
INTRODUCCIÓN ESTADO DE LA TÉCNICA PROCESAMIENTO DISTRIBUIDO CON MPI PROCESAMIETNO DISTRIBUIDO DE IMÁGENES GENÉRICO CON VTK PROCESAMIENTO DISTRIBUIDO DE.
Término que se le da al conjunto de equipos de cómputo que se encuentran conectados entre si por medio de dispositivos físicos que envían y reciben -
Redes y Comunicaciones
Fecha: 11/09/13.  Todos los sistemas distribuidos constan de varias CPU, organizadas de diversas formas.  La forma de interconectarlas entre sí. 
Red de computadoras  Una red de computadoras, también llamada red de ordenadores o red informática, es un conjunto de equipos informáticos conectados.
Sistemas Distribuidos y Paralelos
S.O. Multiusuario, red. Servicio: Cliente/Servidor, p2p
Introducción a los Sistemas de Bases de Datos Distribuidos
EMISION MULTIPLE DE INSTRUCCIONES
Universidad Centroamericana
Estructura de una red: La topología de red define la estructura de una red. Una parte de la definición topológica es la topología física, que es la disposición.
PROCESAMIENTO PARALELO.  Organización lógica ◦ Visión que tiene el programados  Capacidad de expresar tareas paralelas (Estructura de control)  Método.
Universidad de SonoraArquitectura de Computadoras1 PROGRAMA CION PARALELA Y DISTRIBUIDA PRESENTA: JESUS BECERRIL PACHECO MODELOS DE ACCESO A LA MEMORIA.
TRABAJO PRÁCTICO 6 Manuela Cocino y Malén Barrales San Simón NTICx 2014.
HILOS Y COMUNICACIÓN ENTRE PROCESOS
Algoritmos Distribuidos Semana 1. Parte 2 Comunicación por Pase de Mensajes Claudia León Universidad Central de Venezuela Facultad de Ciencias Escuela.
PROGRAMACIÓN PARALELA Tema 4: Metodología de la programación
Ing. Karen Torrealba de Oblitas
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.
Introducción al modelo Cliente-Servidor Carlos Rojas Kramer Universidad Cristóbal Colón.
Desarrollo de aplicaciones para ambientes distribuidos
Características de un sistema operativo
TP6 Nombres: Agustín Ramírez. Joaquin Sans Rother.
Introducción a los Sistemas Operativos
Servidores Conceptos Generales.
Trabajo Practico nº 6 Alumnas: Fiorella Cuervo Reist Agustina.
TEMA 10. SISTEMAS OPERATIVOS DISTRIBUIDOS
Inst. Tec. de Morelia ISC BASES DE DATOS DISTRIBUIDAS VERANO DEL 2006 MC. Anastacio Antolino Hernández TAXONOMÍA DE FLYNN.
14 de diciembre de 2005 Universidad de Murcia1 Modelos de computadores paralelos Domingo Giménez Departamento de Informática y Sistemas Universidad de.
Arquitecturas Paralelas
PROGRAMACIÓN PARALELA Modelos de programación paralela Modelos computacionales Paradigmas de programación paralela Programación en memoria compartida:
Trabajo Practico Nº 6 Suelgaray- Torres.
Introducción a los SOs.
Tema 8: Introducción a los SOs. Tema 8: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Introducción.
Escuela Normal “Profr. Darío Rodríguez Cruz”
Universidad Politécnica de Tulancingo Catedrático Ing. Jorge Luis Neri Trejo Asignatura Ing. De Hardware III Tema Procesamiento Paralelo Presenta Verónica.
VIII. TOPICOS AVANZADOS DE SISTEMAS OPERATIVOS
Estructura de los Sistemas Operativos
Alumnas: Mercedes Bosio Martina Moure. Protocolo de comunicación Permitir localizar un ordenador de forma inequívoca Permitir realizar una conexión con.
Modelo de 3 capas.
Unidad 2 – Gestión de Procesos
INSTALACIÓN Y ADMINISTRACIÓN DE REDES DE ÁREA LOCAL
ARQUICTECTURA DE SERVIDORES
LIA. SUEI CHONG SOL, MCE..  1.- SOFTWARE BÁSICO O DE SISTEMA. Conjunto de programas imprescindibles para el funcionamiento del sistema.  2.- SOTWARE.
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.
Nombre Tema: Modelo Cliente-Servidor Integrantes: Enrique Aponte Lourdes Molina Pablo López Janeth Hernández Marbella Olvera Arturo Parra.
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.
Dispositivos que componen una red.
Tecnologías Cliente / Servidor
ARQUITECTURAS DE LOS SERVIDORES El computador tiene 2 aspectos para entender su funcionamiento al nivel de programación: Almacenamiento Procesamiento Para.
BASE DE DATOS DISTRIBUIDAS
Computación e Internet Computación e Internet - Lcdo. Félix Bucarelo – COMPUTACIÓN E INTERNET Facilitador Lcdo. Félix Bucarelo.
Protocolo de comunicación: serie de normas que deben aportar determinadas funciones ALGUNAS FUNCIONES LOCALIZAR un ordenador de forma INEQUIVOCA. INTERCAMBIAR.
RED DE COMPUTADORAS. También llamada red de ordenadores o red informática es un conjunto de equipos (computadoras y/o dispositivos) conectados por medio.
SISTEMAS OPERTIVOS DE RED Los usuarios están conectados a la red y que pueden compartir recursos. Cada equipo ejecuta con sus propios recursos su propio.
PROCESADOR.- El procesador es el cerebro del sistema, encargado de procesar toda la información. Básicamente, es el "cerebro" de la computadora. Prácticamente,
REDES MAESTRO: Jorge Luis flores nevarez ALUMNO: Julio haro Ramírez CURSO: computación TEMA: redes FECHA: 19 enero 2016 MATRUCULA:
Conociendo el modelo Cliente-Servidor
Sistemas Distribuidos Conceptos Básicos Propiedades MSI. Nancy A. Olivares Ruiz.
Conjunto de elementos físicos y lógicos que proporcionan interconexión en un área privada y restringida. Por tanto, tiene entre otras las siguientes.
CAPITULO V Arquitectura de Von Neumann
Apuntes preparados por Néstor González Valenzuela slide 1 Arquitecturas de Sistemas Distribuidos y Paralelos.
Transcripción de la presentación:

Sistemas Distribuidos y Paralelos Unidad 1 Introducción

Contenido Arquitectura de un sistema distribuido Arquitectura de un sistema paralelo Topologías de interconexión en sistemas distribuidos Topologías de interconexión en sistemas paralelos Comparación entre sistemas distribuidos y paralelos Especificación de procesos y tareas Condiciones de consistencia

Arquitectura de un sistema distribuido Colección de computadoras separadas físicamente y conectadas entre sí por una red de comunicaciones distribuida; cada máquina posee sus componentes de hardware y software que el usuario percibe como un solo sistema. [Wikipedia].

Arquitectura de un sistema distribuido … (2) ¿Qué elementos conforman un sistema distribuido? Programas Procesos Datos Red de computadoras Protocolo de comunicación

Arquitectura de un sistema distribuido … (3) ¿Cómo interaccionan entre sí los elementos del sistema? Cúmulos (Clusters) Cliente/Servidor Mallas (Grids) Igual a igual (peer-to-peer)

Arquitectura de un sistema distribuido … (4) Arquitectura típica de un cluster [SO Stallings]: Conexión de las computadoras a través de una red de alta velocidad o conmutador Hw. Capacidad de c/computadora de operar independientemente. En cada computadora existe un Middleware que permite la operación del cluster. Aplicaciones paralelas Aplicaciones secuenciales Entorno de programación paralela Middleware del cluster (Imagen del sistema e infraestructura de disponibilidad) Hw interfaz de red Sw comunicaciones PC/Estación de trabajo Hw interfaz de red Sw comunicaciones PC/Estación de trabajo Hw interfaz de red Sw comunicaciones PC/Estación de trabajo Hw interfaz de red Sw comunicaciones PC/Estación de trabajo Hw interfaz de red Sw comunicaciones PC/Estación de trabajo

Arquitectura de un sistema distribuido … (5) Arquitectura genérica Cliente/Servidor [SO Stallings] Cliente Solicita un servicio de acceso a datos, recursos, o realizar operaciones en una máquina diferente. Servidor Administra datos o cualquier recurso para hacerlos disponibles a otras máquinas. Típicamente el cliente hace una petición y recibe una respuesta, por otro lado, el servidor atiende una petición y envía una respuesta. Estación de trabajo cliente Servicio de presentación Lógica de la aplicación (parte de cliente) Software de Comunicaciones Sistema Operativo cliente Plataforma de hardware Servidor Petición Lógica de la aplicación (parte de servidor) Software de Comunicaciones Sistema Operativo servidor Plataforma de hardware Respuesta Interacción del protocolo Arquitectura genérica cliente/servidor

Arquitectura de un sistema distribuido … (6) Mallas (Grids) Se puede definir como un conjunto de recursos hardware y software distribuidos por Internet que proporcionan servicios accesibles por medio de protocolos e interfases abiertos.

Arquitectura de un sistema distribuido … (7) Igual a Igual (peer to peer) En una arquitectura pura no hay clientes ni servidores fijos, sino una serie de nodos que se comportan simultáneamente como clientes y como servidores respecto a los demás nodos de la red.

Arquitectura de un sistema paralelo Un sistema paralelo debe ser capaz de ejecutar varias instrucciones simultáneamente. Objetivo Conseguir la máxima cantidad de cómputo en el menor tiempo posible.

Arquitectura de un sistema paralelo… (2) Niveles en la plataforma de hardware [A. Calderón]

Arquitectura de un sistema paralelo… (3) Taxonomía de Flynn Es la forma más común de clasificar a los sistemas según sus capacidades de procesamiento. Tipos de sistemas paralelos: SISD Una secuencia de instrucciones y una secuencia de datos. Monoprocesadores SIMD Una secuencia de instrucción y múltiples secuencias de datos MMX, SSE, … MISD Múltiples secuencias de instrucciones y una secuencia de datos No se utiliza MIMD Múltiples secuencias de instrucciones y múltiples secuencias de datos Procesadores multinúcleo Clusters

Arquitectura de un sistema paralelo… (4) Taxonomía de Flynn …

Arquitectura de un sistema paralelo… (5) Taxonomía de las arquitecturas paralelas Organización SISD Una secuencia de instrucciones, una secuencia de datos SIMD Una secuencia de instrucción, múltiples secuencias de datos MISD Múltiples secuencias De instrucciones, una secuencias de datos MIMD Múltiples secuencias de instrucciones, múltiples secuencias de datos Monoprocesadores Procesadores Vectoriales Procesadores Matriciales Memoria compartida (fuertemente acoplada) Memoria distribuida (débilmente acoplada) Multiprocesador Simétrico (SMP) Acceso no Uniforme a memoria (NUMA) Clusters

Arquitectura de un sistema paralelo… (6) Multiprocesadores simétricos (SMP) Dos o más procesadores similares de capacidades comparables Los procesadores comparten la memoria con un tiempo de acceso ~ igual Todos los procesadores comparten los dispositivos de E/S Están interconectados por un bus Todos los procesadores pueden desempeñar las mismas funciones El sistema está controlado por un sistema operativo integrado Procesador Procesador Procesador . . . Cache L1 Cache L1 Cache L1 Cache L2 Cache L2 Cache L2 Memoria Principal Adaptador de E/S Adaptador de E/S

Arquitectura de un sistema paralelo… (7) Comparación entre arquitecturas con uno y múltiples núcleos [Intel-PRESS]

Arquitectura de un sistema paralelo… (8) Acceso no uniforme a memoria (NUMA) UMA Acceso uniforme a memoria Todos los procesadores pueden acceder a toda la memoria principal. El tiempo de acceso es el mismo para todos los procesadores. NUMA El tiempo de acceso depende de la región a la que se acceda. CC-NUMA Cada nodo del sistema incluye cierta cantidad de memoria principal Desde el punto de vista de los procesadores existe un único espacio direccionable para todo el sistema

Topologías de interconexión en sistemas distribuidos Estructura de interconexión física de la red de computadoras Topologías de red Redes de interconexión estática Las redes estáticas emplean enlaces directos fijos entre los nodos. La topología se establece cuando se instala el sistema. Se utilizan con eficiencia cuando puede predecirse el tipo de tráfico. Redes de interconexión dinámica La topología puede cambiar durante el curso de la ejecución Facilitan la escalabilidad de la red Requieren de árbitros de bus, conmutadores (swithc).

Topologías de interconexión en sistemas distribuidos … (2) Tipos redes de interconexión estáticas 7 1 1 2 3 5 1 5 1 6 2 Formación lineal 2 2 4 4 5 3 3 4 3 Anillo Anillo cordal de grado 3 Totalmente conectada Estrella Malla Cubo-3 Árbol binario

Topologías de interconexión en sistemas distribuidos … (3) Redes de interconexión dinámica 1 2 3 … N 1 2 3 … 1000 … 1 2 3 … 1000 1000 x 100 100 x 1000 1 2 3 … N Conmutador de matriz cuadrada (Monoetapa) Dos conmutadores de matriz cuadrada 1000 x 100 y 100 x 1000 implementando uno de 1000 x 1000 (Multietapa)

Topologías de interconexión en sistemas paralelos Buses Conjunto de líneas que permiten comunicar selectivamente cierto número de componentes de acuerdo a ciertas normas de conexión. Solo se permite una transmisión al mismo tiempo Ante peticiones simultáneas debe haber un árbitro de bus Se trata de buses de tiempo compartido Procesador Procesador . . . Memoria Principal Cache L1 Cache L1 E/S Cache L2 Cache L2 BUS Estructura de BUS único

Topologías de interconexión en sistemas paralelos … (2) Estructura de bus jerarquizado Puede establecer una comunicación en su nivel independiente de y simultánea a los demás. Procesador Procesador . . . Memoria Principal Cache L1 Cache L1 E/S Cache L2 Cache L2 BUS Local Interfaz de Bus Bus Principal Interfaz de Bus BUS Local Procesador Procesador Memoria Principal . . . E/S Cache L1 Cache L1 Cache L2 Cache L2

Topologías de interconexión en sistemas paralelos … (3) Memoria compartida

Topologías de interconexión en sistemas paralelos … (3) Memoria compartida …

Comparación entre sistemas distribuidos y paralelos Tienen propiedades que los diferencian Sistemas Paralelos Dividen una aplicación en tareas que son ejecutadas al mismo tiempo. Los programas se ejecutan en arquitecturas homogéneas Sistemas distribuidos Dividen una aplicación en tareas que son ejecutadas en diferentes ubicaciones utilizando diferentes recursos A menudo es un sistema heterogéneo No se tiene una memoria compartida a nivel de hardware

Comparación entre sistemas distribuidos y paralelos … (2) Tienen varias características en común Múltiples procesadores Los procesadores están interconectados de alguna forma (generalmente por una red) Múltiples procesos están en progreso y cooperan unos con otros El problema es dividido en partes a ejecutar en un procesador diferente Comienzan a utilizar las mismas arquitecturas (al menos en concepto) Muchos aspectos del paralelismo y la distribución son comunes

Comparación entre sistemas distribuidos y paralelos … (3) Sistemas Paralelos Sistemas Distribuidos y Paralelos

Comparación entre sistemas distribuidos y paralelos … (4) Las dos eras de la computación

Comparación entre sistemas distribuidos y paralelos … (5) Tipos de sistemas

Comparación entre sistemas distribuidos y paralelos … (6) Sistemas distribuidos v.s. paralelos - Memoria MIMD Sistemas Distribuidos y Paralelos Memoria Compartida Memoria Distribuida (privada) Multiprocesador Multicomputador

Comparación entre sistemas distribuidos y paralelos … (7)

Especificación de procesos y tareas Niveles de paralelismo La granularidad de los trozos de código pueden definir el nivel de paralelismo. Tamaño (Granularidad) Elemento de código Paralelizado por Grande Programa dividido en tareas pesadas Programador Mediano Funciones concurrentes y/o paralelas Fino Bloques y/o ciclos paralelos Compilador Paralelo Muy fino Instrucciones paralelas Procesador SMP

Especificación de procesos y tareas … (2) Niveles de paralelismo … Mensajes Mensajes Granularidad Grande (Nivel de tareas) Tarea i-1 … Tarea i … Tarea i+1 … func1() { … } func2() { … } func3() { … } Granularidad Mediana (Nivel de control) Granularidad Fina (Nivel de datos) a[0]=… b[0]=… a[1]=… b[1]=… a[2]=… b[2]=… Granularidad Muy fina (Múltiples cuestiones) paddusb jmp load

Especificación de procesos y tareas … (3) La especificación de un algoritmo paralelo no trivial puede incluir algunos de los siguientes aspectos Identificar que porciones de trabajo pueden realizarse de forma simultánea (tareas) Asignar cada tarea a uno de los procesos que se ejecutan en paralelo Distribuir los datos de entrada, intermedios y de salida asociados al programa Gestionar el acceso a los datos compartidos por varios procesadores o nodos Sincronizar a los procesos en distintas fases de su ejecución paralela

Especificación de procesos y tareas … (4) Descomposición de tareas Es la división de una computación secuencial en porciones o tareas que pueden ejecutarse simultáneamente Un problema dado puede dar lugar a descomposiciones diferentes El objetivo es obtener una solución que permita reducir el tiempo de resolución del problema completo Técnicas de descomposición más comunes [P. Guillen] Descomposición del dominio Descomposición funcional Una combinación de las dos anteriores

Especificación de procesos y tareas … (5) Descomposición del dominio Cada tarea paralela trabaja en una porción de los datos Existen diferentes maneras de particionar los datos 1D 2D

Especificación de procesos y tareas … (6) Descomposición funcional El problema es descompuesto de acuerdo al trabajo que debe ser hecho. Cada tarea ejecuta una porción del trabajo

Especificación de procesos y tareas … (7) Balanceo de carga Se refiere a la distribución de las tareas, de una manera tal, que se asegura más eficientemente la ejecución en paralelo Si las tareas no están distribuidas de manera balanceada, se podría estar esperando por la culminación de una tarea, mientras las otras ya han finalizado. El desempeño puede ser incrementado si el trabajo puede ser uniformemente distribuido

Condiciones de consistencia La consistencia es una necesidad imperativa, pues sin ella, simplemente es que el sistema no funciona. Puede perderse consistencia ante acceso a datos concurrente. Solución: mecanismos de exclusión mutua Sistemas Centralizados Debe tener un único estado global en todos los equipos que lo componen, es decir, Consistencia en: Tablas del sistema La hora actual Datos compartidos Cache Sistemas Distribuidos