Extensión del modelo de OpenMP a memoria distribuida

  1. Dorta, Antonio J.
Dirigée par:
  1. Francisco de Sande González Directeur

Université de défendre: Universidad de La Laguna

Fecha de defensa: 18 décembre 2008

Jury:
  1. Casiano Rodríguez León President
  2. Francisco Almeida Rodriguez Secrétaire
  3. Manuel Prieto Matías Rapporteur
  4. Enrique Salvador Quintana Ortí Rapporteur
  5. Francisco Fernández Rivera Rapporteur
Département:
  1. Ingeniería Informática y de Sistemas

Type: Thèses

Teseo: 174244 DIALNET lock_openRIULL editor

Résumé

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.