La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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

Presentaciones similares


Presentación del tema: "Tema 1: Introducción Motivación del procesamiento paralelo, su “inevitabilidad” Supercomputadores: Los Top 500 Paralelismo en Multiprocesadores: Perspectiva."— Transcripción de la presentación:

1 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)

2 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?

3 ¿ 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.

4 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

5 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)

6 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).

7 * 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)

8 * 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.

9 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

10 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.

11 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.

12 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.

13 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”.

14 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

15 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.

16 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:

17 Evolución de las Arquitecturas

18 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

19 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.

20 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

21 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

22 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

23 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

24 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

25 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?

26 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,...

27 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.

28 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)

29 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

30 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,031 10241,9980,002 0,2644,7060,074 10244,9810,005 0,1648,7670,137 10249,9130,010 0,056415,4220,241 102419,6360,019 0,016439,2640,614 102491,1840,089 1638499,3990,006

31 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

32 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.


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

Presentaciones similares


Anuncios Google