VisAll: A Universal Tool to Visualise Parallel Execution of Logic Programs

• Multicore chips have moved parallelism from niche (HPC) to mainstream –even on laptops! • According to vendors (and Intel in particular [e.g., DAMP workshops]): ⋄ Feature size reductions will continue for foreseeable future (12 generations!). ⋄ But power consumption does not allow increasing clock speeds much. ⋄ Multicore is the way to use this space without raising power consumption. ⋄ Number of cores expected to double with each generation! • But writing parallel programs hard/error-prone –how to exploit all those cores? ⋄ Ideal situation: Conventional Program + Multiprocessor = Higher Perf. → automatic parallelization. ⋄ More realistically: compiler-aided parallelization. ⋄ Languages (dialects, constructs) for parallelization+parallel programming. ⋄ Scheduling techniques [BW93, Cie92], memory management, abstract machines, etc.

[1]  Manuel V. Hermenegildo,et al.  Automatic Compile-Time Parallelization of Logic Programs for Restricted, Goal Level, Independent and Parallelism , 1999, J. Log. Program..

[2]  Manuel V. Hermenegildo,et al.  Global Analysis of Standard Prolog Programs , 1996, ESOP.

[3]  Manuel V. Hermenegildo,et al.  Relating Data-Parallelism and (and-) Parallelism in Logic Programs , 1995, Comput. Lang..

[4]  Manuel V. Hermenegildo,et al.  An Abstract Machine for Restricted AND-Parallel Execution of Logic Programs , 1986, ICLP.

[5]  Saumya K. Debray,et al.  Cost analysis of logic programs , 1993, TOPL.

[6]  Saumya K. Debray,et al.  A Simple Program Transformation for Parallelism , 1994, ILPS.

[7]  Peter J. Stuckey,et al.  Incremental analysis of constraint logic programs , 2000, TOPL.

[8]  Maurice Bruynooghe,et al.  Improving abstract interpretations by combining domains , 1993, PEPM '93.

[9]  Doug DeGroot,et al.  AND-Parallelism of Logic Programs Based on a Static Data Dependency Analysis , 1985, COMPCON.

[10]  Manuel V. Hermenegildo,et al.  Program Analysis, Debugging, and Optimization Using the Ciao System Preprocessor , 1999, ICLP.

[11]  Kish Shen,et al.  Exploiting Dependent And-Parallelism in Prolog: The Dynamic Dependent And-Parallel Scheme (DDAS) , 1992, JICSLP.

[12]  Francesca Rossi,et al.  Partial Order and Contextual Net Semantics for Atomic and Locally Atomic CC Programs , 1998, Sci. Comput. Program..

[13]  Kim Marriott,et al.  Boolean Functions for Dependency Analysis: Algebraic Properties and Efficient Representation , 1994, SAS.

[14]  Francesca Rossi,et al.  Non-Strict Independent And-Parallelism , 1990, ICLP.

[15]  Fosca Giannotti,et al.  A Technique for Recursive Invariance Detection and Selective Program Specification , 1991, PLILP.

[16]  Vítor Santos Costa,et al.  Distance: A New Metric for Controlling Granularity for Parallel Execution , 1999, J. Funct. Log. Program..

[17]  Manuel V. Hermenegildo,et al.  An abstract machine based execution model for computer architecture design and efficient implementation of logic programs in parallel , 1986 .

[18]  Kim Marriott,et al.  Precise and efficient groundness analysis for logic programs , 1993, LOPL.

[19]  Anthony Kusalik,et al.  Programmer-Oriented Parallel Performance Visualization , 1996 .

[20]  John S. Conery,et al.  The and/or process model for parallel interpretation of logic programs , 1983 .

[21]  Pascal Van Hentenryck,et al.  Cardinality Analysis of Prolog , 1994, ILPS.

[22]  Francesca Rossi,et al.  From Eventual to Atomic Locally Atomic CC Programs: A Concurrent Semantics , 1994, ALP.

[23]  Khayri A. M. Ali,et al.  The Muse Or-Parallel Prolog Model and its Performance , 1990, NACLP.

[24]  Jan Sundberg,et al.  MuseTrace : a graphic tracer for Or-parallel Prolog , 1990 .

[25]  Francesca Rossi,et al.  Strict and Nonstrict Independent And-Parallelism in Logic Programs: Correctness, Efficiency, and Compile-Time Conditions , 1995, J. Log. Program..

[26]  Manuel V. Hermenegildo,et al.  Combined Determination of Sharing and Freeness of Program Variables through Abstract Interpretation , 1991, ICLP.

[27]  Manuel V. Hermenegildo,et al.  Optimized Algorithms for Incremental Analysis of Logic Programs , 1996, SAS.

