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

Presentaciones similares


Presentación del tema: "Cómputo paralelo usando MPI: Simulaciones de N-cuerpos en la física"— 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 Correo electrónico: Paralelo vs serial 18/08/09 UAEH

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. 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.

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

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

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.

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. t x

7 El arte de la programación de procesos paralelos
Rank Sort Computation: Procesos: Proceso secuencial Proceso paralelo UNSORTED LIST RANK 15 4 10 3 39 7 8 2 22 6 4 0 19 5 6 1 Clústers: Memoria compartida Memoria distribuida Procesos de gobierno Procesos en un restaurant

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.

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

10 Problema de N-cuerpos

11 Paralelizando la evolución de un sistema de N-cuerpos
Ring topology PROCESS 1 PROCESS 2 PROCESS 3 PROCESS 4 PROCESS 5 TO 1 A A B B C C D D E E A E B A C B D C E D A D B E C A E C A C B D C E D A E B A B B C C D D E E A

12 Protocolo Message-Passing Interface (MPI)
pnbody: Funciones MPI_Bcast MPI_Finalize MPI_Barrier MPI_Allreduce MPI_Allgather MPI_Sendrecv MPI_Reduce MPI_Send MPI_Recv MPI_Ssend MPI_Abort MPI_Gather MPI_Init MPI_Comm_Rank MPI_Comm_size pnbody: Parámetros ThisTask NTask Ptask Tipos MPI_Status


Descargar ppt "Cómputo paralelo usando MPI: Simulaciones de N-cuerpos en la física"

Presentaciones similares


Anuncios Google