next up previous
Next: Ampliación del lenguaje fuente: Up: Document: report_y3_public Previous: Document: report_y3_public

Actividades realizadas

El proyecto IPL-D partıa de la observación de que, ya en su comienzo (año 1993), se encontraban disponibles en el mercado multiprocesadores con ventajas en relación costo/prestaciones respecto a las máquinas secuenciales, lo que podıa reportar importantes ventajas competitivas a nivel industrial. Se observaba también que, sin embargo, la programación de dichas máquinas era difıcil, resultando uno de los factores limitantes más importantes para poder llegar a explotar dichas ventajas en la realidad. El proyecto planteaba desarrollar tecnologıa y herramientas para la simplificación del proceso de producción de programas paralelizados, mediante la paralelización automática de programas y la ayuda a la visualización de ejecuciones paralelas.

En el subproyecto concreto objeto de esta memoria se proponıa desarrollar dicha tecnologıa para el caso de la programación lógica y la programación con resolución de restricciones. Los objetivos concretos eran desarrollar modelos para la explotación del paralelismo en los lenguajes lógicos y de restricciones (usando como plataforma el sistema &-Prolog, desarrollado anteriormente por los componentes del equipo de trabajo), implementar dichos modelos en una arquitectura paralela real, y desarrollar un entorno de programación que incluyera compiladores paralelizantes y herramientas de visualización. El proyecto ha producido como resultados numerosas nuevas técnicas de análisis, paralelización, implementación y visualización, ası como resultados teóricos sobre la corrección de estas técnicas y experimentales sobre su eficiencia y utilidad.

Además, el proyecto IPL-D ha servido para integrar y unificar los resultados de otros proyectos de carácter internacional: el proyecto ESPRIT PARFORCE, ası como, en parte, el proyecto ESPRIT ACCLAIM. Mientras que estos proyectos estaban orientados a desarrollar distintas técnicas de compilación y prototipos de investigación, en IPL-D se ha integrado todo ello en el sistema de programación desarrollado por el grupo (&-Prolog y, más recientemente, en el nuevo sistema ``Ciao-Prolog''), y se ha desarrollado el núcleo base de ejecución paralela del sistema. El sistema resultante representa el vehıculo principal de experimentación usado por el grupo. Además, dicho vehıculo, disponible para uso público, esta siendo también utilizado como herramienta de investigación en el área por un buen numero de investigadores en Europa, E.E.U.U., Australia, Israel, y Japón. Finalmente, algunos de los módulos desarrollados han sido transferidos a la industria y están siendo explotados en la actualidad de forma comercial.

Una de las conclusiones principales a nivel global que permanecen una vez completado el proyecto es el hecho de que la programación lógica y la programación con resolución de restricciones, además de ser paradigmas excelentes para el desarrollo de aplicaciones de gran complejidad y ofrecer una vıa muy ventajosa para la explotación de los multiprocesadores, han resultado también ser un marco muy interesante para estudiar los problemas fundamentales inherentes a la explotación del paralelismo, y permitir desarrollar técnicas de paralelización prácticas y elegantes que pueden ser adaptadas a otros paradigmas. La razón fundamental ha resultado ser que requieren estudiar los problemas más difıciles que aparecen en la paralelización de otros paradigmas pero permiten hacerlo de forma más sencilla: por una parte, la paralelización de programas requiere poder manejar estructuras de datos complejas con punteros, datos tanto numéricos como simbólicos, programas recursivos, paralelismo a nivel de tareas (además de bucles), manejo dinámico de memoria, control de granularidad de las tareas, reparto de carga dinámico, nociones complejas de independencia, etc. Sin embargo, por otra parte, la programación lógica y de restricciones, por su alto nivel (que expone el paralelismo inherente a las aplicaciones), bien fundada base matemática, y relativa falta de construcciones ad-hoc, permiten estudiar el problema de forma más sistemática y desarrollar soluciones que son al mismo tiempo prácticas, elegantes y demostrablemente correctas. A nuestro entender, estas ventajas han permitido resolver un buen numero de problemas antes de lo que están siendo resueltos usando otros paradigmas.

Aunque aún queda mucho trabajo por hacer en este campo, que se espera poder desarrollar en proyectos futuros, entendemos que todos los objetivos del presente proyecto se han cumplido de forma muy satisfactoria, tanto en lo que se refiere al potencial práctico de los prototipos desarrollados, como al nivel cientıfico del trabajo teórico, avalado por publicaciones en los mejores foros cientıficos a nivel internacional. Además, el proyecto ha implicado una intensa colaboración a nivel internacional y contribuido de forma muy importante a la formación de jóvenes investigadores y profesores. A continuación se detallan los logros principales en cada una de las lıneas de trabajo del proyecto.




next up previous
Next: Ampliación del lenguaje fuente: Up: Document: report_y3_public Previous: Document: report_y3_public

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