next up previous
Next: Especialización de programas: Up: Actividades realizadas Previous: Mejora de las técnicas

Determinación de nuevas propiedades en el análisis:

Se han desarrollado también, en colaboración con la Universidad de Arizona, técnicas de análisis global que permiten inferir nuevos tipos de información. Esta nueva información se utiliza en la paralelización, aunque permite mejorar también la calidad de la ejecución de programas secuenciales, ya sea en términos de tiempo de ejecución o de gasto de memoria. Se han desarrollado análisis de determinismo, de no-fallo [DGH96] y de coste [LHD96]. El análisis de no-fallo determina predicados que siempre dan alguna solución, mientras que el de coste infiere cotas superiores e inferiores para el tiempo de ejecución de las tareas. Ambos son bloques básicos en el control de granularidad de tareas y para evitar el paralelismo especulativo. El análisis de determinismo se centra en averiguar qué predicados de un programa (y bajo qué condiciones) son llamados de manera completamente determinista, lo que permite ahorrar puntos de elección para ellos en el caso de un lenguaje con reglas de selección fijas, o eliminar suspensiones innecesarias en el caso de lenguajes con una regla de evaluación dinámica, y optimizar la ejecución de los programas paralelos. Esta información se usó también para incluir en el sistema la posibilidad de compilar programas escritos en lenguajes concurrentes ``estilo Andorra'' [Bue94, BDGH94]. Dichos lenguajes dan primacıa a la ejecución de predicados deterministas, y permiten reducir de forma automática la cantidad de búsqueda realizada por el programa en muchos casos. El uso extensivo del análisis de determinismo permitió reducir las comprobaciones en tiempo de ejecución, de forma que el resultado, compilado a Prolog con primitivas de concurrencia, alcanza velocidades comparables a las obtenidas con sistemas hechos con maquinaria de bajo nivel diseñada ad-hoc, siendo más portable y, al ser Prolog el lenguaje objetivo, reanalizable.



<webmaster@clip.dia.fi.upm.es> Last Modified: Fri May 9 17:59:16 MET DST 1997