Arquitecturas Paralelas

Slides:



Advertisements
Presentaciones similares
El modelo de Von Neumann
Advertisements

Computadores de alta velocidad (la lista top500).
1.3. PROGRAMACION PARALELA
LENGUAJES PARALELOS Chang y Smith (1990) clasificación:
II. ARQUITECTURAS PARALELAS
III - Gestión de memoria
Multiprocesadores 3.1 Dominios de aplicación
PROGRAMACIÓN PARALELA Tema 5: Análisis de algoritmos paralelos
PROCESADORES SUPERESCALARES
Programación Paralela Dr. Mario Rossainz López FCC- BUAP
Fecha: 11/09/13.  Todos los sistemas distribuidos constan de varias CPU, organizadas de diversas formas.  La forma de interconectarlas entre sí. 
Arquitecturas Paralelas 12-13
Sistemas en estratos. Descripción: se organiza en una jerarquía de estratos, estando construido cada uno de ellos sobre el otro que tiene menor jerarquía.
Sistemas Distribuidos y Paralelos
Sistemas Operativos Distribuidos
Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -
Universidad Centroamericana
Sistemas Distribuidos y Paralelos
Problema Procesador-Memoria
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.
PROCESAMIENTO PARALELO
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.
Tema 10: Gestión de Memoria
Centralizados y Distribuidos
Algoritmos Distribuidos Semana 1. Parte 2 Comunicación por Pase de Mensajes Claudia León Universidad Central de Venezuela Facultad de Ciencias Escuela.
Introducción a la Computación Paralela Germán Larrazábal Departamento Computación, FACYT, Universidad de Carabobo, Venezuela
PROGRAMACIÓN PARALELA Tema 4: Metodología de la programación
Procesamiento paralelo
INSTITUTO TECNOLÓGICO DE CD. GUZMÁN
Administración de Memoria Memoria Virtual
Memoria Cachés. Universidad de SonoraArquitectura de Computadoras2 Introducción Caché es el nivel de memoria situada entre el procesador y la memoria.
Tema 10.3: Asignación de Espacio No Contiguo. Tema 10.3: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.),
Clusters Presentado por : Manuel Alejandro ahumada trochez Yenny carabali.
Asignación de Espacio No Contiguo
Sistemas Operativos II MC. Daniel Fajardo Delgado INSTITUTO TECNOLÓGICO DE CD. GUZMÁN 24 de Abril de 2004.
TEMA 2: Organización de computadores
Organización de Computadoras
Capítulo 7 Gestión de memoria.
SISTEMAS OPERATIVOS.
Una computadora MIMD intrínseca implica interacciones entre n procesadores debido a que todos los flujos de memoria se derivan del mismo espacio de datos.
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.
Tema 3: Paralelismo en Multiprocesadores (I)
Estructuras en Sistemas Operativos DAISY KATERINE RODRÍGUEZ.
Teoría de Sistemas Operativos Introducción Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz
PROGRAMACIÓN PARALELA Modelos de programación paralela Modelos computacionales Paradigmas de programación paralela Programación en memoria compartida:
Telecomunicaciones y Trabajo Distribuido. Sistema Distribuido Recursos Servidor Red Servidor Nodo ANodo C Nodo B.
ARQUITECTURAS PARALELAS
“Organización y Arquitectura de Computadores” William Stallings
Sistemas Distribuidos
Sistemas Operativos Avanzados
Tema 5: Multiprocesadores
Universidad Politécnica de Tulancingo Catedrático Ing. Jorge Luis Neri Trejo Asignatura Ing. De Hardware III Tema Procesamiento Paralelo Presenta Verónica.
del Diseño de Computadoras
Rendimiento y/o desempeño.. RENDIMIENTO “El computador A es más rápido que el computador B” Como se determina el rendimiento de un computador para: El.
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.
ARQUITECTURAS DE LOS SERVIDORES El computador tiene 2 aspectos para entender su funcionamiento al nivel de programación: Almacenamiento Procesamiento Para.
Arquitectura de Computadores I
Computadoras de Alto Rendimiento (HPC)
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,
SISTEMAS DISTRIBUIDOS II DESEMPEÑO. DESEMPEÑO Cuando se ejecuta una aplicación en un sistema distribuido no debe parecer peor que su ejecución en un único.
Gestión de Memoria – Parte 2
Arquitectura de Computadores IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia.
Apuntes preparados por Néstor González Valenzuela slide 1 Arquitecturas de Sistemas Distribuidos y Paralelos.
1/50 Ing. Gerardo Chávez Malpartida Administración de Memoria SISTEMAS OPERATIVOS.
Transcripción de la presentación:

Arquitecturas Paralelas 12- 13 2. Computadores paralelos (conceptos básicos) - Introducción - Computadores SIMD - Computadores MIMD - Problemas principales - Velocidad de cálculo Arquitecturas Paralelas 12- 13

