1 / 12

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

M.A. Rodr íguez -Meza Instituto Nacional de Investigaciones Nucleares. Cómputo paralelo usando MPI: Simulaciones de N- cuerpos en la física. Correo electr ónico : mar@nuclear.inin.mx http:// www.astro.inin.mx /mar. Paralelo vs serial. Concepto de secuencia. Dia – noche

benson
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. M.A. Rodríguez-Meza InstitutoNacional de InvestigacionesNucleares Cómputoparalelousando MPI: Simulaciones de N-cuerpos en la física Correoelectrónico: mar@nuclear.inin.mx http://www.astro.inin.mx/mar Paralelovs serial UAEH

  2. Concepto de secuencia • Dia – noche • noslevantamos – desayunamos – vamos a trabajar – comemos – regresamos a trabajar – nosvamos al antro - ... • Hablamossecuencialmente • En cualquier parte de la naturalezay en la vidahumana, lasactividades se desarrollanyexpresan a simismas a través del principio secuencial. • Es natural, por lo tanto, que los algorítmosyprogramas de cómputo se hayanformulado de acuerdo al concepto de secuencia. De hecho el concepto de algorítmo, antes del nacimiento de lascomputadorasfuedefinidocomounasecuenciafinita de operaciones.

  3. ¿Dóndecomenzotodo? • 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. Q Please Serial Vs. Paralelo: ¿Quévemos a nuestroalrededor? • Las colas • Restaurant COUNTER 2 COUNTER COUNTER 1

  5. Pero ... esoessólouna parte de la historia • La actividadhumanay la ley natural no sólo son secuencialessinoaltamenteparalelas. La acción no essólosecuencialsinoque hay acción en todaspartes. • El paralelismoes tan importantecomo lo secuencial. • Los individuos son secuencialespero los individuos son parte de organizacioneso de colectividades, actuando en paralelo. • Lo mismoescierto en la naturaleza • Las leyes de la naturalezamuchasveces se expresancomocamposfísicos, funcionesdefinidas en todoslados a un tiempo dado. • Por lo tanto, unadescripcióncompleta de la actividadhumanay de la acción en la naturalezarequiere de los dos conceptos, paralelismoysecuencialidad.

  6. El conceptobásico de la programación en paralelo • El proceso: unasecuencia de operacionesquepueden ser realizadasporprocesador individual. • Intercambio de información entre procesosparalelos. • Sincronización entre procesos. t x

  7. El arte de la programación de procesos paralelos • Procesos: • Procesosecuencial • Procesoparalelo • Rank Sort Computation: UNSORTED LIST RANK 15 4 10 3 39 7 8 2 22 6 4 0 19 5 6 1 • Clústers: • Memoriacompartida • Memoriadistribuida

  8. Patronesocategorias • Paralelismo de datos. Un númerogrande de datosessujeto a un procesoidénticoo similar. (RC-Catalogo de galaxias) • Partición de los datos. El espacio de datosesparticionadonaturalmente en regionesadjacentes, cadauna de lascualesesoperada en paralelopor un procesadordiferente. • Algorítmorelajado.Cadaprocesoparalelocálcula de unamanera auto-suficiente sin sincronizaciónocomunicación entre procesadores. El ordenamientoporrango en paraleloes un ejemplo de un algorítmorelajado. • Iteraciónsincrónica.Cadaprocesadorrealiza el mismocálculoiterativo en unaporcióndiferente de los datos. Sin embargo, el procesadordebe ser sincronizado al final de cadaiteración. • Replicated workers. Un pool central de tareassimilaresesmantenida. Hay un númerograndes de trabajadoresquesacantareas del pool, llevan a cabo el cálculorequerido, yposiblementeagreguenunanuevatarea al pool. Todo el cálculoterminacuando el pool se vacia. • Pipelined computation. Los procesos son arreglados en algunaestructura regular talcomo un anilloomallabidimensional. Los datosentoncesfluyen a través de toda la estructura del proceso, con cadaprocesorealizandociertafase 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

  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

More Related