arq Ava Necesidades EvolucinRevolucin Introduccin77 arq Ava Necesidades

  • Slides: 55
Download presentation
arq. Ava. Necesidades, Evolución/Revolución Introducción-77

arq. Ava. Necesidades, Evolución/Revolución Introducción-77

arq. Ava. Necesidades, Evolución/Revolución Introducción-78 Mover datos entre chips sin pines ni cables de

arq. Ava. Necesidades, Evolución/Revolución Introducción-78 Mover datos entre chips sin pines ni cables de cobre • x 10 ancho de banda • x 10 ahorro energético

arq. Ava. Necesidades, Evolución/Revolución Introducción-79

arq. Ava. Necesidades, Evolución/Revolución Introducción-79

arq. Ava. Necesidades, Evolución/Revolución Introducción-80 • Algunos ¿avances? en computación molecular A 16 -bit

arq. Ava. Necesidades, Evolución/Revolución Introducción-80 • Algunos ¿avances? en computación molecular A 16 -bit parallel processing in a molecular assembly – 2008 Massively parallel computing on an organic molecular layer – 2010 www. pnas. org/content/105/10/3668/F 4. expansion. html www. nature. com/nphys/journal/v 6/n 5/full/nphys 1636. html Nature nanotechnology Oct/2014

arq. Ava. Necesidades, Evolución/Revolución Introducción-81 • Algunos ¿avances? en computación molecular CSIC

arq. Ava. Necesidades, Evolución/Revolución Introducción-81 • Algunos ¿avances? en computación molecular CSIC

arq. Ava. Necesidades, Evolución/Revolución Introducción-82 • Algunos ¿avances? en computación molecular www. technologyreview. es

arq. Ava. Necesidades, Evolución/Revolución Introducción-82 • Algunos ¿avances? en computación molecular www. technologyreview. es

arq. Ava. Necesidades, Evolución/Revolución Introducción-83 • Algunos ¿avances? en computación molecular

arq. Ava. Necesidades, Evolución/Revolución Introducción-83 • Algunos ¿avances? en computación molecular

arq. Ava. Necesidades, Evolución/Revolución Introducción-84 • ¿Existe? la computación cuántica EUI 2 Junio 2006:

arq. Ava. Necesidades, Evolución/Revolución Introducción-84 • ¿Existe? la computación cuántica EUI 2 Junio 2006: Ignacio Cirac Instituto Max Planck 1995 => Artefactos de 1 ión ¡ Llegar a 1. 000 2005 => Artefactos de 8 iones 2. 000 iones ! 2012 => Artefactos de 15 iones Factorizar números de 200 cifras => 100. 000 iones 13 Feb 2007: D-Wave 16 qubit adiabatic quantum computer ¿ Marketing ?

arq. Ava. Necesidades, Evolución/Revolución Introducción-85 1000 qubits 21000 búsquedas simultaneas de soluciones 25 Kw

arq. Ava. Necesidades, Evolución/Revolución Introducción-85 1000 qubits 21000 búsquedas simultaneas de soluciones 25 Kw vs 2. 500 Kw • 128 qubits • 512 qubits • 2048 qubits 1000 + rápido Harvard & D-Wave

arq. Ava. Necesidades, Evolución/Revolución Introducción-86 ¿ 15 m$ ? Sep/2016 Feb/2019 5000 qubits

arq. Ava. Necesidades, Evolución/Revolución Introducción-86 ¿ 15 m$ ? Sep/2016 Feb/2019 5000 qubits

arq. Ava. Necesidades, Evolución/Revolución Introducción-87 www. sussex. ac. uk/newsandevents/ pressrelease/id/38953 Marzo 2018

arq. Ava. Necesidades, Evolución/Revolución Introducción-87 www. sussex. ac. uk/newsandevents/ pressrelease/id/38953 Marzo 2018

arq. Ava. Necesidades, Evolución/Revolución Introducción-88 2019 20 qbits

arq. Ava. Necesidades, Evolución/Revolución Introducción-88 2019 20 qbits

arq. Ava. Necesidades, Evolución/Revolución Introducción-89 Jul/2019

arq. Ava. Necesidades, Evolución/Revolución Introducción-89 Jul/2019

arq. Ava. Necesidades, Evolución/Revolución Introducción-90