Arquitecturas Paralelas 12- 13 Introducción  Paralelismo: hacer más de una cosa “simultáneamente, a la vez”. • tamaño de datos: 4 - 8 - 16 - 32 - 64 - ... bit • ejecución de instrucciones (ILP): segmentación, superescalares, VLIW... • paralelismo de datos/ paralelismo funcional o de programas Arquitecturas Paralelas 12- 13

Arquitecturas Paralelas 12- 13 Introducción  Paralelismo SIMD: Single-Instruction-Multiple-Data - procesadores vectoriales - procesadores en array - GPUs MIMD: Multiple-Instruction-Multiple-Data Muchos procesos/hilos para dar una respuesta más rápida (high performance) (multiproceso, tolerancia a fallos, P copias (throughput)) Arquitecturas Paralelas 12- 13

SIMD computadores en array  Muchos procesadores muy sencillos, poca memoria, posibilidad de realizar operaciones de entrada/salida. Red de comunicación especial. red de comunicación array P+M+E/S Arquitecturas Paralelas 12- 13

SIMD computadores array  El procesador de control envía a todos los procesadores la instrucción que tienen que ejecutar síncronamente (BC). Cada procesador, ejecuta la instrucción o no hace nada. red de comunicación array P+M+E/S Proc. de control front-end Arquitecturas Paralelas 12- 13

SIMD computadores array Ejemplo (X, Y, Z repartidos entre procesadores) for (i=0; i<1000; i++) if (Y[i] != 0) Z[i] = X[i] / Y[i]; else Z[i] = X[i]; paso 1: comprobar todos Y[i] != 0 paso 2: if (yes)hacer Z[i] = X[i] / Y[i] (el resto, nada) paso 3: if (no) hacer Z[i] = X[i] Adecuados para cierto tipo de aplicaciones: tratamiento de imágenes… Arquitecturas Paralelas 12- 13

Arquitecturas Paralelas 12- 13 Computadores MIMD  MIMD (Multiple-Instruction-Multiple-Data) P procesos/hilos ejecutándose simultáneamente. Dos modelos básicos: - memoria compartida - memoria distribuida Arquitecturas Paralelas 12- 13

Arquitecturas Paralelas 12- 13 Computadores MIMD  Memoria compartida (shared memory) P0 P1 Pp–1 procesadores + MC red de comunicación E/S M0 Mm–1 memoria principal Arquitecturas Paralelas 12- 13

Arquitecturas Paralelas 12- 13 Computadores MIMD  Memoria compartida (shared memory) - Espacio de direccionamiento único. - Comunicación entre procesos por medio de variables compartidas. - Red de comunicación: un bus (o una red multietapa). - Nombres: multiprocesador, SMP, UMA. - Generalmente, “pocos” procesadores. P0 P1 Pp–1 M0 Mm–1 E/S Arquitecturas Paralelas 12- 13

Arquitecturas Paralelas 12- 13 Computadores MIMD  Memoria distribuida (distributed memory) Pp-1 Mp-1 E/S P0 M0 E/S Computador: Pr + MC+ MP + E/S K red de comunicación Arquitecturas Paralelas 12- 13

Arquitecturas Paralelas 12- 13 Computadores MIMD  Memoria distribuida (distributed memory) Pp-1 Mp-1 E/S P0 M0 K - Un espacio de direccionamiento por procesador. - Comunicación entre procesos por medio de paso de mensajes. - Redes de comunicación habituales: hipercubo, malla, toro... - Nombres: multicomputador, MPP - Generalmente, “muchos” procesadores. Arquitecturas Paralelas 12- 13

Arquitecturas Paralelas 12- 13 Computadores MIMD  Otra opción: memoria compartida pero físicamente distribuida - El espacio de direccionamiento es único, pero la utilización no es homogénea: se ha creado una jerarquía de memoria. - La comunicación entre procesos se hace por medio de variables compartidas (lógicamente) y se implementa mediante paso de mensajes. - Nombres: DSM, NUMA (MPP) Pp-1 P0 E/S E/S Mp-1 K M0 K Arquitecturas Paralelas 12- 13

Arquitecturas Paralelas 12- 13 Computadores MIMD  Nomenclatura: - SMP: multiprocesador de memoria compartida, generalmente pocos procesadores comunicados por un bus. - MPP: sistema paralelo con muchos procesadores, de memoria compartida o distribuida. Generalmente, las máquinas más rápidas, sistemas con hardware y software de comunicación y de cálculo específico. Muy caras. Pueden organizarse de manera jerárquica (p.e., los nodos son sistemas SMP). Arquitecturas Paralelas 12- 13

Arquitecturas Paralelas 12- 13 Computadores MIMD  Nomenclatura: - Cluster: sistema paralelo construido a base de hardware y software de propósito general. Buena relación coste/velocidad. PC ethernet El más simple: PC / ethernet (Beowulf) commodity / custom Cada vez más, sistema paralelo de propósito general. Arquitecturas Paralelas 12- 13

