Serial combinators: “optimal” grains of parallelism
Proc. of a conference on Functional programming languages and computer architecture
PARLOG: parallel programming in logic
ACM Transactions on Programming Languages and Systems (TOPLAS) - The MIT Press scientific computation series
Journal of the ACM (JACM)
ACE: an automatic complexity evaluator
ACM Transactions on Programming Languages and Systems (TOPLAS)
Static inference of modes and data dependencies in logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Strictness analysis aids time analysis
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
A composition approach to time analysis of first order lazy functional programs
FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
Applied combinatorics (3rd ed.)
Applied combinatorics (3rd ed.)
Symbolic Solution of Finite-Difference Equations
ACM Transactions on Mathematical Software (TOMS)
Some MACSYMA Programs for Solving Recurrence Relations
ACM Transactions on Mathematical Software (TOMS)
Communications of the ACM
Partitioning and Scheduling Parallel Programs for Multiprocessors
Partitioning and Scheduling Parallel Programs for Multiprocessors
Parallel architectures for problem solving (prolog, logic-programming, interconnection, network)
Parallel architectures for problem solving (prolog, logic-programming, interconnection, network)
An abstract machine based execution model for computer architecture design and efficient implementation of logic programs in parallel
Cost analysis of logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Using the run-time sizes of data structures to guide parallel-thread creation
LFP '94 Proceedings of the 1994 ACM conference on LISP and functional programming
Constraints among argument sizes in logic programs (extended abstract)
PODS '94 Proceedings of the thirteenth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Parallel logic programming systems
ACM Computing Surveys (CSUR)
Abstract interpretation and low-level code optimization
PEPM '95 Proceedings of the 1995 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Parallel execution of prolog programs: a survey
ACM Transactions on Programming Languages and Systems (TOPLAS)
Parallel symbolic computation in ACE
Annals of Mathematics and Artificial Intelligence
Machine Independent AND and OR Parallel Execution of Logic Programs: Part II-Compiled Execution
IEEE Transactions on Parallel and Distributed Systems
Backtracking in Independent And-Parallel Implementations of Logic Programming Languages
IEEE Transactions on Parallel and Distributed Systems
Constraint-Based Termination Analysis for Cyclic Active Database Rules
CL '00 Proceedings of the First International Conference on Computational Logic
PAN: a portable, parallel prolog: Its design, realisation and performance
New Generation Computing
Towards execution time estimation in abstract machine-based languages
Proceedings of the 10th international ACM SIGPLAN conference on Principles and practice of declarative programming
Concurrency, Graphs and Models
Non-strict independence-based program parallelization using sharing and freeness information
Theoretical Computer Science
User-Definable Resource Usage Bounds Analysis for Java Bytecode
Electronic Notes in Theoretical Computer Science (ENTCS)
Cost analysis using automatic size and time inference
IFL'02 Proceedings of the 14th international conference on Implementation of functional languages
User-definable resource bounds analysis for logic programs
ICLP'07 Proceedings of the 23rd international conference on Logic programming
Granularity-Aware Work-Stealing for Computationally-Uniform Grids
CCGRID '10 Proceedings of the 2010 10th IEEE/ACM International Conference on Cluster, Cloud and Grid Computing
CLP projection for constraint handling rules
Proceedings of the 13th international ACM SIGPLAN symposium on Principles and practices of declarative programming
An overview of ciao and its design philosophy
Theory and Practice of Logic Programming - Prolog Systems
Combining static analysis and profiling for estimating execution times
PADL'07 Proceedings of the 9th international conference on Practical Aspects of Declarative Languages
Relating data-parallelism and (and-) parallelism in logic programs
Computer Languages
Symbolic evaluation graphs and term rewriting: a general methodology for analyzing logic programs
Proceedings of the 14th symposium on Principles and practice of declarative programming
Hi-index | 0.00 |
While logic programming languages offer a great deal of scope for parallelism, there is usually some overhead associated with the execution of goals in parallel because of the work involved in task creation and scheduling. In practice, therefore, the “granularity” of a goal, i.e. an estimate of the work available under it, should be taken into account when deciding whether or not to execute a goal concurrently as a separate task. This paper describes a method for estimating the granularity of a goal at compile time. The runtime overhead associated with our approach is usually quite small, and the performance improvements resulting from the incorporation of grainsize control can be quite good. This is shown by means of experimental results.