arq. Ava. Necesidades, Evolución/Revolución Introducción-90

arq. Ava. Conceptos Introducción-91 • CANTIDAD DE PARALELISMO Y MEDIDAS – GRADO – GRANO

arq. Ava. Conceptos Introducción-91 • CANTIDAD DE PARALELISMO Y MEDIDAS – GRADO – GRANO – ACELERACIÓN – EFICIENCIA • TIPO / FUENTES DEL PARALELISMO – CONTROL – DATOS • ACOPLAMIENTO – FUERTE (Dependencia) – DÉBIL • ESCALABILIDAD – SI – FLUJO – NO (Crecimiento lineal)

arq. Ava. Conceptos Introducción-92 • CANTIDAD DE PARALELISMO Y MEDIDAS – GRADO – GRANO

arq. Ava. Conceptos Introducción-92 • CANTIDAD DE PARALELISMO Y MEDIDAS – GRADO – GRANO – ACELERACIÓN – EFICIENCIA Asturias 1963

arq. Ava. Cantidad de paralelismo Introducción-93 • GRADO: Número de Unidades de Proceso para

arq. Ava. Cantidad de paralelismo Introducción-93 • GRADO: Número de Unidades de Proceso para las que se tiene trabajo durante un intervalo de tiempo Grado 6 Grado = 26 / 9 = 2, 89 5 4 3 2 1 T 0 T 1 T 2 T 3 T 4 T 5 T 6 T 7 T 8 T 9 ¿Cómo varía? Poco Muchísimo 3 -5 32 256 -65536 Tiempo

arq. Ava. Cantidad de paralelismo Introducción-94 • ordenar. Par: Ordenar un vector en memoria

arq. Ava. Cantidad de paralelismo Introducción-94 • ordenar. Par: Ordenar un vector en memoria 3 8 2 1 3 8 7 10 14 15 1 4 13 5 3 4 7 9 7 10 5 6 13 12 16 T 4 14 T 1 2 11 T 3 9 11 12 16 T 3 8 10 15 mezclar 1 6 T 2 mezclar 1 4 T 1 ordenar 2 15 5 6 9 11 12 13 14 16 11 12 13 14 15 16 T 1 2 3 4 5 6 7 8 9 10

arq. Ava Cantidad de paralelismo Introducción-95 ¿ grado ? 8 4 2 1 Sort.

arq. Ava Cantidad de paralelismo Introducción-95 ¿ grado ? 8 4 2 1 Sort. Bur O(N 2) Mezcla O(N) ? ¿Gm = 15 / 4 = 3, 75? 8 4 2 1 8 4 ¿Gm = 6, 6? 2 1 ¿Tardan lo mismo? ¿Gm = 20 / 8 = 2, 5?

arq. Ava. Cantidad de paralelismo Introducción-96 • GRANO: Tamaño medio de las acciones ejecutadas

arq. Ava. Cantidad de paralelismo Introducción-96 • GRANO: Tamaño medio de las acciones ejecutadas en paralelo por Unidad de Proceso (Distribución de Carga) #Instr. Hw + Compilador Programador S. O. Finísimo 1 Instrucción FINO 2 Bucle MEDIO 3 Subrutina 20 500 2000 MEDIO/ 4 Subprograma Miles GRUESO 5 Programa Miles. . Grado de paralelismo Sobrecarga Comunica.

arq. Ava. Cantidad de paralelismo Introducción-97 gcc –O 3 Epiphany 16

arq. Ava. Cantidad de paralelismo Introducción-97 gcc –O 3 Epiphany 16

arq. Ava Cantidad de paralelismo introducción-98 • ACELERACIÓN: “Speedup” Cuántas veces más rápido al

arq. Ava Cantidad de paralelismo introducción-98 • ACELERACIÓN: “Speedup” Cuántas veces más rápido al contar con “n” CPU’s en vez de una. (Absoluta) Sn = Tsecuencial / Tparalelo = T 1 / Tn Máquina T 1 A 100 B 1. 000 Tn 30 5 Sn 3, 3 200 SI CON UNA CPU SE ORDENA EN 1 MINUTO, ¿CON 4 CPU’s SE ORDENA EN? ===> 15”, 20”, . . . ? ? ? 1 <= Sn <= n n = Máximo teórico

