Tema 1: Introducción Motivación del procesamiento paralelo, su “inevitabilidad” Supercomputadores: Los Top 500 Paralelismo en Multiprocesadores: Perspectiva.

Slides:



Advertisements
Presentaciones similares
Org. y Arquitectura del Computador
Advertisements

DISEÑO DE TRANSFERENCIA ENTRE REGISTROS
Arquitectura de Sistema de E/S
Hardware y Software de servidor
Organización y arquitectura de sistemas de memoria
III - Gestión de memoria
Multiprocesadores 3.1 Dominios de aplicación
Arquitectura de Computadores I PIPELINING. Pipelining Un pipeline es una serie de etapas, en donde en cada etapa se realiza una porción de una tarea.
Diseño y Arquitectura sobre productos de software
Presentación y organización del curso
Carlos Rojas Kramer Universidad Cristóbal Colón
Tecnologías Cliente / Servidor Capitulo III Richard Jiménez V. clienteserver.wordpress.com.
BASES DE DATOS CLIENTE SERVIDOR Y DISTRIBUIDAS
PROCESADORES SUPERESCALARES
Microprocesadores.
Tema II Unidad de memoria. 2 Unidad de memoria 2.1 Definiciones y conceptos básicos Localización Capacidad Unidad de transferencia
Evaluación de nuevas Tecnologías
Johanna Lizeth Rodríguez Lorena Fda. Chávarro Ramos
Algorítmo de Mapeo Directo
Mejoras a las Máquinas Von Neumann
Programa Promotores Tecnológicos
Direcciones físicas y direcciones virtuales (lógicas)
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.
Introducción a los SSOO Sebastián Sánchez Prieto.
GLOSARIO.  Sincronismo. En toda transmisión debe de existir un acuerdo entre el receptor y el emisor, y pueden llegar a él de dos formas: Síncrona, es.
Tema 10: Gestión de Memoria
Algoritmos Distribuidos Semana 1. Parte 2 Comunicación por Pase de Mensajes Claudia León Universidad Central de Venezuela Facultad de Ciencias Escuela.
2. ASYNCRONOUS TRANSFER MODE 2.1Características generales 2.2 Modelo de referencia del protocolo 2.3 Categorías de servicio ATM.
Ing. Karen Torrealba de Oblitas
Procesamiento paralelo
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.),
Asignación de Espacio No Contiguo
Desarrollo de aplicaciones para ambientes distribuidos
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
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
Arquitectura y Ensamblaje de Computadores
PROGRAMACIÓN PARALELA Modelos de programación paralela Modelos computacionales Paradigmas de programación paralela Programación en memoria compartida:
ESTRUCTURA DE LA RED GLOSARIO. Sincronismo. En toda transmisión debe de existir un acuerdo entre el receptor y el emisor, y pueden llegar a él de dos.
ARQUITECTURAS PARALELAS
“Organización y Arquitectura de Computadores” William Stallings
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.
Sistemas Operativos Avanzados
Tema 5: Multiprocesadores
Escuela Normal “Profr. Darío Rodríguez Cruz”
“condición que necesita el usuario para resolver un problema o conseguir un objetivo determinado”. Los requisitos de un sistema son los aspectos que el.
Hecho por: M.C. Luis Fernando Guzmán Nateras v3 Organización de Computadoras Preparación: Examen 1 JEOPARDY.
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 20 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.
UNID Arquitectura de Computadoras L.A.A.C. Lorena Santoyo Palafox
Tendencias Generales Dotación física Software lógica Más pequeño
del Diseño de Computadoras
Unidad 2 – Gestión de Procesos
Cloud Computing July Palma L..
EL SERVICIO ORIENTADO A CONEXIONES Sigue el modelo del sistema telefónico. Para hablar con alguien levantamos el auricular, marcamos el número, Hablamos.
SEGMENTACIÓN DE LA RED UNIVERSIDAD NACIONAL DE INGENIERÍA
ARQUICTECTURA DE SERVIDORES
INTEGRANTES: ONEIDA OSORIO VILLA, JUAN CAMILO SÁNCHEZ BAENA, JOANNA SÁNCHEZ, LUISA VILLA, JIMMY MORALES, BRIAM ZAMBRANO.
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.
UNIDAD 1. ORGANIZACIÓN BÁSICA Y DISEÑO DEL COMPUTADOR
ARQUITECTURAS DE LOS SERVIDORES El computador tiene 2 aspectos para entender su funcionamiento al nivel de programación: Almacenamiento Procesamiento Para.
Computadoras de Alto Rendimiento (HPC)
Republica Bolivariana de Venezuela Universidad Alonso de Ojeda Facultad de Ingeniería Escuela de Computación Ing. Prof. Leonel Sequera Entrada y Salidas.
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 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.
Transcripción de la presentación:

Tema 1: Introducción Motivación del procesamiento paralelo, su “inevitabilidad” Supercomputadores: Los Top 500 Paralelismo en Multiprocesadores: Perspectiva histórica y enfoque actual Avance sobre Arquitecturas de Paso de Mensajes (introducción a las prácticas de la asignatura) Evaluación de las prestaciones de un sistema paralelo y sus límites (Ley de Amdahl)

Arquitecturas Paralelas Un computador paralelo es una colección de elementos de procesamiento que cooperan para resolver rápidamente grandes problemas computacionales. Cuestiones abiertas: ¿Cuántos elementos de procesamiento? ¿De qué potencia son esos elementos? ¿Cuánta memoria hay disponible? ¿Cómo se comunican los procesadores? ¿Cuáles son las abstracciones para expresar la cooperación? ¿Cómo se traduce todo esto en rendimiento? ¿Cómo se escala la arquitectura?

¿ Porqué estudiar las Arquitecturas Paralelas ? A nivel de prestaciones, la computación paralela nos coloca varios años por delante respecto a sistemas monoprocesadores. Su uso es, pues, inevitable en muchas aplicaciones reales en la actualidad. Proporcionan una alternativa a basar las prestaciones únicamente en la frecuencia de reloj del procesador. Su uso es, pues, inevitable desde el punto de vista tecnológico. Este estudio se aplica a todas las etapas de diseño, abriendo posibilidades de paralelismo en muchos niveles.

Abstracción del Pase de Mensajes La combinación send-recv establece una copia memoria a memoria y una sincronización entre los procesos involu- crados Enviar un mensaje consume mucho tiempo: - Construir la cabecera del mensaje; copiar los datos en el buffer de la red; enviar el mensaje; copiar los datos en el buffer receptor; copiar los datos del espacio S.O. al es- pacio usuario

Inevitabilidad Tecnológica (I): General En cuanto a tecnología del chip, los factores principales de diseño que afectan a las prestaciones son: - Disminución del “feature size” (d) - Aumento del tamaño del chip en si mismo (waffer scale integration) La disminución del “feature size (d)” se traduce en: - Aumento de la velocidad de reloj proporcional a - Aumento del número de transistores proporcional a   (efecto total proporcional a   ¿ Cuánto cabe esperar que continúe disminuyendo    - Ley de Moore (Dr. Gordon Moore, Chairman, Intel) - “La densidad de circuitos en un chip se dobla cada 18 meses”.  Nota: Ley totalmente empírica)

Inevitabilidad Tecnológica (II): Paralelismo y Ley de Moore * Ley de Moore Prestaciones pico de varios computadores a lo largo de los años La experiencia demuestra que la ley empírica de Moore se Cumple en la práctica. (Nota: La Ley de Moore se aplica solo a “prestaciones pico”. Las prestaciones finales se ven muy afectadas por otras con- sideraciones de diseño, muchas de ellas relacionadas con el software).

* Barreras - Hipótesis: No es posible crecer más que lo indicado por la Ley de Moore (que aún siendo mucho, es un límite) Extrapolación de tasas de crecimiento de prestaciones (análisis de los top 500)

* Consideraciones Adicionalmente es concebible que finalmente se llegue a los límites de las actuales tecnologías de semiconduc- tores, necesitándose un cambio cualitativo imprevisible. Conclusión: Paralelismo en la ejecución de operaciones como única forma de sobrepasar la Ley de Moore.

Inevitabilidad Tecnológica (III): Memoria (I) Descomposición de un problema * Computación * Datos * Visualización Consideraciones sobre la memoria * Es un hecho que el volumen de datos asociados a las necesidades computacionales actuales cre- ce de una forma exponencial. * Es un hecho que la velocidad de acceso a memo- ria crece mucho más lentamente que la velocidad a la que se puede operar con los datos

Inevitabilidad Tecnológica (III): Memoria (II) Gráfica de aumento de la velocidad y capacidad de la memoria Conclusión: 1) Paralelismo en la ejecución como forma de enmascarar latencias de acceso a memoria. 2) Paralelismo en el acceso a los datos en diferentes bancos de memoria.

