Sistema de identificación y explotación de paralelismo en programas lógico-funcionales

  1. Sáenz Pérez, Fernando
Dirigida por:
  1. José Jaime Ruz Ortiz Director

Universidad de defensa: Universidad Complutense de Madrid

Año de defensa: 1996

Tribunal:
  1. Mario Rodríguez Artalejo Presidente
  2. Alfredo Bautista Paloma Secretario
  3. Manuel de Hermenegildo Salinas Vocal
  4. Ana Ripoll Aracil Vocal
  5. José María Troya Linero Vocal
Departamento:
  1. Arquitectura de Computadores y Automática

Tipo: Tesis

Resumen

Los lenguajes declarativos en general y los lógico-funcionales en particular poseen una capacidad expresiva para resolver problemas de índole simbólico mayor que los lenguajes imperativos. Sin embargo, esta mayor capacidad expresiva requiere mayor tiempo de cómputo y uso de memoria. El objetivo de esta tesis es el aumento de la eficiencia de un lenguaje lógico- funcional mediante el desarrollo de un sistema de identificación y explotación del paralelismo implícito en los programas. En primer lugar se desarrolla un procedimiento para la identificación local de paralelismo en programas secuenciales con el que se generan programas paralelos. Se desarrollan varias estrategias de icación y de incorporación de granularidad que se estudian y comparan. En egundo lugar se rolla un análisis de independencia de los programas p ara obtener información global de las reglas en el programa para la simplificación de las reglas paralelas. Para ello se liza la interpretación abstracta y se presentan y comparan tres niveles de análisis. En rcer lugar se diseña una máquina abstracta paralela de memoria compartida basada en pilas para la explotación del paralelismo identificado. Esta máquina retiene las limizaciones de las máquinas secuenciales, fundamentalmente durante el cómputo hacia atrás en la desasignación de memoria. Finalmente, se realiza una implementación de la máquina abstracta paralela sobre un multiprocesador de memoria compartida simulado en vhdl, realizándose su validación funcional y tomando medidas de rendimiento. Se plantean diferentes alternativas de diseño para el bus y la memoria cache, que se comparan a partir de las medidas obtenidas.