Introduccin Motivacin y Historia Programacin paralela Consiste de
- Slides: 19
Introducción (Motivación y Historia)
Programación paralela • Consiste de programar en un lenguaje que permite al usuario a indicar la manera en que partes difenentes de una computación se pueden ejecutar concurrentemente mediante procesadores distintos.
Una computadora paralela • Es un sistema de computadora(s) con multiplos procesadores en lo cual se puede llevar a cabo programmación paralela.
Computación en paralelo • Es el uso de una computadora paralela para llevar a cabo programación paralela.
Computación Científica • Las ciencias clasicas se caracterizan por experimentos y modelos. • Las ciencias modernas se caracterizan por observaciones, teoría, experimentos y simulaciones numericas. Simulaciones numericas se usan en lugar de experimentos para economizar dinero y tiempo y, a veces, para circumvenir cuestiones éticas.
Grand Challenges • Muchos problemas científicos importantes son tan complejos que las simulaciones numericas pueden requerer mucho tiempo y recursos computacionales. Se llaman estos problemas “grand challenges”.
Supercomputadoras • Se usó este término por primera vez en 1976 para describir la Cray 1. Tenia un procesador • Hoy en dia una supercomputadora quiere decir una “computadora paralela” con varios procesadores
La rápidez de supercomputadoras • Se mide en “flops” (floating point operations per second) • 1 megaflop = un millón flops • 1 gigaflop = 1000 megaflops • 1 teraflop = 1000 gigaflops • 1 petaflop = 1000 teraflops
La supercomputadora mas rápida • La Tianhe – 1 A en el Centro Nacional de Supercomputadora en Tianhe, China logra a 2. 57 petaflops • http: //www. top 500. org
Computadoras Paralelas Modernas • Consiste de microprocesadores • La tecnologia VLSI (“very large scale integration”) ha reducido el número de chips y asi ha reducido el costo y ha aumentendo confiabilidad (“reliability”).
El Cubo Cósmico • La primera computadora construida de microprocesadores • Constuida por Cal Tech en 1983 • Consistía de 64 microprocesadores INTEL 8086 • Se ejecutaban programas con 5 hasta 10 megaflops
Computadoras Paralelas Comericials de las 80 s y 90 s • • n. CUBE Connection machine MASPAR etc
Beowulf (El primer cluster) • Construido por NASA en 1994 • Construido de hardware disponible en el mercardo y de software gratis • Consistia de 16 procesadores INTEL PX 4 conectados por ethernet • Usaba LINUX y compiladores GNU
Grafos de Dependencias • Se usan para indentificar operaciones que se pueden llevar a cabo en paralelo. • Es un grafo en lo cual cada vértice representa una tarea y hay una flecha de un vértice a otro si el segundo depende del resultado del primero
Tipos de Paralelismo • Paralelismo de datos: Tareas independientes aplican la misma operación a elementos distintos de un conjunto de datos Ejemplo: for (i=0; i<100; i++) a[i]=b[i]+c[i];
Paralelismo Funcional • Tareas independientes aplican operaciones distintas a elementos de datos distintos. • Ejemplo: a=2; b=3; m=(a+b)/2; s=(a 2+b 2)/2; v=s-m 2
Pipelining • Una computación “pipelined” es una computación que se divide en etapas. En todo momento cada etapa está trabajando en una parte de la computación. La salida de una etapa es la entrada a la próxima.
¿Como se programa una computadora paralela? • Se puede extender un compilador para que se pueda detectar paralelismo en un programa secuencial. (e. g. , funcional) • Añadir una capa de lenguaje paralelo a un lenguaje secuencial existente. • Crear un lenguaje paralelo nuevo(e. g. OCCAM) • Extender un lenguaje existente para que el usuario pueda expresar paralelismo
Ejemplos de Lenguajes Extendidos • High Performance FORTRAN, una extensión de FORTRAN 90. Contiene nuevos enunciados y directivas. • C*, una extensión de C. Contiene nuevos tipos de datos • MPI es una biblioteca de funciones que se puede usar con C, C++, o JAVA • Open. MP
- Secuencia de instrucciones finitas
- Programacin
- Qu es la motivacion
- Motivacin
- Motivacin
- La teoría de motivación-higiene de herzberg:
- Motivacin
- Introduccin
- Introduccin
- Introduccin
- Introduccin
- Induccin
- Introduccin
- Retas, semirretas e segmentos de reta
- Programacion paralela
- Nogriežņu attiecība
- Trace uma reta
- 1
- Paralela al brazo de palanca
- Transmision paralela