Cálculo Científico con Computadoras Paralelas
Transcript of Cálculo Científico con Computadoras Paralelas
![Page 1: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/1.jpg)
Calculo Cientıfico con Computadoras Paralelas
Victorio E. Sonzogni
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 2: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/2.jpg)
Objetivos
Presentar una introduccion al calculo cientıfico en computadorasparalelas
Desde el punto de vista del ingeniero analista numerico
Programacion de algoritmos de resolucion numerica
Problema tıpico: solucion de sistemas de ecuaciones algebraicassimultaneas lineales (SEAL)
Estrategias de paralelizacion
Eficiencia y escalabilidad de programas paralelos
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 3: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/3.jpg)
Temario
Introduccion - Arquitecturas de computadoras paralelas
Medicion de velocidad de procesamiento
Vectorizacion
Analisis de algoritmos mediante grafos
Modelos y estrategias de paralelizacion
Eficiencia de programas paralelos
Programacion en el modelo de memoria compartida
Programacion en el modelo de memoria local
Algoritmos paralelos para algebra lineal
Metodos directos e iterativos de resolucion de SEAL
Paralelizacion en programas de elementos finitos
Metodos de descomposicion del dominio
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 4: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/4.jpg)
Clase introductoria
Necesidades de calculo intensivo en ingenierıas
Evolucion de las computadoras
Computadoras con varios procesadores
Arquitecturas paralelas
Aspectos de la programacion paralela
Ejemplos de aplicacion en mecanica computacional
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 5: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/5.jpg)
El calculo en ingenierıa
La evaluacion de magnitudes que cuantifiquen el estado mecanico deestructuras, piezas industriales, recursos naturales, tejidos organicos, etc.puede efectuarse por algunas de las siguientes maneras:
Experimental
Analıtica (Teorica)
Numerica
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 6: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/6.jpg)
El calculo numerico
La metodologıa para realizar una simulacion numerica implica:
Desarrollo de un modelo matematico → problema matematico
Solucion numerica del problema matematico
Desarrollo de software para la solucion numerica
Verificacion de los metodos numericos con casos simples
Validacion del modelo matematico con resultados experimentales
Utilizacion practica para predecir comportamiento.
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 7: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/7.jpg)
Aproximaciones
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 8: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/8.jpg)
Problema fısico
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 9: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/9.jpg)
Modelo teorico
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 10: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/10.jpg)
Modelo numerico
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 11: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/11.jpg)
Grandes desafıos de calculo cientıfico
Office of Science and Technology (USA)High Performance Computing and Communication (HPCC)
La Oficina de Ciencia y Tecnologıa del gobierno norteamericanoestablecio en 1987 los grandes desafıos computacionales para losproximos 10 anos, que incluıan:
Dinamica de fluidos computacional para:Diseno de vehıculos (aviones, automoviles, etc.)Prediccion meteorologicaExtraccion de petroleo, etc.
Calculos de estructura electronica para diseno de nuevos materialesDinamica de plasma (energıa nuclear)Cromodinamica cuanticaComputacion simbolica (reconocimiento del habla, visioncomputacional, etc.)
Luego se agregaron otras aplicaciones incluyendo:Genoma humanoDiseno de farmacosetc.
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 12: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/12.jpg)
Grandes desafıos de calculo cientıfico
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 13: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/13.jpg)
Necesidad de calculo intensivo
Aun hoy sigue habiendo necesidad de altas prestaciones para poderafrontar muchos problemas entre ellos:
interaccion aerodinamica 3D entre el flujo de aire y una estructura;
flujo 3D en una camara de combustion ;
simulacion numerica de reservorios de petroleo;
modelado climatico;
diseno de materiales;
diseno de drogas;
comprension de sistemas biologicos;
analisis y manejo de riesgos;
manejo del efecto invernadero;
etc.
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 14: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/14.jpg)
Nota diario ABC de Espana 27/02/2012
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 15: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/15.jpg)
Nota diario ABC de Espana 27/02/2012
En el Massachusetts Institute of Technology (MIT) explicaron, graciasa una simulacion por computadoras, el misterio que rodea a loselectrones de alta velocidad en el espacio que, ademas, son lo quecausan las auroras boreales.
El equipo informatico, llamado Kraken, tiene 112.000 procesadorestrabajando en paralelo y consume tanta electricidad como una ciudadpequena.
La Kraken figura en el puesto numero 11 del Top500 de noviembre de2011, detras de la RoadRunner.
En la investigacion se utilizaron 25.000 de estos procesadores durante11 dıas, para seguir los movimientos de las 180.000 millones departıculas en el espacio durante el transcurso de un evento dereconexion magnetica.
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 16: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/16.jpg)
Porque se necesitan computadoras mas veloces?
Alcanzar el grado de realismo indispensableMatematico
estabilidad de las solucionescomportamiento no linealsingularidades
Numerico: convergencia de las solucionesFısico: realismo en la representacion del sistema estudiado
Integracion Metodos de solucion - Herramientas de diseno (CAD)
Calculo en tiempo real → procedimientos de control
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 17: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/17.jpg)
Evolucion de la potencia de calculo
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 18: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/18.jpg)
Evolucion de la potencia de calculo
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 19: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/19.jpg)
Por que computacion paralela ?
Computadoras clasicas → arquitectura de Von Neumann: unico flujo deinstrucciones y unico flujo de datos.
Un procesador toma datos de memoria; hace los calculos y escribe elresultado en memoria. Proceso secuencial.
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 20: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/20.jpg)
Por que computacion paralela ?
Mejoras tecnologicas → mayor velocidad de calculo.
Lımite fısico → velocidad de la luz!.
El ciclo de reloj interno de computadoras: nanosegundos(1ns = 10−9s)
En 1ns la electricidad viaja unos 30cm. La distancia entre procesadory memoria puede ser una fraccion importante de esa distancia.
Por otro lado, la generacion de calor aumento con la potencia cubicade la velocidad de reloj. Un lımite practico es 3 ∼ 6 GHz.
Salida → procesamiento paralelo
en computadoras secuencialesen computadoras paralelas
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 21: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/21.jpg)
Diseno de computadoras frente a los desafıos en HPC
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 22: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/22.jpg)
Paralelismo en computadoras sequenciales
La ejecucion concurrente de diferentes tareas puede hacerse con variosprocesadores, pero tambien en computadoras con un solo procesador.
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 23: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/23.jpg)
Paralelismo en computadoras sequenciales
Una computadora tradicional (Von Neumann) tiene una unidad funcional,una unidad de control, y una memoria. Un calculo basico se hace en lassiguientes etapas:
1) se trae una instruccion de memoria y se decodifica;
2) se calcula la direccion en memoria de los datos requeridos;
3) se traen los datos;
4) se hace la cuenta en la unidad funcional;
5) se escribe el resultado nuevamente en memoria.
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 24: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/24.jpg)
Paralelismo en computadoras sequenciales
Hay varias maneras de introducir paralelismo en computadorassecuenciales:
Multiples unidades funcionales
Pipelining
Instrucciones vectoriales
Encadenamiento
Organizacion de memoria
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 25: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/25.jpg)
Multiples unidades funcionales
La unidad funcional esta dividida en varias unidades que puedentrabajar concurrentemente.
Por ejemplo: una unidad de adicion de punto flotante; una unidad demultiplicacion de punto flotante; y una unidad logica.
El compilador distribuye la tarea de modo de evitar tiempos muertos.
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 26: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/26.jpg)
Paralelismo en computadoras sequenciales
Hay varias maneras de introducir paralelismo en computadorassecuenciales:
Multiples unidades funcionales
Pipelining
Instrucciones vectoriales
Encadenamiento
Organizacion de memoria
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 27: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/27.jpg)
Pipelining
Si una tarea se puede dividir en sub-tareas o pasos, la unidadfuncional tambien se puede dividir en segmentos, cada unoresponsable de cada sub-tarea. Lınea de montaje.
Cada sub-tarea: un ciclo de reloj.
Diferentes sub-tareas se realizan concurrentemente.
Una vez que la linea de montaje esta llena, se completa una tarea encada unidad de tiempo.
El costo de llenar la lınea de montaje depende de la cantidad desegmentos.
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 28: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/28.jpg)
Pipelining
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 29: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/29.jpg)
Pipelining: adicion en punto flotante
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 30: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/30.jpg)
Pipelining: adicion en punto flotante
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 31: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/31.jpg)
Paralelismo en computadoras sequenciales
Hay varias maneras de introducir paralelismo en computadorassecuenciales:
Multiples unidades funcionales
Pipelining
Instrucciones vectoriales
Encadenamiento
Organizacion de memoria
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 32: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/32.jpg)
Instrucciones vectoriales
Las instrucciones vectoriales especifican una operacion a llevar a caboen un conjunto de datos ordenados en un arreglo unidimensional(vectores).
La unidad funcional esta dividida en varios segmentos
Tambien hay registros vectoriales donde puede accederse a loselementos de un vector en un ciclo de tiempo.
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 33: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/33.jpg)
Paralelismo en computadoras sequenciales
Hay varias maneras de introducir paralelismo en computadorassecuenciales:
Multiples unidades funcionales
Pipelining
Instrucciones vectoriales
Encadenamiento
Organizacion de memoria
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 34: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/34.jpg)
Encadenamiento
El encadenamiento se combina con el pipelining.
El resultado de una operacion en pipelining se dirige a otra, sinesperar que la primera se complete.
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 35: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/35.jpg)
Encadenamiento
Aplicacion tıpica: encadenar multiplicacion y adicion.
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 36: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/36.jpg)
Encadenamiento
do i=1,nv5(i)=(v1(i)*v2(i))+v4(i)
end do
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 37: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/37.jpg)
Paralelismo en computadoras sequenciales
Hay varias maneras de introducir paralelismo en computadorassecuenciales:
Multiples unidades funcionales
Pipelining
Instrucciones vectoriales
Encadenamiento
Organizacion de memoria
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 38: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/38.jpg)
Organizacion de memoria
El flujo de datos desde y hacia la memoria: parte crıtica del diseno decomputadoras.
Evitar perdidas de tiempo moviendo datos.
Organizacion jerarquica de memoria.
Memoria → Cache → Registros
Re-uso
Memoria dividida en bancos, que pueden accederse en paralelo
Si los datos estan en el mismo banco: conflicto de bancos.
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 39: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/39.jpg)
Memoria jerarquica
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 40: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/40.jpg)
Supercomputadoras
El termino supercomputadora refiere al equipo mas poderosodisponible en ese momento.
Este termino se uso por primera vez en 1964 cuando la CDC 6600alcanzo 1 MFLOPS (un millon de operaciones punto flotante porsegundo).
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 41: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/41.jpg)
Supercomputadoras
Los equipos mas poderosos pueden clasificarse en:
High Performance Workstations
Superservers
Near Supers
Large Supercomputers
High Performance Workstations → 10 ∼ 100MFLOPS;Superservers, → arriba de 500MFLOPS;Near Supers → en el orden de GFLOPS (gigaflops)
Large Supercomputers → en el orden de TFLOPS (teraflops).
Como la velocidad de procesamiento cambia tan rapido, un mejor ındice para
clasificarlos parece ser el precio . . . .
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 42: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/42.jpg)
Supercomputadoras
Primera generacion, 60’-70’:
pipelined CDC6600, CDC7600,STAR-100, etc,
y el array processor ILLIAC IV.
Segunda generacion:
CRAY-1 con instrucciones vectoriales,
CDC CYBER 203.
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 43: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/43.jpg)
Supercomputadoras
Tercera generacion :Combina procesadores vectoriales y array processors,
CDC CYBER 205, CRAY-2, CRAY-XMP, ETA-10, Fujitsu VP-400, Hitachi
s810/20, NEC SX2-400, etc.
Cuarta:Multiprocesadores: multiprocesadores vectoriales y MPP (massivelyparallel processors).
CRAY-3, CRAY-T90, CRAY T3E, CM5, Intel Paragon XP/5, Fujitsu VPP500, NEC SX-4/32, etc.
En MPP pueden ponerse las maquinas actuales mas veloces, como ASCI
White, ASCI Red o ASCI Blue.
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 44: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/44.jpg)
Breve historia de las computadoras paralelas
La idea de calculo paralelo es aun anterior a las modernas computadoras.Menabrea, en 1842, refiriendose a la maquina analıtica de Babbage, de1822, dijo:
When a long series of identical computations is to beperformed, such as those required for the formation of numericaltables, the Babbage Analytical Engine can be brought into playso as to give several results at the same time, which will greatlyabridge the whole amount of the processes.
Charles Babbage(1791-1871)
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 45: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/45.jpg)
Breve historia de las computadoras paralelas
Primera calculadora electronica digital de proposito multiple: ENIAC(1943-1946).
25 unidades de computo independientes (adicionadores,multiplicadores), cada una siguiendo su propia secuencia deoperaciones y cooperando para resolver un problema comun.
Version electronica, discreta, de los analizadores diferencialesanalogicos.
Metodo numerico: diferencias finitas
Variables asignadas a diferentes unidades.
I/O fısicamente conectadas a un panel de enchufes, segun lasecuaciones a resolver.
No habıa programa almacenado en la computadora. Cada nuevoproblema requerıa redefinir la arquitectura.
Despues vinieron computadora con programa almacenado, y casi 35anos de computadoras mono-procesador
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 46: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/46.jpg)
Breve historia de las computadoras paralelas
ENIAC (1943-1946)
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 47: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/47.jpg)
Breve historia de las computadoras paralelas
UNIVAC 1 (1950), primera computadora comercial de programaalmacenado. Aritmetica serial por bit: la suma de numeros de 32 bitsse efectuaba en 32 ciclos de maquina sumando un bit a otro.
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 48: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/48.jpg)
Breve historia de las computadoras paralelas
IBM
IBM 701 (1953). Primera computadora comercial con aritmeticaparalela.IBM 704 (1955). Primera computadora comercial con unidad de puntoflotante. Se produjo durante 20 anos. Operaciones I/O usabanregistros de la unidad aritmetica.IBM 709 (1958). Tenıa canales de I/O: procesadores separados paraI/O trabajando en paralelo con la unidad aritmetica.
IBM 701
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 49: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/49.jpg)
Breve historia de las computadoras paralelas
Entre 1950 y 1980:
Tecnologıa de transistoresSolo sistemas basados en un unico flujo de instrucciones y datostuvieron exito comercial.
Disenos estructurales innovativos
Von Neumann (1952): diseno un arreglo 2D de procesadoresHolland (1959): conjunto de procesadores que obedecıan su propioflujo de instrucciones.Pease (1977): Hipercubos de dimensiones 1, 2, ..n conectando 2n
procesadores.Millard (1975): Hipercubo con dos procesadores en cada nodo(comunicacion y calculo).pero sin productos comercialmente viables
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 50: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/50.jpg)
Breve historia de las computadoras paralelas
En los 60’ y 70’ se introdujo mas paralelismo en los monoprocesadores.
Ferranti ATLAS (1962)
Multiprogramas (tiempo compartido)Memoria virtualAcceso en paralelo a la memoria a traves de bancosMultiples unidades funcionales.Cache: buffer de alta velocidad entre la memoria y los registrosaritmeticos.Ejecucion de instrucciones en pipelining: trae la instruccion; calcula ladireccion de los operandos; trae los operandos; realiza la operacion.
CDC 6600 (1964, S, Cray):
Primera en usar el paralelismo funcional como caracterıstica destacada.
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 51: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/51.jpg)
Breve historia de las computadoras paralelas
Seymour Cray funda Cray Research Inc. en 1972.
CRAY-1 (1976):
Primera computadora vectorial12 unidades vectoriales funcionales (3 para vectores)Memoria accesible por 16 bancos8 registros vectoriales32 instrucciones vectoriales
CRAY X-MP (1982):
2 CRAY-1 con memoria comun, compartida.procesadores capaces de ejecutar sus propias instruccionessimultaneamente.
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 52: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/52.jpg)
Breve historia de las computadoras paralelas
Computadoras multiprocesadores. SIMD
SOLOMON (Simultaneous Operation Linked Ordinal MOdularNetwork) (Slotnik, 1962)
Arreglo 2D de 32× 32 elementos procesadores con memoria local de128 palabras y aritmetica serial por bit.Unico flujo de instrucciones, enviado por la unidad de control central.Memoria accesible por 16 bancosEsta maquina no se llego a construir, pero dio lugar a la ILLIAC IV,ICL DAP, ...
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 53: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/53.jpg)
Breve historia de las computadoras paralelas
Computadoras multiprocesadores. SIMD
ILLIAC IV (1967-1975):
4 cuadrantes, cada uno con una unidad de control y un arreglo de8× 8 procesadores con 2K de memoria local.Cuadrantes conectados por un bus I/O.Muy ambicioso para su tiempo4 lenguajes desarrollados para ILLIAC (Tranquil, Glypnir, Actus, CFDFortran)
ICL Distributed Array Processor (1972-1980):
Arreglo de 64× 64 procesadores con conecciones near-neighbour.
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 54: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/54.jpg)
Breve historia de las computadoras paralelas
Computadoras multiprocesadores.SIMD (Single Instruction stream - Single Data steam)
Una unica instruccion es procesada simultaneamente sobre diferentesdatos.
Connection Machine CM-1 y CM-2 (65536 proc.)
DAP 610 (4096 proc.)
MasPar MP-1 (1024 a 16384 proc.)
fueron desarrolladas durante la decada de 1980
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 55: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/55.jpg)
Breve historia de las computadoras paralelas
Computadoras multiprocesadores.MIMD (Multiple Instruction stream - Multiple Data steam)
Varios flujos de instrucciones aplicados a diferentes flujos de datos.
CRAY X-MP y CRAY 2 (4 procesadores), ETA-10 (8 procesadores).
Carnegie-Mellon C.mmp y Cm* (1972-1977):
16 minicomputadoras DEC PDP-11 completamente conectadas a 16modulos de memoria; espacio de direccionamiento compartidoCm*: memoria local, espacio de direccionamiento virtual compartido..
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 56: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/56.jpg)
Architectura de computadoras paralelas
Computadoras multiprocesadores.MIMD (Multiple Instruction stream - Multiple Data steam)
Cosmic Cube (Fox-Seitz, 1984):
Hipercubo de 26 microprocesadores con un host (por ej. VAX 11/780).Memoria localComunicacion por intercambio de mensajes.Version comercial: Intel iPSC
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 57: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/57.jpg)
Architectura de computadoras paralelas
Computadoras multiprocesadores.MIMD (Multiple Instruction stream - Multiple Data steam)
En la ultima decada se construyeron los equipos mas velocescompuestos por miles de procesadores. MIMD.
Clusters: en 1994 T. Sterling y D. Becker, en la NASA, construyeronun sistema de microprocesadores conectados por redes de altavelocidad. Proyecto Clusters Beowulf.
Redes de computadoras. A escala mundial. Redes heterogeneas.Proyectos: Genoma Humano; SETI (busqueda de vida extraterrestre,etc.)
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 58: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/58.jpg)
Architectura de computadoras paralelas
Las computadoras paralelas pueden clasificarse segun diferentes criterios:
Granularidad de hardware
Interconexion
Acceso a memoria
Control de flujo
etc.
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 59: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/59.jpg)
Granularidad de hardware
Granularidad Gruesa:Pocos procesadores poderosos ( 2, 4, 8 hasta 16 proc.)CRAY-2, CRYA-XMP, CRAY-YMP, IBM 3090, NEXC SX3, DEC VAX9000, Silicon Graphics 4d/340, ETA 10E, Fujitsu VPP 300, etc.
Granularidad fina:Cientos o miles de pequenos procesadores.Connection Machine CM2 (65536 proc.), DAP 610 (4096 proc.),MasPar MP 1 (1024 - 16384 proc.), MPP (ASCI RED, etc.), GPGPU
Granularidad intermedia:Decenas o centenares de procesadores.Las hipercubos como Intel IPSC/860 (hasta 128 proc.), NCUBE (64 -2048 proc.), Meiko (4 - 512 proc.).
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 60: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/60.jpg)
Interconexion
Describe la topologıa de hardware.
Varias maneras de conectar los procesadores entre sı y con lamemoria.
Configuraciones estatica o dinamica.
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 61: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/61.jpg)
Interconexion
En una configuracion estatica las conexiones son fijas, no puedenreconfigurarse.La topologıa estatica, puede a su vez ser:
uni-dimensional (arreglos lineales o anilllos)
bi-dimensional (grillas)
tri-dimensional (cubos)
n−dimensional (hipercubo).
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 62: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/62.jpg)
Interconexiones estaticas
(P: procesadores; M: memoria)Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 63: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/63.jpg)
Hipercubos
Topologıa n−dimensional
Vertices del hipercubo son procesadores y los lados son conexionesdirectas.
Cantidad de procesadores: p = 2n.
Cantidad de cables que llegan a un procesador: dimension del espacion = log2p.
Tambien n es la cantidad de pasos necesarios para comunicar unprocesador con cualquier otro.
Topologıa de tamano fijo: no puede crecer. (En un anillo o un arreglo
lineal es facil agregar un nodo y cada uno recibe dos cables, pero la cantidad
de pasos para alcanzar cualquier nodo crece con la cantidad de procesadores
p)
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 64: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/64.jpg)
Hipercubos
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 65: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/65.jpg)
Toro 3D
Toro 3D usado en CRAY T3D (MPP) Cada nodo forma parte de tresanillos.
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 66: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/66.jpg)
Topologıas dinamicas
Las topologıas dinamicas tienen llaves (switchs) que permiten cambiarla configuracion.
Pueden ser: single-stage, multi-stage o crossbar.
La forma mas simple de conectar varios procesadores es a traves deun bus
Un nodo puede conectarse con cualquier otro, y puede expandirse lared facilmente.Pero puede tener problemas de congestion
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 67: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/67.jpg)
Topologıas dinamicas
(a) Crossbar (b) Bus.
(P: processor; M: memory)
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 68: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/68.jpg)
Interconexiones
Puede interpretarse que las interconexiones entran en una de los siguientesgrupos:
Cada procesador esta directamente conectado a todos los otros.
Cada procesador esta conectado a todos los otros por medio deswitches.
Cada procesador esta conectado solamente a alguno(s) procesadores.Se precisan varios pasos para alcanzar a cualquier otro en la red.
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 69: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/69.jpg)
Acceso a la memoria
La forma en que los procesadores pueden acceder a la memoria permiteclasificarlos en memoria compartida y memoria local.
Memoria compartida: todos los procesadores pueden acceder acualquier posicion en la memoria. ( CRAY 2, Cray YMP, SGI Origin2000, DEC Alpha Server 8000, etc.)
Memoria local: cada procesador accede solamente a su propiamemoria. (Hipercubos, MPP o clusters de microprocesadores.)
La manera de programar en computadoras paralelas depende en gran partede como es el acceso a la memoria. En arquitecturas de memoria local seprecisa manejar envıo de mensajes.
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 70: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/70.jpg)
Acceso a la memoria
Shared memory
Local memory
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 71: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/71.jpg)
Ubicacion de la memoria
Un topico diferente es la localizacion de la memoria. Esta puede sercentralizada o distribuida.
Memoria centralizada : fısicamente en un lugar.
Memoria distribuida: esta particionada y cada parte asociada a unprocesador.
Generalmente la memoria centralizada es de acceso compartido, y lamemoria distribuida de acceso local, pero hay casos la memoriafısicamente distribuida pero de acceso compartido (SGI Power ChallengeArray, Convex Exemplar, CM 2, BBN, Myrias, etc.).
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 72: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/72.jpg)
Control de flujo
Una clasificacion popular, introducida por Flynn (1966), esta basada en laconcurrencia de flujos de instrucciones y datos.Clasifica las computadoras en cuatro grupos:
SISD
SIMD
MISD
MIMD
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 73: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/73.jpg)
Taxonomıa de Flynn
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 74: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/74.jpg)
Control de flujo
SISD: Single Instruction flow - Single Data flowArquitecturas secuenciales (von Neumann): un unico flujo deinstrucciones y un unico flujo de datos. (CDC 6600, o la mayorıa delas computadoras personales)
SIMD: Single Instruction flow - Multiple Data flowUn unico flujo de instrucciones se ejecuta simultaneamente, por variosprocesadores, sobre diferentes datos. ( Computadoras vectoriales;computadoras paralelas como ILLIAC IV, y algunas de grano fino:Connection Machine CM 1, CM 2, DAP 610, MasPasr MP 1,GPGPU, etc.).
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 75: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/75.jpg)
Control de flujo
MISD: Multiple Instruction flow - Single Data flowNo es facil hallar ejemplos de esta categorıa. Los llamados systolicarrays pueden ser vistos como computadoras MISD: diferentesprocesadores ejecutan diferentes instrucciones sobre el mismo flujo dedatos.
MIMD: Multiple Instruction flow - Multiple Data flowLas modernas supercomputadoras caen en esta clase. Cadaprocesador ejecuta sus propias instrucciones sobre diferentes datos.(Hipercubos, CRAY, MPP, clusters, etc.)
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 76: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/76.jpg)
Arquitecturas de computadoras paralelas
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 77: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/77.jpg)
Arquitecturas de computadoras paralelas
Classificacion modernaLas computadoras paralelas actuales caen en la clasificacion de MIMD. Seusan otros criterios de clasificacion. Por ejemplo:
Symmetric Multiprocessors (SMP)
Massively Parallel Processors (MPP)
Cache-Coherent Non Uniform Memory Access (cc-NUMA)
Clusters
Distributed Systems
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 78: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/78.jpg)
Arquitecturas de computadoras paralelas
Symmetric Multiprocessors (SMP)
Computadoras con varios procesadores altamente acoplados (o quecomparten todo). Grano grueso. Comparten: memoria, bus, sistemasde I/O, etc. Una unica copia del SO corre en todos los procesadores.(Computadoras de grano grueso o de memoria compartida, suelencaer en este tipo. Tambien una PC con Pentium dual.)
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 79: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/79.jpg)
Arquitecturas de computadoras paralelas
Massively Parallel Processors (MPP)
Sistemas de grano fino. Muchos procesadores que no compartennada. Cada uno tiene su memoria. En cada nodo corre una copia delSO. Estan conectados por red de alta velocidad. ( CRAY T3D, CRAY90, CM 5, CM 200, Intel Paragon, ASCI Red, ASCI White, etc.
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 80: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/80.jpg)
Arquitecturas de computadoras paralelas
Cache-Coherent Non Uniform Memory Access (cc-NUMA)
Cada procesador tiene su memoria, pero el acceso a esta escompartido. Logicamente cualquier procesador puede ver cualquierlugar en la memoria. Pero el tiempo de acceso es diferente, segundonde se encuentre. Los valores de variables en el cache de cadaprocesador deben ser coherentes con los valores en la memoriaprincipal. El SO actualiza los valores de cache. Ej: Convex Exemplar
SPP 1600/XA, SGI Power Challenge
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 81: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/81.jpg)
Arquitecturas de computadoras paralelas
Clusters
Conjunto de microprocesadores, PC, o estaciones de trabajointerconectados con red de alta velocidad.
Distributed Systems
Red convencional de computadoras independientes. Puede ser muyheterogenea en arquitectura, velocidad de procesamiento, etc.
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 82: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/82.jpg)
Arquitecturas de computadoras paralelas
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 83: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/83.jpg)
Top 500 (2014)
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 84: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/84.jpg)
Top 500 (2014)
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 85: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/85.jpg)
Top 500 (2012)
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 86: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/86.jpg)
Top 500 (Sept.2011)
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 87: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/87.jpg)
Top 500 (Sept.2011)
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 88: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/88.jpg)
Niveles de paralelismo
El paralelismo puede ser ejecutado en diferentes niveles:
Nivel de trabajo (Job level)
Nivel de programa
Nivel inter-instrucciones
Nivel intra-instrucciones
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 89: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/89.jpg)
Niveles de paralelismo
Nivel de trabajo (Job level)
Llevado a cabo principalmente por el SO. Administra los diferentestrabajos/programas en el equipo de multiproceso.Puede tomar la forma de:
multiprogramamultiproceso
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 90: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/90.jpg)
Niveles de paralelismo
Nivel de programa
Realizado por el codigo. Dentro del programa de aplicacion. Se puedeintroducir el concepto de granularidad de tareas.El paralelismo a nivel de programa puede ser dividido en:
tareas de granularidad finatareas de granularidad gruesa
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 91: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/91.jpg)
Niveles de paralelismo
Nivel inter-instrucciones
Realizado por el compilador.Requiere que el compilador analice la dependencia de datos entreinstrucciones y superponga sub-operaciones de diferentesinstrucciones.
Nivel intra-instrucciones
Implıcito en el hardware.Existencia de unidades funcionales separadas (adicion, multiplicacion,logica); operaciones vectoriales, pipelining, encadenamiento, etc.
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 92: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/92.jpg)
Modelos de programacion paralela
Memoria compartida
Intercambio de mensajes
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 93: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/93.jpg)
Modelos de programacion paralela
Memoria compartida
Para computadoras de memoria compartidaUn procesador inicia la ejecucion. Cuando una tarea lo requiere, abrevarios hilos (threads) de ejecucion en diferentes procesadores.Requiere:
Zonas memoria compartidaSincronizacion
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 94: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/94.jpg)
Modelos de programacion paralela
Intercambio de mensajes
Para computadoras de memoria localCada procesador corre su propio programa. Precisa intercambiarseinformacion.Requiere:
comunicacion
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 95: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/95.jpg)
Lenguajes para programacion paralela
FORTRAN, C, C++
Memoria compartida:
funciones de bajo niveldirectivas al compilador y extensiones (OMP)macro-lenguajes (Ej: Force, etc.)
Memoria local:
funciones basicas de comunicacionsoftware portable de comunicacion (PVM, MPI)extensiones al lenguaje (HPF)librerıas (PETSc)
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 96: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/96.jpg)
Uno debe elegir...
modelo matematico
modelo numerico
algoritmos de solucion
programacion del codigo
pero tambien
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 97: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/97.jpg)
Uno debe elegir...
modelo matematico
modelo numerico
algoritmos de solucion
programacion del codigo
pero tambien
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 98: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/98.jpg)
Uno debe elegir...
modelo matematico
modelo numerico
algoritmos de solucion
programacion del codigo
pero tambien
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 99: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/99.jpg)
Uno debe elegir...
modelo matematico
modelo numerico
algoritmos de solucion
programacion del codigo
pero tambien
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 100: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/100.jpg)
Uno debe elegir...
modelo matematico
modelo numerico
algoritmos de solucion
programacion del codigo
pero tambien
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 101: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/101.jpg)
Uno debe elegir...
modelo matematico
modelo numerico
algoritmos de solucion
programacion del codigo
pero tambien
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 102: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/102.jpg)
Uno debe elegir...
modelo matematico
modelo numerico
algoritmos de solucion
programacion del codigo
pero tambien
arquitectura de hardware
modelo de programacion paralela
lenguaje
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 103: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/103.jpg)
Uno debe elegir...
modelo matematico
modelo numerico
algoritmos de solucion
programacion del codigo
pero tambien
arquitectura de hardware
modelo de programacion paralela
lenguaje
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 104: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/104.jpg)
Uno debe elegir...
modelo matematico
modelo numerico
algoritmos de solucion
programacion del codigo
pero tambien
arquitectura de hardware
modelo de programacion paralela
lenguaje
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 105: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/105.jpg)
Eficiencia de programas paralelos
Speedup:
Sp =tstp
Eficiencia:
Ep =Sp
p=
tsptp
ts : tiempo de ejecucion secuencial de un programa;tp : tiempo de ejecucion paralela con p procesadores.
Idealmente : Sp → p and Ep → 1En la practica: Sp ≤ p and Ep ≤ 1
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 106: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/106.jpg)
Eficiencia de programas paralelos
Ley de Amdahl:
Si el programa no puede paralelizarse completamente, y si fs es la fraccionserial del programa, a medida que aumenta la cantidad de procesadores(p→∞) el speedup esta acotado por
Sp ≤1
fs
Por ejemplo:para fs = 10% → Sp ≤ 10
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 107: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/107.jpg)
Ley de Amdahl
Speedup
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 108: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/108.jpg)
Ley de Amdahl
Efficiency
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 109: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/109.jpg)
Ley de Gustafson
Ley de Amdahl → fraccion serial fs independiente de p.Pero la fraccion serial depende de la cantidad de operaciones realizadas.Gustafson (1988) lo plantea ası: ¿ Cual serıa el tiempo para procesarsecuencialemnte un dado programa paralelo?Sea f∗
s la fraccion secuencial de las operaciones en el programa paralelocon p procesadoers.
Sp =tstp
= p + f∗s (1 − p)
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 110: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/110.jpg)
Ley de Gustafson
Speedup
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 111: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/111.jpg)
Eficiencia de programas paralelos
Escalabilidad:
Capacidad de mantener la eficiencia aproximadamente constante amedida que la cantidad de procesadores aumenta.
A aumentar p → el tiempo de calculo disminuye
Pero al aumentar p → el tiempo de comunicacion y coordinacionaumenta
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 112: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/112.jpg)
Programacion paralela
Formas de usar el paralelismo
paralelismo de control: permite procesar varias instrucciones al mismotiempo. Cada una en procesadores diferentes.
paralelismo de flujo: trabajo realizado en una lınea de montaje(pipeline)
paralelismo de datos: una operacion se realiza simultaneamente sobrediferentes datos. Cada dato asociado a un procesador.
Se puede asociar estas clases de paralelismo con las arquitecturas deFlynn: MIMD, MISD y SIMD, respectivamente.
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 113: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/113.jpg)
Programacion paralela
Grado de participacion del programador
paralelismo implıcito: la division de tareas en hilo paralelos esrealizada principalmente por el compilador. La participacion delprogramador es -por tanto- mınima. En computadoras de memoriacompartida es tıpica esta forma de trabajo, pero actualmente tambiendisponible en arquitecturas de memoria local.
paralelismo explıcito: la division de tareas en hilo paralelos esrealizada explıcitamente por el programador.
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 114: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/114.jpg)
Solucion de sistemas de ecuaciones
La aplicacion del metodo de los elementos finitos -u otro metodonumerico- conduce a la resolucion del sistema de ecuaciones:
Ku = p
Que puede hacerse por:
Metodos directos
Metodos iterativos
Metodos de decomposicion de dominio
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 115: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/115.jpg)
Metodos directos
Solucion cerrada (”exacta”)
Factorizacion LU → buena para varios sistemas con la misma matriz
Puede evitarse ensamble de la matriz → metodo frontal
Caro para grandes sistemas: O(n3) ops (matriz llena)
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 116: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/116.jpg)
Metodos iterativos
Solucion con una dada tolerancia
Buena estimacion inicial → solucion rapida
No se requiere la matriz completa (solo producto matriz-vector)
Para grandes sistemas, requiere memoria grande (espacio Krylov)
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 117: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/117.jpg)
Metodos de decomposicion del dominio
Divide el dominio en subdominios
Incognitas internas - interfaz
La solucion del sistema completo puede ser particionada en:
g.d.l. internos (en paralelo) directog.d.l. interfaz (acoplado) iterativo
Intermedio entre solucion directa e iterativa
Eficiente precondicionador del problema de interfaz
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 118: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/118.jpg)
Metodos de decomposicion del dominio
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 119: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/119.jpg)
Clusters Beowulf en CIMEC
Clusters de microprocesadores que corren SO libres (ej. GNU/Linux) sedenominan ”clusters Beowulf”.Segun Sterling (“How to build a Beowulf”) un “cluster Beowulf” es: “Acluster of mass-market commodity off-the-shelf (M2COTS) PC’sinterconnected by low cost LAN technology running an open source codeUnix-like OS and executing parallel applications programmed with andindustry standard message passing model and library.”
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 120: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/120.jpg)
Cluster Beowulf Geronimo en CIMEC
Server:Intel Pentium IV PC, 1.8 Ghz, 256 Mb RAM RIMM. HD 80 Gb, withcarrries 2 3COM 3c509 (Vortex) Nic cards
Nodes (x 9)Intel Pentium IV, 2.4 Ghz, 1024 MB RAM DDR 333MHz, 1 3COM3c509 (Vortex) Nic card
Nodes (x 9)Intel Pentium IV, 1.7 Ghz, 512 MB RAM RIMM 400/800Mhz. 13COM 3c509 (Vortex) Nic card
Network3COM Fast Ethernet SuperStack switch.
Desmontado
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 121: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/121.jpg)
Cluster Geronimo
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 122: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/122.jpg)
Cluster Beowulf Aquiles en CIMEC
Server:Intel Pentium4 Prescott 3.0 GHz, motherboards Intel 3.0 GHz y 3 GB memoria RAM(DDR a 400 MHz), con Gigabit Lan on board, 2 TBytes de almacenamiento (disco SATA150 and ATA-100 slots), 1 unidad de diskette 3.5”, 1 placa video Gforce XFX de 64 MB8X, y 1 fuente alimentacion 300 W con 2 ventiladores. Discos rıgidos (10), WesternDigital WD 2000 JD 200 GB capacidad, con 8 MB buffer y veloc. 7200 RPM, interfaceSATA.
Nodes (x 82)Intel Pentium 4 Prescott de 3.0 GHz y 2 GB memoria RAM (DDR a 400 MHz),motherboards Intel de 3.0GHz, con Gigabit Lan on board, 1 unidad diskette 3.5”, placavideo AGP y fuente alimentacion 300 W con 2 ventiladores.
Network2 switch Gigabit ethernet ( 1 Gbit/s), marca 3Com Super Stack 3 Switch 3870, con 48puertos c/u.
Desmontado
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 123: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/123.jpg)
Cluster Aquiles
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 124: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/124.jpg)
Cluster Beowulf Coyote en CIMEC
Server:Xeon E5335 de 2.00 GHz (2 x 4 cores) 16GB RAM
Nodes (x 32)7 Xeon E5420 de 2.50 GHz (2 x 4 cores)17 Xeon W3690 de 3.47 GHz (1 x 6 cores)8 Xeon E5-1660 de 3.30 GHz (1 x 6 cores)
Network1 Gigabit Ethernet switch (1 Gbit /s) con 52 ports cada uno
Total 206 cores.
( http://www.cimec.org.ar/twiki/bin/view/Cimec/CoyoteCluster)
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 125: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/125.jpg)
Cluster Bora en CIMEC
Server:Intel Core i7 2600K (4 cores)
Nodes (x 7)Intel Core i7 3930K 3.20GHz (6 cores), todos con 16 GB de RAM
Network1 Gigabit Ethernet switch (1 Gbit /s) con 52 ports cada uno
( http://www.cimec.org.ar/twiki/bin/view/Cimec/CoyoteCluster)
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 126: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/126.jpg)
Cluster Seshat en CIMEC
Server:Procesador: Intel(R) Xeon(R) CPU E5-2640 v2 @ 2.00GHz (2 CPU x 8 cores)
Nodes (x 69)Procesador: Intel(R) Xeon(R) CPU E5-1620 v2 @ 3.70GHz (1 CPU x 4 cores)
NetworkInfiniband Velocidad: QDR 40 Gbps
Total memoria: 1.2 TBTotal cores: 292 cores
(http://www.cimec.org.ar/c3/seshat/equipos.php)
Imagenes: http://www.cimec.org.ar/c3/seshat/galeria.php
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas
![Page 127: Cálculo Científico con Computadoras Paralelas](https://reader036.fdocument.pub/reader036/viewer/2022071219/62cc2fe8b62e6212d923a70b/html5/thumbnails/127.jpg)
Cluster Pirayu en CIMEC
Server:Procesador: Intel(R) Xeon(R) CPU E5-2650 v3 @ 2.30GHz 25 MB cache (2 CPU x 10cores = 20 cores)
Nodes
Nodos de calculo (29 nodos): Intel(R) Xeon(R) CPU E5-2650 v3 @ 2.30GHz 25
MB cache (2 CPU x 10 cores = 20 cores)
Nodos Xeon Phi (1 nodo): Intel(R) Xeon(R) CPU E5-2650 v3 @ 2.30GHz 25 MB
cache(2 CPU x 10 cores = 20 cores)
Nodos GPU (5 nodos): Intel(R) Xeon(R) CPU E5-2650 v3 @ 2.30GHz 25 MB
cache(2 CPU x 10 cores = 20 cores)
Nodos de almacenamiento (1 nodo): Intel(R) Xeon(R) CPU E5-2670 v3 @ 2.30GHz
30 MB cache (1 CPU x 12 cores) Almacenamiento: 144 TB (36 discos de 4 TB
SATA 3.5”)NetworkInfiniband Velocidad: FDR 56 Gbps
Total nodos: 35 nodosTotal memoria: 4.736 TBTotal cores: 732 cores
(http://www.cimec.org.ar/c3/pirayu/equipos.php)
Victorio E. Sonzogni Calculo Cientıfico con Computadoras Paralelas