next up previous
Next: Acknowledgments Up: repspringer Previous: Benchmark Set for Prolog


Conclusions and Future Work

We performed a thorough performance analysis of existing shared-memory parallel logic programming systems, in order to identify main sources of overheads and opportunities for optimising these systems for distributed-shared memory (DSM) architectures. We have designed and partially developed a full parallel logic programming environment integrating our runtime module, DAOS, our static analysis module, GRANLOG, our post-run analysis module, VisAll, and implemented sophisticated scheduling strategies.

We have proposed a scheme for Distributed And/Or execution in Scalable systems, DAOS. The model innovates by taking advantage of recent work in distributed shared memory technology to obtain efficient sharing, and efficiently supporting both IAP and ORP in a distributed environment. We have found that the DSM mechanism is quite effective in simplifying our design. In fact, we found that using DSM techniques allowed us to focus on the issues that we believe have a major impact in performance.

Work in the IDAOS prototype is progressing at Universidade Federal do Rio Grande do Sul (UFRGS), Federal do Rio de Janeiro (UFRJ) and Porto (UP). Our target is a network of workstations connected by a fast network, such as Myrinet or Fast Ethernet. Both the UFRGS and the UP groups have access to such networks. Changes required to support IAP and ORP have already been contributed to the base system, the wamcc, and work will next move on to experimenting with the distributed platform. We expect that after implementing the message mechanism on top of MPI most of the work will move on to scheduler design, as it is traditional in parallel logic programming systems.

One motivation in using the wamcc is that the wamcc supports the clp(fd) constraint system. A parallel implementation of clp(fd) requires only minor changes to IDAOS, meaning that IDAOS will support the parallelisation of both logic programming and constraint applications. DAOS was also the motivation from one of the author's research into copy-on-write models, and specifically into the $\delta$-COWL [83]. Copy-based models have lower overheads than BA based models, but in a distributed setting will require more sophisticated DSM mechanisms than what we are currently using.

We have also designed and developed a static analysis tool, GRANLOG, that is capable of inferring predicate modes, argument types and sizes, goal and clause sizes, that are useful for efficiently exploiting parallelism and guiding scheduling decisions.

We presented a way of using compile time information to make better scheduling decisions in the Andorra-I and Plosys systems. The information is provided by the Granlog subsystem, ORCA, incorporated to the Andorra-I and Plosys compilers, and consulted by the schedulers. We described the Andorra-I reconfiguring algorithms and explained which parameters and estimates of sizes of and-work and or-work are used. We claim that we can obtain a much better scheduler by using the information provided by Granlog, since the reconfigurer introduces very little overhead and the utilization of the compile time information is implemented in a very simple way.

We designed and developed VisAll, a flexible and universal tool to visualise the parallel execution of logic programs.

VisAll is capable of visualising several kinds of parallelism, and-parallelism and or-parallelism, and displaying individual processor execution times. It can visualise traces of different parallel logic programming systems allowing the user to zoom in and out at parts of the execution tree to see dynamic execution and to obtain information about the logic program source. It integrates two paradigms of visualisation allowing the user to see execution through an execution tree or through individual process execution. VisAll is capable of visualising more sources of parallelism than other visualisers.

We published several papers in international and brazilian conferences, and supervised several undergraduate and graduate students.


next up previous
Next: Acknowledgments Up: repspringer Previous: Benchmark Set for Prolog
Ines de Castro Dutra
1999-05-04