Extensión del modelo de OpenMP a memoria distribuida

  1. Dorta, Antonio J.
Dirigida por:
  1. Francisco de Sande González Director

Universidad de defensa: Universidad de La Laguna

Fecha de defensa: 18 de diciembre de 2008

Tribunal:
  1. Casiano Rodríguez León Presidente
  2. Francisco Almeida Rodriguez Secretario
  3. Manuel Prieto Matías Vocal
  4. Enrique Salvador Quintana Ortí Vocal
  5. Francisco Fernández Rivera Vocal
Departamento:
  1. Ingeniería Informática y de Sistemas

Tipo: Tesis

Teseo: 174244 DIALNET lock_openRIULL editor

Resumen

Con la extensión del modelo de OpenMP a memoria distribuida pretendemos potenciar la programabilidad de los lenguajes paralelos sin sacrificar la portabilidad y el alto rendimiento, Nuestro objetivo es el de dar respuesta a la creciente comunidad de usuarios (sobre todo científicos) que demandan la Computación de Altas Prestaciones pero que no poseen (ni deberían poseer) los profundos conocimientos en paralelismo que a día de hoy suelen requerirse para desarrollar aplicaciones paralelas. Si ofrecemos a estos usuarios una forma de programación paralela similar a la secuencial, estaremos posibilitando que se aborden cada vez problemas más complejos, con mayor fiabilidad y en menos tiempo en un entorno multidisciplinar: ingeniería, medicina, genómica, física, astrofísica, meteorología, tratamiento de audio/vídeo y un largo etcétera. Para ello hemos diseñado un lenguaje que hemos denominado llc (La Laguna C) que está basado en ANSI C y que es compatible con la sintaxis de las directivas de OpenMP 2.5, extendiéndolas para el caso de memoria distribuida. De este modo, se parte de un código secuencial y se paraleliza usando directivas de compilador tipo pragma de OpenMP y propias de llc, lo cual conserva la simplicidad de OpenMP, no rompe la estructura secuencial del programa original y permite una paralelización incremental, entre otras ventajas. A partir de este lenguaje hemos desarrollado su compilador (llCoMP) que genera código paralelo en ANSI C con llamadas a la librería de MPI, lo cual potencia su portabilidad y alto rendimiento, lo cual nos permite obtener resultados eficientes tanto en memoria distribuida como compartida. Nuestro trabajo se encuentra respaldado por un amplio conjunto de resultados computacionales para diversos algoritmos de interés científico que han sido tomados en sistemas paralelos de diferentes arquitecturas. Finalmente se ha añadido un repositorio de código fuente como otras de las aportaciones de esta tesis.