[28]  Pascal Van Hentenryck Parallel Constraint Satisfaction in Logic Programming: Preliminary Results of CHIP within PEPSys , 1989, ICLP.

[29]  Kim Marriott,et al.  Independence in CLP languages , 2000, TOPL.

[30]  Manuel V. Hermenegildo Parallelizing irregular and pointer-based computations automatically: Perspectives from logic and constraint programming , 2000, Parallel Comput..

[31]  Enrico Pontelli,et al.  Automatic Compile-time Parallelization of Prolog Programs for Dependent And-Parallelism , 1997, ICLP.

[32]  Manuel V. Hermenegildo,et al.  The DCG, UDG, and MEL Methods for Automatic Compile-time Parallelization of Logic Programs for Independent And-parallelism , 1990, ICLP.

[33]  W. F. Clocksin,et al.  Principles of the DelPhi Parallel Inference Machine , 1987, Comput. J..

[34]  Manuel V. Hermenegildo,et al.  Compile-Time Derivation of Variable Dependency Using Abstract Interpretation , 1992, J. Log. Program..

[35]  Manuel V. Hermenegildo,et al.  Effectivness of abstract interpretation in automatic parallelization: a case study in logic programming , 1999, TOPL.

[36]  Manuel V. Hermenegildo,et al.  Determination of variable dependence information at compile-time through abstract interpretation , 1989 .

[37]  Dean Jacobs,et al.  Static Analysis of Logic Programs for Independent And-Parallelism , 1992, J. Log. Program..

[38]  Enrico Pontelli,et al.  Dependent And-Parallelism Revisited (Poster Abstract) , 1996, JICSLP.

[39]  Takashi Chikayama,et al.  A Portable and Reasonably Efficient Implementation of KL1 , 1993, ICLP.

[40]  Manuel V. Hermenegildo,et al.  Extracting Non-Strict Independent And-Parallelism Using Sharing and Freeness Information , 1994, SAS.

[41]  Gerda Janssens,et al.  Global analysis of constraint logic programs , 1996, TOPL.

[42]  Kim Marriott,et al.  Independence in Dynamically Scheduled Logic Languages , 1996, ALP.

[43]  Manuel V. Hermenegildo,et al.  The CIAO Multi-Dialect Compiler and System: An Experimentation Workbench for Future (C)LP Systems , 1995, APPIA-GULP-PRODE.

[44]  Rong Yang,et al.  The Andorra-I Engine: A Parallel Implementation of the Basic Andorra Model , 1991, ICLP.

[45]  Manuel V. Hermenegildo,et al.  Implementing Distributed Concurrent Constraint Execution in the CIAO System , 1996, APPIA-GULP-PRODE.

[46]  Manuel V. Hermenegildo,et al.  Automatic Parallelization of Irregular and Pointer-Based Computations: Perspectives from Logic and Constraint Programming , 1997, Euro-Par.

[47]  Manuel V. Hermenegildo,et al.  &-Prolog and its Performance: Exploiting Independent And-Parallelism , 1990, ICLP.

[48]  Kim Marriott,et al.  Independence in Constraint Logic Programs , 1993, ILPS.

[49]  Ricardo Rocha,et al.  YapOr: an Or-Parallel Prolog System Based on Environment Copying , 1999, EPIA.

[50]  Francesca Rossi,et al.  On the Correctness and Efficiency of Independent And-Parallelism in Logic Programs , 1989, NACLP.

[51]  Jacques Chassin de Kergommeaux,et al.  Implementation of a Parallel Prolog System on a Commercial Multiprocessor , 1988, ECAI.

[52]  Enrico Pontelli,et al.  Efficient Backtracking in And-Parallel Implementations of Non-deterministic Languages , 1998, ICPP.

[53]  Bart Demoen,et al.  Hybrid Tree Search in the Andorra Model , 1994, ICLP.

[54]  Rong Yang,et al.  Andorra I: a parallel Prolog system that transparently exploits both And-and or-parallelism , 1991, PPOPP '91.

[55]  Manuel V. Hermenegildo,et al.  Flexible Scheduling for Non-Deterministic, And-parallel Execution of Logic Programs , 1996, Euro-Par, Vol. II.

[56]  Enrico Pontelli,et al.  &ACE: a high-performance parallel Prolog system , 1995, IPPS.

[57]  Saumya K. Debray,et al.  Estimating the Computational Cost of Logic Programs , 1994, SAS.

[58]  Saumya K. Debray,et al.  Automatic Complexity Analysis of Logic Programs , 1991, ICLP.

[59]  Ewing L. Lusk,et al.  A Graphical Tool for Observing the Behavior of Parallel Logic Programs , 1987, SLP.

[60]  Gopal Gupta,et al.  Analysis of Or-parallel execution models , 1993, TOPL.

