Академический Документы
Профессиональный Документы
Культура Документы
1.1
1.2
1.3
1.4
1.5
1.6
Una galacia podria tener, digamos, 1011 estrellas. Si cada calculo se hace en 1 ms (extremely figura optimistica), tomaria 109 aos para una iteracin usando algoritmos N2 y casi un ao para una iteracin usando algoritmo aproximado eficiente de N log2 N.
1.7
Astrophysical N-cuerpo por simulacin Scott Linssen (estudiante de pregrado UNC Charlotte).
Programacin Paralela en Sistemas de Informacin Diego A. Aracena Pizarro
1.8
Computacin Paralela
Usando ms de una computadora o un equipo con ms de un procesador, o un procesador con ms de un ncleo, o un ncleo con ms de un pipeline, escalar o VLIW para resolver un problema. Motivos Normalmente el clculo ms rpido - idea muy simple - de que los ordenadores n operando simultneamente y puede lograr el resultado N veces ms rpido - no ser N veces ms rpido, por diversas razones. Otros motivos son: la tolerancia a fallos, mayor cantidad de memoria disponible, ...
1.9
Background
Los ordenadores paralelos - los ordenadores con ms de un procesador - y su programacin - la programacin en paralelo - ha existido por ms de 40 aos
1.10
Gill escribe en1958: ... Por lo tanto, no hay nada nuevo con la idea de programacin paralela, para su aplicacin en los computadores. El autor no puede creer que no habrn dificultades algunas insuperables al aplicarlas en computadoras. No es de esperar que las tcnicas de programacin se apliquen para operar toda la noche. Gran parte de experimentar que queda por hacer. Despus de todo, las tcnicas que se utilizan comnmente en la programacin de hoy en da slo se ganaron a costa de considerables esfuerzos de varios aos. De hecho, el advenimiento de la programacin paralela puede hacer algo para revivir el espritu pionero en la programacin, de lo que parece en la actualidad que se degenere en una ocupacin ms bien aburrida y rutinaria...
Gill, S. (1958), Parallel Programming, The Computer Journal, vol. 1, April, pp. 2-10.
1.11
Factor Speedup
Execution time using one processor (best sequential algorithm) = ts S(p) = Execution time using a multiprocessor with p processors tp
donde ts es el tiempo de ejecucin en un nico procesador y tp es el tiempo de ejecucin en un multiprocesador. S(p) ganancia de velocidad mediante el uso de multiprocesador. Utilice mejor algoritmo secuencial con el sistema de procesador nico. Detrs de algoritmo para la aplicacin paralela puede ser (y por lo general) diferentes.
1.12
S(p) =
1.13
Maximum Speedup
Aumento de velocidad mxima es generalmente p con procesadores p (speedup linear). Es posible obtener speedup superlinear (mayor que p) pero por lo general una razn especfica, como: De memoria adicional en el sistema multiprocesador Algoritmo Nondeterministic
1.14
Maximum Speedup
Amdahls law
ts fts Serial section (a) One processor (b) Multiple processors (1 - f)ts Parallelizable sections
p processors
tp
(1 - f)ts /p
1.15
1.16
Incluso con un nmero infinito de procesadores, maximo speedup se limita a 1/f . Ejemplo: Con slo 5% de fraccin serial, el maximo speedup es 20,
1.17
Solution found
x indeterminate
Programacin Paralela en Sistemas de Informacin Diego A. Aracena Pizarro
1.18
Solution found
Programacin Paralela en Sistemas de Informacin Diego A. Aracena Pizarro
1.19
Sp) (
x t s + t -- p = ---------------------------t
1.20
En el peor de los casos, la bsqueda secuencial es cuando la solucin se encuentra en ltimo sub-espacio. Luego la versin paralela ofrece mas beneficio, i.e.
Sp) (
1.21
En paralelo, el peor de los casos es cuando la solucin se encuentra en el primer sub-espacio en la bsqueda secuencial, i.e.
Sp) (
==t ----1 t
El Speedup depende del sub-espacio que tiene la solucin, pero podra ser alto, tendiente al nmero de sub-espacios.
1.22
1.23
1.24
Computador Convencional
Consta de un procesador ejecutando un programa almacenado en una memoria principal:
Main memory Instructions (to processor) Data (to or from processor) Processor
Cada localizacin de memoria principal, ubicada por su direccin. Con direcciones desde 0 a 2b 1, cuando hay b bits (dgitos binarios) en la direccin.
Programacin Paralela en Sistemas de Informacin Diego A. Aracena Pizarro
1.25
Interconnection network
Processors
1.26
Processors
Shared memory
Bus
1.27
Processor
L1 cache L2 Cache Bus interface
Processor
L1 cache L2 Cache Bus interface
Processor
L1 cache L2 Cache Bus interface
I/O bus
Shared memory
Memory
1.28
Usando: Threads descomposicin en secuencias paralelas individuales (hilos), cada una puede acceder a variables externas al hilo. Ejemplo Pthreads Lenguaje de programacin con preprocesador compilador de directivas para declarar variables compartidas y especificar paralelismo. Ejemplo OpenMP - industry standard necesita compilo OpenMP Lenguaje de programacin con sintaxis para declarar variables compartidas y especificar el paralelismo. Ejemplo UPC (Unified Parallel C) necesita compilo UPC. Lenguaje de programacin paralelo con sintaxis para expresar paralelismo - compilador crea cdigo ejecutable para cada procesador (poco comn ahora) Lenguaje de programacin secuencial y pregunta la paralelizacin sugerida por el compilador para convertirlo en cdigo ejecutable paralelo. ya no existe
Programacin Paralela en Sistemas de Informacin Diego A. Aracena Pizarro
1.29
Local memory
Computers
1.30
Redes de Interconexin
Limitadas y pequeas interconexiones Mallas de 2- y 3-dimensiones Hypercube (no muy comn ahora) Usando Switches: Crossbar Arboles Networks de interconexin Multietapas
1.31
1.32
Hipercubo Tridimensional
110 100 111 101
011
1.33
Hypercubo 4-dimensiones
0110 0100 0101 0111 1100 1110 1101 1111
0011 1000
1010 1001
1011
1.34
Crossbar switch
Memories
Processors
Switches
1.35
Arbol
Root Links Switch element
Processors
1.36
Hacer una memoria principal de un grupo de computadores interconectados como una sola memoria con espacios de direccin nicos. Donde se puede utilizar tcnicas de programacin con memoria compartida.
Interconnection network Messages Processor
1.38
Taxonomia de Flynns
Flynn (1966) crea una clasificacin para los equipos basados en flujos de instruccin y flujos de datos:
Simple Instruccin Simple Dato (SISD) computer
Single processor computer - single stream of instructions generated from program. Instructions operate upon a single stream of data items.
1.39
1.40
1.41
Data
Programacin Paralela en Sistemas de Informacin Diego A. Aracena Pizarro
Data
1.42
1.43
1.44
Ventajas Claves :
Estaciones de trabajo de alto rendimiento y PCs fcilmente disponibles a bajo costo. Los ltimos procesadores pueden ser fcilmente incorporados al sistema a medida que estn disponibles. El software existente puede ser utilizado o modificado.
Programacin Paralela en Sistemas de Informacin Diego A. Aracena Pizarro
1.45
1.46
Clusters Beowulf *
Un grupo de computadores interconectados para lograr un alto desempeo a bajo costo. Normalmente mediante interconexiones existentes - Ethernet de alta velocidad, Fast y Gigas, con sistema operativo Linux o NT. * Beowulf viene del nombre del proyecto en la NASA Cluster Goddard Space Flight Center.
Programacin Paralela en Sistemas de Informacin Diego A. Aracena Pizarro
1.47
Cluster Interconectados
Originalmente fast Ethernet en clusters de bajo costo Gigabit Ethernet camino facil de upgrade
Ms especializados/HPC
Myrinet - 2.4 Gbits/sec - desventajas: nico vendedor cLan SCI (Scalable Coherent Interface) QNet Infiniband interface inportante que puede ser integrada en las siguientes generaciones PCs
Programacin Paralela en Sistemas de Informacin Diego A. Aracena Pizarro
1.48
User
External network
1.49