La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Cómputo paralelo usando MPI: Simulaciones de N-cuerpos en la física M.A. Rodríguez-Meza Instituto Nacional de Investigaciones Nucleares M.A. Rodríguez-Meza.

Presentaciones similares


Presentación del tema: "Cómputo paralelo usando MPI: Simulaciones de N-cuerpos en la física M.A. Rodríguez-Meza Instituto Nacional de Investigaciones Nucleares M.A. Rodríguez-Meza."— Transcripción de la presentación:

1 Cómputo paralelo usando MPI: Simulaciones de N-cuerpos en la física M.A. Rodríguez-Meza Instituto Nacional de Investigaciones Nucleares M.A. Rodríguez-Meza Instituto Nacional de Investigaciones Nucleares Correo electrónico: Paralelo vs serial 118/08/09UAEH

2 Concepto de secuencia Dia – noche nos levantamos – desayunamos – vamos a trabajar – comemos – regresamos a trabajar – nos vamos al antro -... Hablamos secuencialmente En cualquier parte de la naturaleza y en la vida humana, las actividades se desarrollan y expresan a si mismas a través del principio secuencial. Es natural, por lo tanto, que los algorítmos y programas de cómputo se hayan formulado de acuerdo al concepto de secuencia. De hecho el concepto de algorítmo, antes del nacimiento de las computadoras fue definido como una secuencia finita de operaciones. 2

3 ¿Dónde comenzo todo? Era del hielo: Edad de piedra Edad de bronce El oscurantismo: Bill Gates y Microsoft La manzana, pero no de Newton El renacimiento: Linux y GNU 3

4 Serial Vs. Paralelo: ¿Qué vemos a nuestro alrededor? Q Please COUNTER COUNTER 1 COUNTER 2 Las colas Restaurant

5 Pero... eso es sólo una parte de la historia La actividad humana y la ley natural no sólo son secuenciales sino altamente paralelas. La acción no es sólo secuencial sino que hay acción en todas partes. El paralelismo es tan importante como lo secuencial. Los individuos son secuenciales pero los individuos son parte de organizaciones o de colectividades, actuando en paralelo. Lo mismo es cierto en la naturaleza Las leyes de la naturaleza muchas veces se expresan como campos físicos, funciones definidas en todos lados a un tiempo dado. Por lo tanto, una descripción completa de la actividad humana y de la acción en la naturaleza requiere de los dos conceptos, paralelismo y secuencialidad. 5

6 El concepto básico de la programación en paralelo El proceso: una secuencia de operaciones que pueden ser realizadas por procesador individual. Intercambio de información entre procesos paralelos. Sincronización entre procesos. 6 t x

7 7 El arte de la programación de procesos paralelos Procesos: – Proceso secuencial – Proceso paralelo G Clústers: G Memoria compartida G Memoria distribuida G Clústers: G Memoria compartida G Memoria distribuida Rank Sort Computation: UNSORTED LISTRANK

8 Patrones o categorias – Paralelismo de datos. Un número grande de datos es sujeto a un proceso idéntico o similar. (RC-Catalogo de galaxias) – Partición de los datos. El espacio de datos es particionado naturalmente en regiones adjacentes, cada una de las cuales es operada en paralelo por un procesador diferente. – Algorítmo relajado. Cada proceso paralelo cálcula de una manera auto-suficiente sin sincronización o comunicación entre procesadores. El ordenamiento por rango en paralelo es un ejemplo de un algorítmo relajado. – Iteración sincrónica. Cada procesador realiza el mismo cálculo iterativo en una porción diferente de los datos. Sin embargo, el procesador debe ser sincronizado al final de cada iteración. – Replicated workers. Un pool central de tareas similares es mantenida. Hay un número grandes de trabajadores que sacan tareas del pool, llevan a cabo el cálculo requerido, y posiblemente agreguen una nueva tarea al pool. Todo el cálculo termina cuando el pool se vacia. – Pipelined computation. Los procesos son arreglados en alguna estructura regular tal como un anillo o malla bidimensional. Los datos entonces fluyen a través de toda la estructura del proceso, con cada proceso realizando cierta fase del cálculo total. 8

9 Degradation sources Memory contention. Excessive sequential code. Process creation time. Communication delay. Synchronization delay. Load imbalance. 9

10 Problema de N-cuerpos 10

11 11 Paralelizando la evolución de un sistema de N-cuerpos Ring topology PROCESS 1PROCESS 2PROCESS 3PROCESS 4PROCESS 5TO 1 A B C D E A EB AC BD CE D A DB EC AC BE C A CB DC ED AE B A BB CC DD EE A

12 12 Protocolo Message-Passing Interface (MPI) pnbody: – Funciones 1.MPI_Bcast 2.MPI_Finalize 3.MPI_Barrier 4.MPI_Allreduce 5.MPI_Allgather 6.MPI_Sendrecv 7.MPI_Reduce 8.MPI_Send 9.MPI_Recv 10.MPI_Ssend 11.MPI_Abort 12.MPI_Gather 13.MPI_Init 14.MPI_Comm_Rank 15.MPI_Comm_size G pnbody: G Parámetros 1. ThisTask 2. NTask 3. Ptask G Tipos 1. MPI_Status G pnbody: G Parámetros 1. ThisTask 2. NTask 3. Ptask G Tipos 1. MPI_Status


Descargar ppt "Cómputo paralelo usando MPI: Simulaciones de N-cuerpos en la física M.A. Rodríguez-Meza Instituto Nacional de Investigaciones Nucleares M.A. Rodríguez-Meza."

Presentaciones similares


Anuncios Google