7 citations found. Retrieving documents...
Millroth, H., SLDR-Resolution: Parallelizing Structural Recursion in Logic Programs, UPMAIL Technical Report 91, Comp. Sci. Dept., Uppsala Univ., Nov. 1994, to appear in J. Logic Programming.

 Home/Search   Document Details and Download   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Sequential and Parallel Iteration in Logic Programs - Arro, Barklund   (Correct)

....of the parallel program to the sequential recursive, and the sequential bounded quantification program, respectively. All runtimes are in milliseconds. 8 RELATED WORK Surprisingly little attention has been paid to exploiting iteration when running logic programs. However, the work by Millroth [28, 29] and Meier [27] have both investigated how to compile recursive Prolog programs to iterative code. Millroth s method is based on an analysis of variable binding 5 A SUN 670MP with 64MB memory. 6 A Thinking Machines Corp. Connection Machine Model 200 with 16K one bit processors and 2GB memory. ....

Millroth, H., SLDR-Resolution: Parallelizing Structural Recursion in Logic Programs, UPMAIL Technical Report 91, Comp. Sci. Dept., Uppsala Univ., Nov. 1994, to appear in J. Logic Programming.


Compilation Techniques for Prolog - Lindgren (1996)   (Correct)

....(SPMD) paradigm, where each process is a parallel loop iteration, exploits data parallelism and is arguably the most popular programming model for conventional multiprocessors. In logic programming, data parallelism has been used in the contexts of orparallelism [132, 147] and and parallelism [11, 100, 12, 157]. The sixth and final approach combines the previous methods. A program may lack parallelism of a given form, which will yield poor performance on systems that extract only that form of parallelism. Some researchers 1.2. Summary 5 have set the goal to extract maximal parallelism from Prolog ....

....of recursion parallelism [97] Paper G evaluates compiler optimizations that reduce the number of synchronizations and locking operations needed during parallel execution. Consider the list recursive predicate p. p( Upsilon p( X jXs] Phi p(Xs; Psi Millroth [97, 100] showed that such predicates could be compiled into efficient loop code, using Reform compilation. 1. Compute the length of the input list as n and build the n instances of Phi and Psi. 2. For i ranging from 1 to n, execute Phi i . 3. Execute the remaining recursive call to p. 4. For i ranging ....

[Article contains additional citation context not shown here]

H. Millroth, SLDR-resolution: parallelizing structural recursion in logic programs, Journal of Logic Programming, Vol 25(2), Nov. 1995, pp. 93-117. f4, 11, 86, 102, 122, 149g


A Recursion Parallel Prolog Engine - Bevemyr (1993)   (4 citations)  (Correct)

....model efficiently we have imposed a few restrictions on programs. Predicates satisfying (and predicates that can be rewritten to satisfy) the following conditions are considered for parallel execution. 1. The predicate performs integer recursion or list recursion, with some restrictions. Millroth [31, 34] describes these restrictions in detail. Essentially the size of the recursion has to be fixed by the time it is initiated, and the recursive argument must be reduced by a fixed amount in each recursive call. 2. All bindings of variables shared between recursion levels in the predicate are ....

Millroth, H., SLDR-Resolution: Parallelizing Structural Recursion in Logic Programs, to appear in Massively Parallel Reasoning Systems , editors Robinson, J. A. and Sibert, E. E., MIT Press, Cambridge, Mass. f11g 64


Determinacy and Determinacy Analysis - Hill, King (1995)   (Correct)

....parallelism. Recursion parallelism is a special form of dependent and parallelism restricted to just the linearly, structurally recursive predicates. The computation for a goal with recursion depth n is translated into n goal head unifications proceeded by n body computations. Reform compilation [35] is thus not unlike loop parallelisation. The recursive predicates for parallelisation are explicitly requested by the programmer while the compiler checks that backtracking is not distributed between processors. To prevent this, the compiler must ensure that all bindings for variables which are ....

H. Millroth. SLDR--resolution: parallelizing structural recursion in logic programs. Journal of logic programming, 1995. (to appear).


Data-parallel Implementation of Prolog - Bevemyr (1996)   (Correct)

....such invocation constitutes a process, which gives the programmer an easy way of estimating the control flow and process granularity of a program. We refer to this variant of (dependent) ANDparallelism as recursion parallelism. 6 Summary We implement recursion parallelism by Reform compilation [138, 136] (this can be viewed as an implementation technique for the Reform inference system [200] This is a control structure transformation that changes the control flow of a recursive program quite dramatically. When invoking a recursive program with a call of size n (corresponding to a recursion ....

....resulted in one large conjunction which could be executed in parallel. The unfolding could be performed in log N steps, where N is the size of the input. Tarnlund defined the Reform inference system [200] based on these ideas. Inspired by Tarnlund s ideas Millroth developed Reform Compilation [135, 136, 137, 138] which is a technique for compiling linear structurally recursive predicates into parallel code. Consider a recursive predicate that can be written on the following form. p( x) Delta p( x) Phi; p( x 0 ) Psi If a goal p( y) is determined to recurse at least n times, then the second ....

[Article contains additional citation context not shown here]

H. Millroth, SLDR-Resolution: Parallelizing Structural Recursion in Logic Programs, Journal of Logic Programming, 25(2):93--117, 1995. --6, 16, 26, 46, 62


Contribution to Semantics of a Data-Parallel Logic.. - Lallouet, Le Guyadec (1995)   (Correct)

....programs can easily be re used and the implementation technology shares a large part with existing systems [16] 6] 12] Data parallel execution of logic programs has been investigated by two main propositions. Parallelism is achieved through recursion loop unfolding in the model Reform [22] [23] and by parallel exploration of disjunctive branches in [27] Recently, attempts have been made to introduce arrays as a data structure in logic programming and to manipulate them through bounded quantification [29] 2] and [1] This provides a theoretically sound foundation to iterating control ....

H. Millroth. Sldr-resolution : parallelizing structural recursion in logic programs. Journal of Logic Programming, To appear.


Compiler optimizations in Reform Prolog: experiments on .. - Lindgren, Bevemyr.. (1995)   (2 citations)  Self-citation (Millroth)   (Correct)

....of shared address space multiprocessors. The parallel implementation is designed as extension of a sequential Prolog machine [1] The implementation imposes very little overhead for process management, such as scheduling and load balancing. We have previously described the compilation scheme [14, 15], execution model [2, 3] and parallel abstract machine [2, 3] of Reform Prolog. In this paper we describe a set of compiler analyses and optimizations for increasing available parallelism and reducing parallelization overheads. We discuss the effectiveness of the optimizations and the runtime ....

....runs an instance of the same recursive program in an asynchronous parallel computation. This model is often called SPMD (Single Program Multiple Data) The programming model is realized by a compilation technique that translates a regular form of recursion to a parallelizable form of iteration [14, 15]. Example. The following program compares a sequence B with a list of sequences. Each comparison, carried out by match 3, computes a similarity value V that is stored in a sorted tree T for later access. The tree is implemented as an incomplete data structure. parallel matchseqs 3. ....

H. Millroth, SLDR-resolution: parallelizing structural recursion in logic programs, J. Logic Programming, to appear.

Online articles have much greater impact   More about CiteSeer.IST   Add search form to your site   Submit documents   Feedback  

CiteSeer.IST - Copyright Penn State and NEC