14 research outputs found

    Parallel logic programming systems

    Get PDF
    Projet CHLOEParallelizing logic programming has attracted much interest in the research community, because of the intrinsic or and and parallelisms of logic programs. One research stream aims at transparent exploitation of parallelism in existing logic programming languages such as Prolog while the family of concurrent logic languages develops constructs allowing programmers to express the concurrency, that is the communication and synchronization between parallel process, inside their algorithms. This paper mainly concentrates on transparent exploitation of parallelism and surveys the most mature solutions to the problems to be solved in order to obtain efficient implementations. These solutions have been implemented and the most efficient parallel logic programming systems reach effective speedups over state-of-the-art sequential Prolog implementations. The paper also addresses current and prospective research issues aiming to extend the applicability and the efficiency of existing systems,such as models merging the transparent parallelism and the concurrent logic languages approaches, combination of constraint logic programming with parallelism and use of highly parallel architectures

    High-level characteristics of or-and independent and-parallelism in prolog

    Get PDF
    Although studies of a number of parallel implementations of logic programming languages are now available, their results are difficult to interpret due to the multiplicity of factors involved, the effect of each of which is difficult to sepárate. In this paper we present the results of a high-level simulation study of or- and independent and-parallelism with a wide selection of Prolog programs that aims to determine the intrinsic amount of parallelism, independently of implementation factors, thus facilitating this separation. We expect this study will be instrumental in better understanding and comparing results from actual implementations, as shown by some examples provided in the paper. In addition, the paper examines some of the issues and tradeoffs associated with the combination of and- and or-parallelism and proposes reasonable solutions based on the simulation data obtained

    Monitoring Parallel Programs for Performance Tuning in Cluster Environments

    No full text
    This chapter surveys the issues of collecting monitoring data for performance debugging of parallel programs executed in cluster environments. The main categories of monitoring tools are either clock driven or event driven, the latter including timing, counting or tracing. The paper focuses on software tracing, deemed the most general and portable event driven monitoring technique. The lack of global clock and the tracing intrusion are identified as the two major problems hindering the quality of the traced information collected by software tracers. A global time implementation by software and an approach for compensating the software tracing intrusion are then described. Performance debugging is an important part of the development cycle of parallel programs since obtaining high performances is the main goal of using cluster systems. The objective of performance measurement tools is to help programmers to get the highest possible performances from their programs on their target architecture. Performance debugging usually includes several phases

    MP L ∗ : Efficient Record/Replay of

    No full text
    nondeterministic features of message passing librarie
    corecore