arq. Ava. Cantidad de paralelismo Introducción-99 • ACELERACIÓN: ¿Por qué no tanto? t/2 Thread

arq. Ava. Cantidad de paralelismo Introducción-99 • ACELERACIÓN: ¿Por qué no tanto? t/2 Thread 1 Thread 2 rec(1, &msj) ? 1 Acceso a datos comunes Sincronismo Comunicación env(2, &msj)

arq. Ava Cantidad de paralelismo Introducción-100

arq. Ava Cantidad de paralelismo Introducción-100

arq. Ava. Cantidad de paralelismo Introducción-101 • ACELERACIÓN: ¿Por qué no tanto? P 5

arq. Ava. Cantidad de paralelismo Introducción-101 • ACELERACIÓN: ¿Por qué no tanto? P 5 P 4 P 3 P 2 P 1 P 0 ? P 5 P 4 P 3 P 2 P 1 P 0 2 Reparto no equilibrado A unos más trabajo que a otros Unos cores más rápidos que otros 3 Código secuencial puro

arq. Ava. Cantidad de paralelismo Introducción-102 • ACELERACIÓN: ¿Puede que todavía más? t/2 ?

arq. Ava. Cantidad de paralelismo Introducción-102 • ACELERACIÓN: ¿Puede que todavía más? t/2 ? Superaceleración Ficticia • Ordenar 84. 000 int Sn #nodos T 1 29: 381 8: 693 3, 38 2 4 2: 181 13, 47 1000 1. 000 250. 000 Real ? 250. 000 1. 000

arq. Ava. Cantidad de paralelismo Introducción-103 • Superaceleración real 800. 000 int 10. 000

arq. Ava. Cantidad de paralelismo Introducción-103 • Superaceleración real 800. 000 int 10. 000 veces Tiempo = 13” Caché de 2 MB ¡Sin reuso en la caché! 400. 000 int 10. 000 veces Tiempo = 3, 5” Caché de 2 MB ? Caché de 2 MB ¡Conjunto de trabajo en la caché!

arq. Ava Cantidad de paralelismo introducción-104 70 A 60 50 40 B C D

arq. Ava Cantidad de paralelismo introducción-104 70 A 60 50 40 B C D A B A C C D B D versión 12/94 equilibrado versión 9/94 30 20 versión 8/94 10 16 32 64 Aceleración en tres versiones de un programa paralelo Pfeiffer et al. 1995 (AMBER en Intel Paragon 128 P) 128

arq. Ava Cantidad de paralelismo introducción-105 • ACELERACIÓN: “Speedup” Cuántas veces más rápido al

arq. Ava Cantidad de paralelismo introducción-105 • ACELERACIÓN: “Speedup” Cuántas veces más rápido al contar con “n” CPU’s en vez de una. (Absoluta) Sn = Tsecuencial / Tparalelo = T 1 / Tn T 1 #cores Máquina A 100 4 B 1. 000 400 Tn 30 5 Sn 3, 3 200 En 0, 8 0, 5 • EFICIENCIA: Lo mismo, pero teniendo en cuenta “n”. (Relativa) En = Sn / n = T 1 / n. Tn 1/n <= En <= 1 1 = Máximo teórico

arq. Ava. Cantidad de paralelismo Introducción-106 • Sn y En resolviendo Sistemas Lineales de

arq. Ava. Cantidad de paralelismo Introducción-106 • Sn y En resolviendo Sistemas Lineales de 1000 variables (Jack Dongarra, 2004)

arq. Ava. Cantidad de paralelismo Introducción-107 • Sn y En resolviendo Sistemas Lineales de

arq. Ava. Cantidad de paralelismo Introducción-107 • Sn y En resolviendo Sistemas Lineales de 1000 variables (Jack Dongarra, 2004)

arq. Ava. Cantidad de paralelismo Introducción-108 ¡ Eficiencia del 96% ! ¡ 172. 032

arq. Ava. Cantidad de paralelismo Introducción-108 ¡ Eficiencia del 96% ! ¡ 172. 032 cores En=82%!

arq. Ava. Conceptos Introducción-109 • PARALELISMO DE CONTROL ( Prog. Concurrente) – Descomposición en