Inevitabilidad en las aplicaciones Nuevas áreas de computación científica emergen, y otras se consolidan, con necesidades generales de computación que crecen experimentalmente.- BioInformática: - Distintos proyectos Genoma (por ejemplo “Proyecto Genoma Humano”) - Proyectos en Genoma Estructural - Farmacogenómica: nuevas revoluciones en medicina. Medicina: - Paso de scanners en 2D a scanners en 3D y 4D. Física: - Física atómica - Nuevos retos en la computación cuántica.

Aparecen nuevas áreas en computación de propósito general.- - Todo lo relacionado con vida - Data warehousing y Data Mining - Gráficos Conclusión: Las nuevas áreas de aplicación de la computación nos fuerzan a ir más allá de los límites de la Ley de Moore, tanto en velocidad de cálculo como en acceso a memoria. El único camino es la computación paralela.

Hacia el paralelismo: Gestión del ‘budget” de transistores por chip Dos alternativas octogonales que deben balancearse: - Aumentar la complejidad de las unidades funcionales (UF’s), o incluso replicarlas - Colocar diversas etapas de memoria “on chip” Conclusión: “Alternativas condenadas a entenderse”.

Hacia el paralelismo: Aumento de la complejidad de los UF’s De esta forma conseguimos: - Paralelismo a nivel de bit - Paralelismo a nivel de instrucción (ILP) - Paralelismo a nivel de hebra

Hacia el paralelismo: Ejemplo de cambio cualitativo Ejemplo de : - Introducción del paralelismo a nivel de bit. - Introducción de economía de escala en diseño y producción.

Hacia el paralelismo: Contra ejemplo (límites en cambios) - Límites al paralelismo a nivel de bit - Límites al paralelismo a nivel de ILP Hay que introducir el paralelismo a todos los niveles, adoptando una perspectiva jerárquica y agotando cada nivel intermedio. El nivel último son los multiprocesadores. Conclusión:

Evolución de las Arquitecturas

Application Specific PCs Notebook computers Desktop computers Desktop supercomputers Home servers Web and local-area network servers Enterprise servers (legacy, midrange) Special servers (supercomputers, massively parallel computers, and others) Special servers: transactions data mining simulation video virtual reality Server computers Client computers Computing power $$ hundreds$$ millions 2002 Computer product segments Application Specific PCs Personal computers Workstation computers Desktop supercomputers PC servers Workstation servers Mini- computers Computing power $$ hundreds$$ millions 1997 Computer product segments Mainframe computers Super- computers Massively parallel computers

Supercomputación: Generales -Concepto de “Supercomputación” como motor estratégico de arquitecturas de altas prestaciones. - ¿Qué es un Supercomputador? * Definiciones “conceptuales” - “Un computador excepcionalmente rápido” - “Un sistema para resolver grandes problemas muy rápidamente” * Definición “tecnológica” -” Un computador cuyo cuello de botella está en la I/O” (Convex Inc.) * Definición “operativa” - “Es uno de los 500 sistemas más rápidos del mun- do en cada momento según el conocido test Linpak” - Establecimiento de la iniciativa “Top 500” como mecanismo para analizar la evolución de los super- computadores.

Arquitectura Paralela: AYER Históricamente, la computación paralela ha consistido en una serie de modelos rivales y arquitecturas divergentes, sin una línea de desarrollo predecible. La incertidumbre arquitectural ha paralizado el desarrollo del software paralelo

Arquitectura Paralela: HOY Extensión de la noción clásica de la arquitectura de compu- tadores (ISA), para soportar comunicación y cooperación. Arquitectura de Comunicaciones = Abstracción de la Comunicación + Implementación Abstracción: Primitivas de comunicación HW/SW visibles al programa- dor (ISA) Ej.: memoria compartida, pase de mensajes, … Se asume que las primitivas se implementen eficientemente. Implementación: Integración del controlador de comunicaciones Estructura de la red de interconexión

Arquitectura de Comunicaciones Aplicaciones Paralelas Multiprogramación Memoria compartida Paso de mensajes Paralelismo de datos Modelo de Programación Comunicación Hardware Sistema Operativo Compilación o Librería Abstracción de las comunicaciones Interfaz Usuario/sistema Frontera Hardware/Software Una frontera plana significa convergencia en la estructura organizativa Mapeo Simple/Complejo de la abstracción de las comunicaciones en las primitivas de hardware Arquitecturas Paralelas Básicas: Arquitectura de Memoria Compartida Arquitectura de Memoria Privada

