Un lenguaje de coordinación para la resolución de problemas basados en descomposición de dominios

  1. Soler Castillo, Enrique
Dirigée par:
  1. José María Troya Linero Directeur/trice
  2. Juan Ignacio Ramos Sobrados Directeur/trice

Université de défendre: Universidad de Málaga

Fecha de defensa: 07 septembre 2001

Jury:
  1. Antonio Vaquero Sánchez President
  2. Manuel Díaz Rodríguez Secrétaire
  3. Vicente Hernández García Rapporteur
  4. Ernesto Pimentel Sánchez Rapporteur
  5. Casiano Rodríguez León Rapporteur

Type: Thèses

Teseo: 82547 DIALNET

Résumé

El propósito de esta tesis es presentar un lenguaje de coordinación transportable y eficiente para la resolución de problemas numéricos estructurados por bloques, Los aspectos relativos a la comunicación y sincronización entre los distintos subdominios que forman el dominio global de la aplicación se separan de la codificación del método numérico, incrementándose así la reusabildiad de ambas partes, la de coordinación y la computacional. Puesto que la causa más importante de comunicación entre los subdominios son las fronteras entre estos, se ha denominado a este lenguaje BCL (border-based Coordination Language). Este lenguaje también permite la integración del paralelismo de datos y tareas, de modo que en la parte de coordinación se describen, junto con los distintos dominios, las distribuciones de estos dominios entre los distintos procesadores pertenecientes a cada tarea que los va a resolver. Estas tareas son codificadas con un lenguaje que permite el paralelismo de datos, HPF (High Performance Fortran), de forma que se incrementa notablemente la eficiencia y la escalabilidad de la solución. Aunque BCL está diseñado para la solución de problemas de descomposición de dominios y estructurados por bloques, otros problemas científicos que se pueden beneficiar de la integración del paralelismo de datos y tareas y cuyo patrón de comunicación está basado en el intercambio de matrices también se pueden plantear con BCL. Sin embargo, este tipo de problemas puede ser expresado mejor mediante el uso de patrones o esqueletos. Por esta razón, se han desarrollado una serie de construcciones de alto nivel que permiten la definición de forma declarativa de un conjunto de tareas HPF que trabajan de forma coordinada. Además, se ofrece la posibilidad de utilizar plantillas de implementación para facilitar la programación de la parte de computación de la aplicación. A este conjunto de construcciones se le ha dado el