arq. Ava. Conceptos Introducción-109 • PARALELISMO DE CONTROL ( Prog. Concurrente) – Descomposición en subtareas simultáneas (Una x núcleo) Supervisión industrial, Productor/Consumidor, Editor … MUY COMÚN, pero. . ¡Poco relevante! (Grado 3) • PARALELISMO DE DATOS (Espacial) – Operaciones sobre datos regulares (vectores) aplicando la misma operación sobre cada elemento A 2 1 3 1 4 5 7 8 + + + + B 3 4 6 1 0 2 1 1 C 5 5 9 2 4 7 8 9 MMX 3 DNow SSE 4 AVX Alti. Vec MENOS COMÚN, pero. . ¡Más relevante! (Grado 104. . 106)

arq. Ava. Tipo/Fuentes (Control, Datos, Flujo) Introducción-110 • PARALELISMO DE FLUJO (Temporal) – Idea

arq. Ava. Tipo/Fuentes (Control, Datos, Flujo) Introducción-110 • PARALELISMO DE FLUJO (Temporal) – Idea intuitiva => Cadena de montaje de coches Secuencia de datos homogéneos de entrada Proceso divisible en subtareas secuenciales (filtros) Peluquería Personas Despeinadas (Di) Lavar => Cortar => Marcar 10: 00 10: 15 10: 30 10: 45 11: 00 1 Hora D 433, D D 2322 D 54, D LCM (1) (2) (1)(1) 10: 00 11: 00 10: 45 10: 15 10: 20 10: 30 P 1 D 5432 3 Mill. Secuencial => 1 P x Hora Vs 20’ 20’ L (3) (4) (1) (2) C (3) (1) (2) M (2) (1) 1, 5 M 1, 5 M Pipeline => 1 P x 20’ P 1

arq. Ava. Tipo/Fuentes (Control, Datos, Flujo) Introducción-111 • PARALELISMO DE FLUJO (II) Direct 3

arq. Ava. Tipo/Fuentes (Control, Datos, Flujo) Introducción-111 • PARALELISMO DE FLUJO (II) Direct 3 D F D I E F D I F D F M E I D F W M E I D W MW E MW I E MW Grado 106 ¡ No siempre mejora de N ! 30 3 Control Flujo Datos ALGO COMÚN, pero. . ¡No muy relevante! (Grado 30)

arq. Ava. Acoplamiento Introducción-112 • Grado de dependencia entre las partes (Hw/Sw) Datos Comunes

arq. Ava. Acoplamiento Introducción-112 • Grado de dependencia entre las partes (Hw/Sw) Datos Comunes Sincronismo Cantidad relativa de interacciones Pi FUERTE Fino Pj Grano Grueso Pi DÉBIL Pj DC Poca localidad Cuellos de botella Mucha localidad Buena característica

arq. Ava. Escalabilidad Introducción-113 • Aumento de prestaciones con coste lineal o nlogn ESCALABLE

arq. Ava. Escalabilidad Introducción-113 • Aumento de prestaciones con coste lineal o nlogn ESCALABLE NO ESCALABLE 2 1 0, 5 4 3 3 1, 0 9 12 1, 3 4 6 1, 5 16 24 1, 5 5 10 2, 0 25 40 1, 6 6 15 2, 5 n 4 1

arq. Ava. Escalabilidad Introducción-114 • Aumento de prestaciones con coste lineal o nlogn 13.

arq. Ava. Escalabilidad Introducción-114 • Aumento de prestaciones con coste lineal o nlogn 13. 000 20. 000 30. 000 42. 000 75. 000 66. 000 137. 000 290. 000

arq. Ava Límites al paralelismo Introducción-115 ¿Máxima Aceleración? – Ley de Amdahl T 1

arq. Ava Límites al paralelismo Introducción-115 ¿Máxima Aceleración? – Ley de Amdahl T 1 200 (1 -F) T 1 0, 1 F T 1 20 Secuencial 180 Trozos paralelizables (a) Una CPU 5 (b) Varias CPU’s 36 Sn = T 1 / Tn n CPU’s 8 (1 -F)T 1/n Tn Sn = n 1 + (n-1) F

arq. Ava Límites al paralelismo Significado Sn = n 1 + (n-1) F Sn

