To integrate the tools into the parallel execution platforms and assess their effectiveness.
Task 2.1.1: Enhancement of the ElipSys Platform - To design and implement enhancements to the ElipSys platform to exploit the tools, and to support the assessment of the effectiveness of the tools.
Task 2.1.2: Enhancement of Ciao-Prolog to Support Task Identification and Sequentialization Tools - To design and implement enhancements to the UPM platform, Ciao-Prolog, to exploit the task identification and sequentialization tools, be able to run the parallelized benchmarks to be used in the assessment of such tools, and provide sufficient data to perform that assessment. These enhancements will probably include improvements in order to be able to run larger benchmarks, extensions for the support of OR-parallelism, extensions to support constraints, addition of instrumentation, linkage to the tools, etc.
Task 2.1.3: Enhancement of the AKL Platform - To extend the AKL platform to exploit the AKL tools developed in the tasks 1.4.2 and 1.6.1. It will modify the run-time system and the compiler to be able to make use of the tools. Also, to study the parameters of the AKL platform important for efficient parallel execution. The result of this study will give feedback to tasks 1.4.2 and 1.6.1 in order to maximize the benefits of the analysis techniques for the AKL platform.
Task 2.2.1: Tools for Assessment - To develop tools to be able to perform the assessment of the benefits of the tools. Examples of such tools are statistics packages and/or visualization tools. These tools may require some modifications of the platforms, and such work will be undertaken in tasks 2.1.1, 2.1.2, and 2.1.3.
Task 2.3.1: Assessment of the Task Identification Tools for CIAO-Type Languages - To assess the effectiveness of the task identification tools developed. The task will aim at determining if the tools are doing a good job at identifying tasks to be executed in parallel and if the execution platforms can take advantage of such tasks. The assessment will first concentrate on the tools for traditional logic programs using strict independence, then on the enhanced tool using non-strict independence, and finally on the tools for identification of tasks in constraint logic programs (importing results from esprit project ACCLAIM).
Task 2.3.2: Assessment of the Sequentialization Tools for CIAO-Type Languages - To assess the effectiveness of the sequentialization tools developed. The task will aim at determining which type of sequentialization is necessary and effective, if the tools are doing a good job at identifying parallel tasks which should be executed sequentially, and if the execution platforms can take advantage of such sequentialization of tasks.
Task 2.3.3: Assessment of the Partial Evaluation Tools for CIAO-Type Languages - To assess the improvement to the parallel execution of CIAO-type languages that can be made via partial evaluation.
Task 2.3.4: Assessment of the Partial Evaluation Tools for AKL - To assess the partial evaluator developed in Task 1.4.2 by practically applying the partial evaluator on a number of examples. In particular, the programs will be run on the AKL system enhanced in task 2.1.3. This may in turn result in some improvements of the partial evaluator itself.
Task 2.3.5: Assessment of the Storage Management Tools for AKL - To assess the storage optimizer tool for the concurrent logic language AKL. The tool will be used on representative sample of AKL-programs generating annotated programs to be run on the enhanced AKL-platform augmented with the tools of assessment as developed in Task 2.2.1. Both execution speed and memory utilization both aspects will need to be examined. The aim here is not only to assess the effect on performance of the tool as a whole, but in so far as possibly isolate the various factors involved. The techniques used are to be evaluated also from the viewpoint of the potentials of the approach used.