Arquitecturas de Pase de Mensajes Concepto: Comunicación tipo “correo postal” Propiedad Clave : La comunicación (cooperación) entre procesadores está integrada al nivel de I/O, y no en el sistema de memoria (ahora los bloques de diseño son computadores completos) Abstracción de la Comunicación: Espacio en el Direccionamiento Local Los procesadores solo pueden acceder a su memoria local, estableciéndose la comunicación/sincronización mediante llamadas explícitas al S.O. (mensajes send/receive) Dato Proceso 0 Proceso 1 Puedo enviar? Si Data Dato Tiempo

Abstracción del Pase de Mensajes La combinación send-recv establece una copia memoria a memoria y una sincronización entre los procesos involu- crados Enviar un mensaje consume mucho tiempo: - Construir la cabecera del mensaje; copiar los datos en el buffer de la red; enviar el mensaje; copiar los datos en el buffer receptor; copiar los datos del espacio S.O. al es- pacio usuario

Aspectos de Diseño Denominación: ¿Cómo se designan a los datos lógicamente compartidos y/o a los nodos? Latencia: ¿Cuál es la latencia de comunicación? Ancho de Banda: ¿Cuántos datos pueden comunicarse por segundo? Sincronización: ¿Cómo pueden sincronizarse los productores y consu- midores de datos? Granularidad de los Nodos: ¿Cómo se divide el Si entre procesadores y memoria? Aplicabilidad: ¿Propósito general o propósito especial?

Latencia y Ancho de Banda Latencia y ancho de banda son factores clave en el rendimiento de una arquitectura paralela y se utilizan en la evaluación de alternativas de diseño. Opciones para Controlar la Latencia Reducir la frecuencia de las operaciones de latencia alta Reducir la latencia: caches, controlador de comunicaciones Enmascarar la latencia: superposición entre comunicaciones y computaciones, anticipación,...

Coste de la Comunicación Coste Comunicación = Frec c x (Coste c + Latencia + Tamaño Transf. Ancho de Banda - Superpos. Frec c : Número de operaciones de comunicación por unidad de computación en el programa (software y hardware) Coste c : Tiempo consumido en iniciar y gestionar la comuni- cación. Latencia: Tiempo para transferir datos desde la fuente al des- tino a través de la red de interconexión. Tamaño Transf.: Determinado por la línea cache (memoria compartida) o variable según el programa (pase de mensajes) Ancho de Banda: Velocidad de transferencia de datos a través de la red. Superpos.: Porción de la operación de comunicación realiza- Da simultáneamente con computación útil.

Compromisos de Diseño Latencia y Ancho de Banda interaccionan en los sis- temas paralelos reales de una forma más o menos compleja. Multiprocesador de Bus Compartido El ancho de banda del bus es fijo, y debe compartirse por los accesos a memoria (fallos cache) de todos los procesa- dores: peligro de contención (saturación). El factor de escala del bus depende de su ancho de banda, la velocidad del procesador, la mezcla de instrucciones y el índice de fallos cache. El ancho de banda puede incrementarse sustituyendo el bus por una red escalable. Pero estas redes suelen tener mayor latencia que un bus único en el caso de no saturación (no sobrecarga)

Conceptos básicos de evaluación T s : Tiempo requerido para resolver el problema en un procesador individual (“Tiempo en secuencial”) T P : Tiempo requerido para resolver el problema en un sistema de p procesadores (“Tiempo en paralelo”) + Aceleración: T s/ T P + Eficiencia: T S /(pT p ) + Balanceo: Tultimo procesador - Tprimer procesador

Ley de Amdahl aplicada al paralelismo Definición: Si un sistema consiste de p procesadores idénticos Y la parte serie de un programa es una fracción f, entonces la máxima aceleración que podemos alcanzar, S, es: S — < (f + ( 1 - f)/p) -1 El límite para p ->  es S = f -1 Ejemplos para distintos f, P y s : fpSS/p 0,5641,9690, ,9980,002 0,2644,7060, ,9810,005 0,1648,7670, ,9130,010 0,056415,4220, ,6360,019 0,016439,2640, ,1840, ,3990,006

Gráfica de la Ley de Amdahl aplicada a MPP’s Aceleración 1 _ f f = 0 Overhead = 0 f = 0 Overhead = 0 Número de Procesadores f = 0 Overhead = 0

Conclusión fundamental: La fracción serie, f, de un programa limita la aceleración a 1 f, aún en el caso de contar con infinitos proce- sadores. La overhead asociada con la paralelización, que siempre ocurre en un sistema real, reduce este límite aún mas.