arq. Ava Límites al paralelismo Significado Sn = n 1 + (n-1) F Sn Introducción-116 F = 0% 20 16 12 F = 5% 8 ¡ F=5% => Lim Sn = 20! 4 F = 20% 4 8 12 16 20 n “Amdal’s Law in the Multicore Era”. Mark D. Hill & Michael R. Marty 2007

arq. Ava. Clasificación de Flynn (1972)Introducción-117 • Combina Flujo de Datos y Flujo de

arq. Ava. Clasificación de Flynn (1972)Introducción-117 • Combina Flujo de Datos y Flujo de Instrucciones con (Single) Único y Múltiple, dando 4 combinaciones: Flujo de Único Intrucc. Múltiple Flujo de Datos Único Múltiple SISD SIMD MISD MIMD SISD Una Instrucción un Dato Von Neumann SIMD Una Instrucción muchos Datos Vectoriales / Sistólicos MISD Muchas Instrucciones un Dato Pipeline? MIMD Muchas Instrucciones muchos Datos Multiprocesadores / Multicomputadores

arq. Ava Modelos SISD y MISD Introducción-118 • SISD: Una Instrucción un Dato (Von

arq. Ava Modelos SISD y MISD Introducción-118 • SISD: Una Instrucción un Dato (Von Neumann) I UC UP D MP I • MISD: Muchas Instrucciones un Dato (Pipeline? ) In I 2 MP I 1 Programa Datos D UC 1 UC 2 UCN I 1 I 2 UP 2 In UPN UP 1 D D D

arq. Ava Modelo SIMD Introducción-119 • SIMD: Una Instrucción muchos Datos (Vectoriales, . .

arq. Ava Modelo SIMD Introducción-119 • SIMD: Una Instrucción muchos Datos (Vectoriales, . . ) Memoria Común I Host UP 1 D 1 R I UC I I UPi UPn Di Dn I Host UP 1 D 1 ML 1 I E MP D Cuello de botella Acoplamiento fuerte No escalable Memoria Distribuida Síncronas Lock. Step UC I I UPi UPn Di Dn MLi MLn Acoplamiento débil

arq. Ava Modelo MIMD Introducción-120 • MIMD: Muchas Instrucciones muchos Datos M. Común (Multiprocesador)

arq. Ava Modelo MIMD Introducción-120 • MIMD: Muchas Instrucciones muchos Datos M. Común (Multiprocesador) UC 1 t 1 UCi I 1 Ii t 2 In UCn UP 1 UPi UPn D 1 Di B U S a │ M. P. M. Distribuida (Multicomputador) M P R E Dn D Acoplamiento Fuerte Memoria común M P Red M P a t 1 M P aa t 2 M P vs M P Acoplamiento Débil Paso de mensajes

arq. Ava Clasificación de Flynn Ampliada Introducción-121 Arquitecturas Paralelas SISD SIMD Von Neumann Procesadores

arq. Ava Clasificación de Flynn Ampliada Introducción-121 Arquitecturas Paralelas SISD SIMD Von Neumann Procesadores Vectoriales Symetric Multi Processor Array de Procesadores Sistólicos UMA MISD ? ? MIMD Multiprocesadores COMA NUMA ? ? GRID Computing CLOUD Computing Multicomputadores MPP Distintas formas de organizar la memoria común Distributed Shared Memory COW NOW Beowulf

arq. Ava Perspectiva histórica Introducción-122 SIMD Fiasco ILLIAC IV Se inicia en 1965, se

arq. Ava Perspectiva histórica Introducción-122 SIMD Fiasco ILLIAC IV Se inicia en 1965, se vende en 1972 y funciona en 1975 Presupuesto $6 Mill y costó $31 Mill 1/4 de máquina Se esperaban 1000 MF y se obtuvieron 15 MF ¿Dormidas para propósito general? , pero tienen su nicho: Procesamiento de Imagen, Señal, Genética, Búsquedas http: //ed-thelen. org/comp-hist/vs-illiac-iv. html

arq. Ava Perspectiva histórica Introducción-123 MIMD HWANG (1993) IDENTIFICA TRES GENERACIONES: 1983 -1987 Hipercubo

arq. Ava Perspectiva histórica Introducción-123 MIMD HWANG (1993) IDENTIFICA TRES GENERACIONES: 1983 -1987 Hipercubo con Encaminamiento Sw 1988 -1992 Malla con Encaminamiento Hw (Sw de grano medio) 1993 -1997 µP y comunicaciones en el mismo chip (grano fino) 1983 -1987 1988 -1992 1993 -1997 Multiprocessor systems-on-chips (MPSo. Cs) Hoy 4. . 32 núcleos ¿Se llegará a 400 en 2020?

arq. Ava Tendencias Introducción-124 MÁQUINAS BASADAS EN µP COMERCIALES ¿MUCHOS µP SENCILLOS O POCOS

arq. Ava Tendencias Introducción-124 MÁQUINAS BASADAS EN µP COMERCIALES ¿MUCHOS µP SENCILLOS O POCOS Y POTENTES? ¿QUÉ TIPO DE MÁQUINA PARALELA? MÁQUINAS MÁS POTENTES: ¿CUÁLES Y PARA QUÉ? ¿QUÉ SISTEMA OPERATIVO?

arq. Ava Las máquinas más potentes (Nov/2020) Introducción-125 www. top 500. org ¿Qué micros

arq. Ava Las máquinas más potentes (Nov/2020) Introducción-125 www. top 500. org ¿Qué micros se utilizan? Micros convencionales de gama alta SUN/Oracle Intel IBM Intel Cray AMD Cray HP Otros 96% 91, 8% 4, 2%

arq. Ava Las máquinas más potentes (Nov/2020) Introducción-126 www. top 500. org ¿Cientos o

arq. Ava Las máquinas más potentes (Nov/2020) Introducción-126 www. top 500. org ¿Cientos o miles de micros? Total 72. 466. 126 Total Max 10. 649. 600 Med 144. 932 Min 14. 848 Sin TOP 10 86. 574 4. 123 Pi

arq. Ava Las máquinas más potentes (Nov/2020) Introducción-127 www. top 500. org ¿Qué arquitecturas

arq. Ava Las máquinas más potentes (Nov/2020) Introducción-127 www. top 500. org ¿Qué arquitecturas dominan? Constelación SMP SIMD Mono MPP Cluster

arq. Ava Las máquinas más potentes (Nov/2019) Introducción-128 www. top 500. org ¿Cuáles? N

arq. Ava Las máquinas más potentes (Nov/2019) Introducción-128 www. top 500. org ¿Cuáles? N Ordenador Tflops Ubicación #Núcleos 1 Fugaku A 64 FX 48 C 442. 010 Fujitsu RIKEN Center for Computational (Japón) 7. 630. 848 2 Summit IBM Power + NVidia 148. 600 Oak Ridge National Laboratory (USA) 2. 414. 592 3 Sierra IBM Power + NVidia 94. 640 Lawrence Livermore National Laboratory (USA) 1. 572. 480 4 Sunway Taihu. Light 93. 015 National Super Computer Center (China) 5 Selene AMD 64 C + NVidia 63. 460 NVIDIA Corporation (USA) 555. 520 42 Mare. Nostrum 4 Xeon 24 C 6. 471 Barcelona Supercomputer Center (España) 153. 216 Centros: 3, 1, 7, 6, 7, 5, 3, 3, 3, 2, Puesto: 5, 11, 5, 9, 26, 60, 87, 118, 114, 36, 10. 649. 600 2, 2, 2, 1, 1, 1, 2, 2, 1 34, 57, 93, 129, 13, 16, 25, 30, 42

arq. Ava Las máquinas más potentes (Nov/2020) Introducción-129 www. top 500. org ¿En qué

arq. Ava Las máquinas más potentes (Nov/2020) Introducción-129 www. top 500. org ¿En qué se utilizan?

arq. Ava Las máquinas más potentes (Nov/2020) Introducción-130 www. top 500. org ¿Qué S.

arq. Ava Las máquinas más potentes (Nov/2020) Introducción-130 www. top 500. org ¿Qué S. O. usan? OSF UNICOS Otros Solaris HP-UX AIX CMOST IRIX UNIX Linux Windows => 0

arq. Ava ¿Quién se come a quién? now. cs. berkeley. edu/ Introducción-131 FIN

arq. Ava ¿Quién se come a quién? now. cs. berkeley. edu/ Introducción-131 FIN