Paralelismo, modelos, límites y problemas

Presenter Notes

Resumen:

  • Límites.
  • Roofline Model.
  • Moore's Law
    • Dennard scaling.
  • The free lunch is over.
  • Bill Dally quote, Pollack's Rule.
  • Dark silicon.
  • Taxonomía Flynn: SISD, SIMD, MIMD.
  • Amdahl's Law vs. Gustafson-Barsis' Law
    • Strong vs. weak scaling.

Nicolás Wolovick 20200406

Presenter Notes

Límites

Presenter Notes

Problemas y límites

Obtener lo máximo de un núcleo.

  • Operaciones de punto flotante (GFLOPS).
  • Ancho de banda de memoria (GBps).

Dependiendo de la aplicación los límites pueden ser:

  • CPU-bound.
  • Memory-bound.

(usualmente memory-bound, excepto tests para lucirse: TOP500)

Presenter Notes

Performance pico

Usualmente referido a GFLOPS.

#FPU x Clock x #Core

Supuestos

  • Ejecución OoO es capaz de tirar 1op por clock.
  • Hay #FPU unidades de punto flotante independientes.

¿Punto flotante simple fp32 o doble fp64?

TOP500 usa fp64.

Presenter Notes

Ejemplos performance pico fp64

CPU

  • Alpha 21264 (1 GHz, 2 FPU, Q1'00): 2 GFLOPS.
  • Tegra2 (1 GHz, 1 FPU, 2 cores, Q1'10): 2 GFLOPS.
  • Core 2 Duo P8880 (2.66 GHz, 2 FPU, 2 SIMD-wide, 2 cores, Q2'09): 21.28 GFLOPS.
  • Core i7 960 (3.2 GHz, 2 FPU, 2 SIMD-wide, 4 cores, Q4'09): 51.2 GFLOPS.
  • Xeon E5 2680 v1 (2.7 GHz, 2 FPU, 4 SIMD-wide, 8 cores, Q1'12): 172.8 GFLOPS.
  • Xeon E5 2620 v3 (2.4 GHz, FMA, 2 FPU, 4 SIMD-wide, 6 cores, Q3'14): 230.4 GFLOPS.

GPU

Extraídos de: Alpha [Parello'02], Tegra2 [Ramirez'11], Core i7 960 [Hennessy'11], Xeon E5 2680 [guesstimated], GTX 480 [Wikipedia + 1/8 of f32 GFLOPS], Tesla C2075 [NVIDIA], GTX Titan X [Wikipedia + 1/32 fp32].

Presenter Notes

Cálculo de Ancho de Banda de Memoria

DDRn-F

Donde n es 1,2,3,4 y F es la frecuencia.

BW = channels × 8 (64 bits) × F

Ejemplo, para zx81

bw(DDR4-1600) = 4×8×1600 = 51.2 GBps

El n está metido dentro de la frecuencia, es un truco para abstraer la velocidad real que sigue siendo entre 100 MHz y 233 MHz.

GDDR5

BW = buswidth × F

Ejemplo, para una Titan X

48 (384 bits) × 7 = 336 GBps

(¡Gracias Charlie por estos datos!)

Presenter Notes

Ejemplos de ancho de banda de memoria

CPU

GPU

  • GTX 480 (6 canales, 384 bits, GDDR5@3.696GHz): 177.40 GBps.
  • Tesla C2075 (6 canales, 384 bits, GDDR5@3GHz): 144 GBps.
  • GTX Titan X (¿6? canales, 384 bits, GDDR5@7GHz): 336 GBps.

Extraídos de: Core i7 960 [Intel], Core i7 3960X [Anandtech, Intel], GTX 480 [Hennessy'11], Tesla C2075 [NVIDIA].

Presenter Notes

Cómo se miden estos límites duros

Medición real, no es pico teórico

Nomenclatura

  • Max: real, medida con un programa.
  • Peak: teórica.

Lo más importante

Eficiencia = Max/Peak

Eficiencias por debajo del 80% marcan una arquitectura desbalanceada.

Presenter Notes

¿Cómo tener una eficiencia alta?

 1 #    ##                                 #                          #  
 2 #    ##   m   m  mmmmm   mmm   m mm   mm#mm   mmm   m mm     mmm   #  
 3 #   #  #  #   #  # # #  #"  #  #"  #    #    "   #  #       #   #  #  
 4 #   #mm#  #   #  # # #  #""""  #   #    #    m"""#  #       #""""  #  
 5 #  #    # "mm"#  # # #  "#mm"  #   #    "mm  "mm"#  #       "#mm"  "mm
 6 
 7 
 8 #  #mmmm                      #           #      o                       
 9 #  #    #  mmm   m mm   mmm   #     mmm   #    mmm     mmm   mmmmm   mmm 
10 #  #mmm#      #  #         #  #    #   #  #      #    #      # # #  #   #
11 #  #      m```#  #     m```#  #    #""""  #      #     """m  # # #  #   #
12 #  #      "mm"#  #     "mm'#  "mm  "#mm    mm  mm#mm   mmm   # # #  "#m#"

Presenter Notes

Modelo: intensidad aritmética

q = flop/bytes

  • ¡Cuanto más, mejor!
  • Recordar el memory wall.

FIGURE 6.17 Arithmetic intensity, specified as the number of float-point operations to
run the program divided by the number of bytes accessed in main memory [Williams,
Waterman, and Patterson 2009]

FIGURE 6.17 Arithmetic intensity, specified as the number of float-point operations to run the program divided by the number of bytes accessed in main memory [Williams, Waterman, and Patterson 2009]

Presenter Notes

Roofline model

Intensidad Aritmética, Ancho de banda de memoria, FLOPS

Arithmetic intensity, memory bandwidth, FLOPS

FLOPS/Intensidad = BW

Si conozco la intensidad aritmética de mi problema la relación entre el BW y FLOPS es lineal.

FLOPS = BW * Intensidad

Limitado por el pico teórico de FLOPS de la máquina.

Attainable GFLOPs/sec

Presenter Notes

Ejemplo: Opteron X2

Ancho de banda de 16 GiB/s.
Performance pico de 16 GFLOPS.

FIGURE 6.18 Roofline Model [Williams, Waterman, and Patterson 2009]

Presenter Notes

Ejemplo: Opteron X2 vs. Opteron X4

FIGURE 6.19 Roofline models of two generations of Opterons

Típico: aumentar cores sin tocar el subsistema de memoria.

Computadora desbalanceada.

Presenter Notes

Otras zonas donde moverse

Como cambia el modelo según el grado de optimización (FLOP & Memoria).

FIGURE 6.21 Roofline model with ceilings, overlapping areas shaded, and the two kernels
from Figure 6.18

Presenter Notes

Comparación de varias máquinas

Roofline model of current hardware and computational intensity of various representative algorithms

Lorena A. Barba, Rio Yokota, How will the fast-multipole method fare in the exascale era?, 2013.

Presenter Notes

Moore's Law

La cantidad de transistores se duplica cada 18 meses. G. Moore, Electronics 38(8) April 19, 1965.

Moore, Electronics 38(8) April 19, 1965

Es una observación de mercado, no una ley de la física.
Profecía autocumplida.

Presenter Notes

Y sigue girando ...

asd

Nada cambió.

Presenter Notes

Dennard scaling

Esta si es una ley de la ¿física? ¿electrónica?
Posibilitó "ley" de Moore se mantuviera por 30 años.

Dennard Scaling

Observar: transistores son más pequeños y densidad de potencia es constante.

MOSFETs continue to function as voltage-controlled switches while all key figures of merit such as layout density, operating speed, and energy efficiency improve – provided geometric dimensions, voltages, and doping concentrations are consistently scaled to maintain the same electric field.

Presenter Notes

El fin de ILP

En el 2001 se acabó la veta del ILP.

Dally, The Last Classical Computer

Bill Dally, The Last Classical Computer, 2001.

Presenter Notes

El fin de Dennard scaling

An Update on Moore's Law

Gordon Moore, An Update on Moore's Law, Keynote Presentation at ISSCC 2003.

Presenter Notes

El gran gráfico

Figure 1: Intel CPU Introductions (graph updated August 2009; article text original from December 2004)

Herb Sutter, The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software, 2005.

Presenter Notes

El gran gráfico, continúa

The end of Scaling

Bill Dally, Efficiency and Programmability: Enablers for ExaScale, SC13.

Presenter Notes

El gran gráfico, continúa 2

  • Magnus Själander, Margaret Martonosi, Stefanos Kaxiras, Power-Efficient Computer Architectures, Synthesis Lectures on Computer Architecture, 2014.

Presenter Notes

Imprimirse una remera con esto

All performance is from parallelism

-

Machines are power limited

(efficiency IS performance)

-

Machines are communication limited

(locality IS performance)

.

.

Bill Dally, Efficiency and Programmability: Enablers for ExaScale, SC13.

Presenter Notes

Presenter Notes

Energía para Aritmética y Comunicación

Comunicación, distancia y potencia en un chip típico de 20mm × 20mm = 400mm².

Communication Takes More Energy Than Arithmetic

Bill Dally, Efficiency and Programmability: Enablers for ExaScale, SC13.

Presenter Notes

Pollack's Rule

Microprocessor (single core) performance scales roughly as the square root of its complexity, where the logic transistor count is often used as a proxy to quantify complexity.

Pollack's rule using CPU DB: performance vs. transistor count. The regression yields Perfnorm = ntrans^{0.37}.
Pollack's rule using CPU DB: performance vs. normalized area. The regression yields Perfnorm = ntrans^{0.46}.

  • Magnus Själander, Margaret Martonosi, Stefanos Kaxiras, Power-Efficient Computer Architectures, Synthesis Lectures on Computer Architecture, 2014.
  • A. Danowitz, K. Kelley, J. Mao, J.P. Stevenson, M. Horowitz, CPU DB: Recording Microprocessor History, CACM, Vol. 55 No. 4, p55-63, 2012.

Presenter Notes

Pollack's Rule

¿Porqué son multicore los chips?

Presenter Notes

TDP

Solución agregar más cores
¿Solución agregar más cores?

¡Si prendo todos los transistores, se prende fuego!

  • TDP fijo.
  • 2x litografía => 4x cores
  • Mejora eficiencia energética sqrt(x).

¡GAAAAPPP!

Dos soluciones:

  • Apagar transistores.
  • Dynamic frecuency scaling.

Presenter Notes

Dark Silicon

Limitar TDP no usando todos los transistores.

  • Transistor specialization.
  • Heterogeneous computing.

Cuando compramos una CPU/GPU tenemos muchos módulos que raramente usamos todos a la vez.

  • Encoder, decoder de video.
  • Caché.
  • Puertos del OoO limitan.

H. Esmaeilzadeh, E. Blem, R. St. Amant, K.Sankaralingam, D. Burger, Dark Silicon and the End of Multicore Scaling, ISCA11.

Presenter Notes

Dynamic Frecuency Scaling

Dejar que todo se prenda fuego ...

... pero medir la temperatura.

  • Overclocking usando los otros núcleos como disipador.
  • Underclocking si todo se prende fuego.

No se puede suponer que la frecuencia esté fija. Hacer mediciones continuas de la frecuencia durante todo el proceso de cálculo.

Presenter Notes

Paralelismo

Presenter Notes

Taxonomía de Flynn

Taxonomía de Flynn

Si, enseñamos Taxonomía de Flynn en Lic. en Cs. de la Computación.

Presenter Notes

Speedup, eficiencia

Mejora en crudo

speedup

Visión más económica

efficiency

  • Lo que queremos: linear speedup, =100% de eficiencia.
  • Lo que obtenemos: sublinear speedup, <100% de eficiencia.
  • A veces, solo a veces: superlinear speedup >100% de eficiencia.

Presenter Notes

Escalabilidad

Presenter Notes

(escalabilidad de la) Eficiencia

Presenter Notes

Escalabilidad

Escalabilidad

Gráfico de Guillermo Ortiz, exámen de WHPC13.

Presenter Notes

El límite: Amdahl's Law

…the effort expended on achieving high parallel processing rates is wasted unless it is accompanied by achievements in sequential processing rates of very nearly the same magnitude.
— Gene Amdahl

Fórmula

  • S(N): aceleración para N procesadores.
  • P: porción paralelizable.
  • N: número de componentes paralelas.

Figure 1: In Amdahl's Law, speedup is limited by the non-parallelizable serial portion of the work.

Presenter Notes

Amdahl's Law: larga vida al unicore

¡Siempre necesitaremos buena preformance en 1 hilo!

Amdhal's Law

Wikipedia, Amdahl's Law.

Presenter Notes

Ejemplo

Problema

  • Quiero un speedup de 80x.
  • Con 100 procesadores.
  • ¿Qué fracción de la computación original puede ser secuencial?

Respuesta

0.25%

(Hennessy, Patterson, CAAQA4, p.202)

AGGGGGGGGGGGG!

Presenter Notes

Presenter Notes

Aceleración en escala

La ley de Amdahl's pone límites muy fuertes en la paralelización.

Pero...

  • Es para un tamaño de problema fijo.
  • ¡Usualmente a mayor poder de procesamiento, más grande es el set de datos que quiero procesar!

Presenter Notes

Gustafson's Law

…speedup should be measured by scaling the problem to the number of processors, not by fixing the problem size.
— John Gustafson

Supone que el data-set aumenta linelmente con la cantidad de procesadores.

Gustafson's Law

  • S(P): aceleración para P procesadores.
  • P: número de procesadores.
  • α: fracción secuencial.

Presenter Notes

Ni tanto, ni tan poco

Although simply scaling the data size with processor count is rarely appropriate, assuming a fixed problem size for a much larger processor count is often inappropriate as well, since it is likely that users given a much larger multiprocessor would opt to run a larger or more detailed version of an application.

(Hennessy, Patterson, CAAQA4, p.259)

Presenter Notes

Strong vs. Weak Scaling

Strong scaling

El tiempo de procesamiento baja a medida que agregamos "cores" para un problema de tamaño fijo.

Weak Scaling

El tiempo de procesamiento no aumenta a medida que agregamos "cores" para un problema de tamaño variable.

Presenter Notes

Bibliografía

Presenter Notes

Leer

Capítulo 1 de Power-Efficient Computer Architectures, Synthesis Lectures on Computer Architecture:

Presenter Notes

Bibliografía

Presenter Notes

La clase que viene

  • SIMD (aka SSE{2,3,4} AVX{2,512})

Presenter Notes