[61]  Doug DeGroot A Technique for Compiling Execution Graph Expressions for Restricted and Parallelism in Logic Programs , 1987, ICS.

[62]  Johan Montelius Penny, a Parallel Implementation of AKL , 1994, Workshop on Design and Impl. of Parallel Logic Programming Systems.

[63]  Bart Demoen,et al.  A Parallel Implementation for AKL , 1993, PLILP.

[64]  Doug DeGroot,et al.  Restricted AND-Parallelism , 1984, FGCS.

[65]  Dean Jacobs,et al.  Accurate and Efficient Approximation of Variable Aliasing in Logic Programs , 1989, NACLP.

[66]  Harald Søndergaard,et al.  An Application of Abstract Interpretation of Logic Programs: Occur Check Reduction , 1986, ESOP.

[67]  Roland H. C. Yap,et al.  Effectiveness of Optimizing Compilation for CLP(R) , 1996, JICSLP.

[68]  Manuel V. Hermenegildo,et al.  Towards Independent And-Parallelism in CLP , 1996, PLILP.

[69]  Inẽs de Castro Dutra,et al.  Strategies for scheduling and- and or- work in parallel logic programming systems , 1994, ICLP 1994.

[70]  Seif Haridi,et al.  Programming Paradigms of the Andorra Kernel Language , 1991, ISLP.

[71]  Kish Shen,et al.  Overview of Daswam: Exploitation of Dependent and-Parallelism , 1996, J. Log. Program..

[72]  Manuel Eduardo Correia,et al.  The SBA: Exploiting Orthogonality in AND-OR Parallel Systems , 1997, ILPS.

[73]  Saumya K. Debray,et al.  Lower Bound Cost Estimation for Logic Programs , 1997, ILPS.

[74]  Rong Yang,et al.  The Andorra-I Preprocessor: Supporting Full Prolog on the Basic Andorra Model , 1991, ICLP.

[75]  Saumya K. Debray,et al.  Non-Failure Analysis for Logic Programs , 1997, ICLP.

[76]  M. V. Hermenegildo,et al.  Designing a high performance parallel logic programming system , 1987, CARN.

[77]  Saumya K. Debray,et al.  Towards Granularity Based Control of Parallelism in Logic Programs , 1994, PASCO.

[78]  Manuel V. Hermenegildo,et al.  A Comparative Study of Methods for Automatic Compile-time Parallelization of Logic Programs , 1994, PASCO.

[79]  Enrico Pontelli,et al.  ACE: And/Or-parallel Copying-based Execution of Logic Programs , 1994, ICLP.

[80]  Manuel V. Hermenegildo,et al.  Abstract Multiple Specialization and Its Application to Program Parallelization , 1999, J. Log. Program..

[81]  Saumya K. Debray,et al.  A Methodology for Granularity-Based Control of Parallelism in Logic Programs , 1996, J. Symb. Comput..

[82]  Saumya K. Debray,et al.  Task granularity analysis in logic programs , 1990, PLDI '90.

[83]  David H. D. Warren,et al.  Scheduling Speculative Work in Or-Parallel Prolog Systems , 1993, ICLP.

[84]  Enrico Pontelli,et al.  Visualization of And/Or-Parallel Execution of Logic Programs , 1997, ICLP.

[85]  Rong Yang,et al.  Performance of the Compiler-Based Andorra-I System , 1993, ICLP.

[86]  Jonas Barklund,et al.  Executing Bounded Quantifications on Shared Memory Multiprocessors , 1993, PLILP.

[87]  Vipin Kumar,et al.  AND-Parallel Execution of Logic Programs on a Shared-Memory Multiprocessor , 1988, J. Log. Program..

[88]  Manuel V. Hermenegildo,et al.  IDRA (IDeal Resource Allocation): Computing Ideal Speedups in Parallel Logic Programming , 1996, Euro-Par, Vol. II.

[89]  Maurice Bruynooghe,et al.  A Practical Framework for the Abstract Interpretation of Logic Programs , 1991, J. Log. Program..

[90]  Manuel V. Hermenegildo,et al.  Some methodological issues in the design of CIAO, a generic, parallel concurrent constraint system , 1994 .

[91]  Mats Carlsson,et al.  A Simplified Approach to the Implementation of AND-Parallelism in an OR-Parallel Environment , 1988, ICLP/SLP.

[92]  Pascal Van Hentenryck ACE: And/Or-parallel Copying-based Execution of Logic Programs , 1994 .

[93]  David S. Warren Some Paradigms for Visualizing Parallel Execution of Logic Programs , 1993 .

[94]  Manuel V. Hermenegildo,et al.  Relating Goal-Scheduling, Precedence, and Memory Management in AND-Parallel Execution of Logic Programs , 1987, ICLP.