Arquitecturas Paralelas 12- 13 Computadores MIMD  Nomenclatura: - Constelación (constellation): un cluster, donde el número de nodos es menor que el número de procesadores de cada nodo. Arquitecturas Paralelas 12- 13

Arquitecturas Paralelas 12- 13 Resumen MP P C bus memoria compartida SMP 1 N SIMD MIMD SISD inst. datos MPP/NUMA Cluster memoria distribuida P C M red general proc. array proc vectoriales Arquitecturas Paralelas 12- 13

Arquitecturas Paralelas 12- 13 Resumen Espacio de direccionamiento común privado centralizada (bus) distribuida (red) Memoria SMP - DSM, NUMA MPP Arquitecturas Paralelas 12- 13

Arquitecturas Paralelas 12- 13 Problemas  Existen algunos problemas que hay que superar en los sistemas paralelos - ¿Cómo gestionar el sistema completo? - ¿Cómo se divide un algoritmo en P procesos? ¿Se puede ejecutar en paralelo todo el código? - ¿Y el reparto, es equilibrado o es de tipo 80% - 20% (load balancing)? Arquitecturas Paralelas 12- 13

Arquitecturas Paralelas 12- 13 Problemas  Existen algunos problemas que hay que superar en los sistemas paralelos - ¿Dónde están los datos? ¿Cómo se mantiene la coherencia de datos? - ¿Son independientes todos los procesos? ¿Se deben de sincronizar? - ¿Habrá que mandar los datos de un procesador a otro? ¿Cómo? Arquitecturas Paralelas 12- 13

Arquitecturas Paralelas 12- 13 Problemas  Sobrecargas 1. Comunicación Tp = Tej + Tcom Tej Tcom Número de procesadores Tp Arquitecturas Paralelas 12- 13

Arquitecturas Paralelas 12- 13 Problemas  Sobrecargas 2. Desequilibrio en la distribución de tareas Por ejemplo: 6 procesos independientes, de coste similar → Ts = 6T ▪ entre 3 procesadores (2 + 2 + 2) Tp = 2T = Ts /3 ▪ entre 4 procesadores (2 + 2 + 1 +1) Tp = 2T = Ts /3 ! Arquitecturas Paralelas 12- 13

Arquitecturas Paralelas 12- 13 Problemas  Sobrecargas 3. Utilización de la cache Hay que (re)utilizar los datos de los bloques de las caches (localidad). Por ejemplo, si A1 y A2 están en posiciones de memoria contiguas, merecerá la pena procesarlos en el mismo procesador para incrementar la tasa de aciertos de la cache. Arquitecturas Paralelas 12- 13

Arquitecturas Paralelas 12- 13 Problemas  Tipos de aplicaciones - Paralelismo de grano fino (high performance) muchas tareas, pequeñas comunicación frecuente, pocos datos - Paralelismo de grano grueso (high throughput) pocas tareas, grandes, “independientes” comunicación de vez en cuando, muchos datos Arquitecturas Paralelas 12- 13

Arquitecturas Paralelas 12- 13 Eficiencia  Objetivo: 1 ejecutar el mismo programa más rápido 2 ejecutar programas más grandes en el mismo tiempo  Factor de aceleración / Eficiencia fa = Ts / Tp (ideal: crece linealmente con P) efic = fa / P (ideal: independiente de P) Mejor caso: Tp = Ts / P → fa = P efic = 1 Arquitecturas Paralelas 12- 13

Arquitecturas Paralelas 12- 13 Amdahl 1 Generalmente, una parte en paralelo y otra en serie: Tsp = f Tp + (1-f) Ts Por lo tanto, el verdadero factor de aceleración será (ley de Amdahl): fa = Ts / Tsp = Ts / (f Ts/P + (1-f) Ts) fa = P / (f + (1-f) P) → 1 / (1-f) ! Arquitecturas Paralelas 12- 13

Arquitecturas Paralelas 12- 13 Amdahl 1 Ley de Amdahl fa = P / (f + (1-f) P) → 1 / (1-f) Arquitecturas Paralelas 12- 13

Arquitecturas Paralelas 12- 13 Gustafson 2 Muchas veces, el paralelismo no se utiliza para ir más rápido sino para ejecutar tareas de mayor tamaño. f Ts (1-f) Ts P procesadores Tp’ = Ts Ts serie paralelo (1-f) Ts f Ts f Ts P (1-f) Ts mayor tamaño (xP) Ts’ = ((1-f) + f P) Ts fa = Ts’ / Tp’ fa = (1-f) + f P Arquitecturas Paralelas 12- 13

Arquitecturas Paralelas 12- 13 Gustafson 2 Gustafson fa = (1-f) + f P Arquitecturas Paralelas 12- 13