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

  1. Soler Castillo, Enrique
Supervised by:
  1. José María Troya Linero Director
  2. Juan Ignacio Ramos Sobrados Director

Defence university: Universidad de Málaga

Fecha de defensa: 07 September 2001

Committee:
  1. Antonio Vaquero Sánchez Chair
  2. Manuel Díaz Rodríguez Secretary
  3. Vicente Hernández García Committee member
  4. Ernesto Pimentel Sánchez Committee member
  5. Casiano Rodríguez León Committee member

Type: Thesis

Teseo: 82547 DIALNET

Abstract

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