| M. Hermenegildo and M. Carro. Relating data-parallelism and (and-)parallelism in logic programs. The Computer Languages Journal, 22(2/3):143--163, July 1996. |
.... take distribution into account [17] In this setting, flattening can profitably be combined with deforestation and related techniques [35,18,11] Flattening is an Improvement 15 Nested data parallelism may be seen as a particular form of the more general andparallelism found in logic programs [13]. Research on the parallel execution of logic programs has explored ideas similar to flattening to reduce communication [26] and scheduling overheads [13,22] for restricted nested and parallel constructs. These are presented as optimizations but there are no formal performance guarantees. A ....
.... is an Improvement 15 Nested data parallelism may be seen as a particular form of the more general andparallelism found in logic programs [13] Research on the parallel execution of logic programs has explored ideas similar to flattening to reduce communication [26] and scheduling overheads [13,22] for restricted nested and parallel constructs. These are presented as optimizations but there are no formal performance guarantees. A sourcelevel cost semantics is used in [10] to control the compilation and run time execution of parallel logic programs. Our notion of weak improvement is similar ....
M. Hermenegildo and M. Carro. Relating data-parallelism and (and-)parallelism in logic programs. The Computer Languages Journal, 22(2/3):143--163, July 1996.
....11620 12189 ( 10 ) 9290 8329 (10 ) 6100 7100 ( 16 ) Table 1. Improvements using LAO (unoptimized optimized) ceived of. It is well known that certain linearly recursive programs can be transformed into a doubly recursive divide and conquer programs that are more amenable to and parallel execution [9, 2]. This transformation relies on the associativity and commutativity of operators used in the program. The same idea can be applied to or parallel systems, and linearly recursive structured programs. Let s consider the member predicate again. The query member(X, 1,2,3,4] will produce a search ....
M. Hermenegildo and M. Carro. Relating Data-Parallelism and (And-)Parallelism in Logic Programs. In EuroPar'95. Springer Verlag, 1995.
.... take distribution into account [17] In this setting, flattening can profitably be combined with deforestation and related techniques [35,18,11] Flattening is an Improvement 15 Nested data parallelism may be seen as a particular form of the more general andparallelism found in logic programs [13]. Research on the parallel execution of logic programs has explored ideas similar to flattening to reduce communication [26] and scheduling overheads [13,22] for restricted nested and parallel constructs. These are presented as optimizations but there are no formal performance guarantees. A ....
.... is an Improvement 15 Nested data parallelism may be seen as a particular form of the more general andparallelism found in logic programs [13] Research on the parallel execution of logic programs has explored ideas similar to flattening to reduce communication [26] and scheduling overheads [13,22] for restricted nested and parallel constructs. These are presented as optimizations but there are no formal performance guarantees. A sourcelevel cost semantics is used in [10] to control the compilation and run time execution of parallel logic programs. Our notion of weak improvement is similar ....
M. Hermenegildo and M. Carro. Relating data-parallelism and (and-)parallelism in logic programs. The Computer Languages Journal, 22(2/3):143--163, July 1996.
....and memory allocation. A large number of concurrent logic languages exploit this form of parallelism, without [26] or with [25] constraints. Explicit data (AND )parallelism has been considered in Logic programming by two di erent approaches: the rst one is a specialization of the Prolog system [12, 13, 11] where is an annotation (possibly automatically determined) used to prescribe the parallel execution of two goals. The second one from which the current proposal inherits is our DP log project [16, 15] and makes explicit use of vectors. Almost all these parallelization ideas have been lifted to ....
Manuel V. Hermenegildo and Manuel Carro. Relating data-parallelism and (And-) parallelism in logic programs. In EUROPAR'95, volume 966 of LNCS, pages 27-42. Springer, August 1995.
....as written, but a small change to the program does the trick. If we represent the matrix as a tree instead of a list (as in Figure 3.4) the system has no difficulties in obtaining good speedup even for matrices with small rows. Other techniques to transform sequential programs are described in [2, 3]. 4 Communicating processes The benchmarks in the previous section are all programs that divided up into more or less independent parts. The speedup is as expected good, the only problem is task granularity. What happens when the AKL processes depend on each other In the following benchmarks I ....
M. Hermenegildo and M. Carro. Relating data-parallelism and (and-) parallelism in logic programs. In Lecture Notes in Computer Science, 966, pages 27--41. Springer-Verlag, August 1995.
....3.3 Remedy In building the system it is clear that the scheduling overhead must be as low as possible however it is also possible to rewrite programs to generate larger task. For other techniques to transform sequential programs see the articles by Debray and Jain [6] and Hermenegildo and Carro [8]. cell(0, State, Last, This, Last = State, This = cell(G, State, Last, This, NW NWr] N Nr] NE NEr] W Wr] E Er] SW SWr] S Sr] SE SEr] G1 is G 1 , T is NW N N W E SW S SE, change(State, T, New) This = New Rest] cell(G1, New, ....
Hermenegildo, M., and Carro, M. Relating dataparallelism and (and-) parallelism in logic programs. In Lecture Notes in Computer Science, 966 (August 1995), Springer-Verlag, pp. 27--41.
....Reform Prolog compiler was written by me, while the execution engine was written by Bevemyr. The compiler optimizations were designed in collaboration with with Johan Bevemyr and implemented by me. 1.3. Related work 15 Reflections and later work Our results inspired a number of subsequent papers [70, 112, 111] which incorporate some of the Reform Prolog techniques into control parallel systems, in particular the fast unfolding of Reform compilation. Examples of such systems are Prolog [68] and ACE [63] Results have generally been encouraging. Recently, Bevemyr [18] and the author [88] have ....
M. Hermenegildo, M. Carro, Relating data-parallelism and (And- )parallelism in logic programs, Computer Languages Journal, to appear. f15g
....as written, but a small change to the program does the trick. If we represent the matrix as a tree instead of a list (as in Figure 9.3.4) the system has no difficulties in obtaining good speedup even for matrices with small rows. Other techniques to transform sequential programs are described in [18, 28]. 9.4 Communicating processes The benchmarks in the previous section are all programs that divided up into more or less independent parts. The speedup is as expected good, the only problem is task granularity. What happens when the AKL processes depend on each other In the following benchmarks I ....
M. Hermenegildo and M. Carro. Relating data-parallelism and (and-) parallelism in logic programs. In Lecture Notes in Computer Science, 966, pages 27--41. Springer-Verlag, August 1995.
....developed. Only inner loops are parallelised, similarly to Fortran. The consequence is that less work can be parallelised and the exploited parallelism is fine grained. Also, no compiler nor implementation exists. A compilation technique is outlined but never implemented. Hermenegildo and Carro [98] and Debray and Jain [64] discuss how goals can be spawned more efficiently using program transformation techniques. These have some similarities to the transformations described by Tarnlund [199] in his thesis. Hermenegildo and Carro also discuss how the Prolog implementation can be extended ....
....contain iteration, mapping and reduction constructs that in some cases resemble ours. The idea for using bounded quantification in logic programming was inspired by Tennent s proposed use of them in ALGOL like languages [189, 190] and also by an exposition by Gries [82] Hermenegildo and Carro [98] discuss how parallel execution of bounded quantifications relates to more traditional AND parallel execution of logic programs. Arro and Barklund [11] have investigated how bounded quantifiers can be executed on the Connection Machine, a SIMD multiprocessor that directly supports data parallel ....
[Article contains additional citation context not shown here]
M. V. Hermenegildo, M. Carro, Relating Data-Parallelism and (And--) Parallelism in Logic Programs, Journal of Computer Languages, 22(23) , 1996. --17, 20, 81, 125
....limited to a single element (a more general execution model is left for future work) The truth value of a vector is simply the conjunction of the truth value of its components. According to this point of view, data parallel computations are nothing more than a restricted form of AND parallelism [5]. But we present a vector semantics, in order to fit better with the operational view, in particular wrt cost prediction which is not easy without explicit locations. Adaptation to the BSP model To fit with the BSP model, we need four important features that are not present in DPlog : 1. Explicit ....
Manuel V. Hermenegildo and Manuel Carro. Relating data-parallelism and (And- ) parallelism in logic programs. In EUROPAR'95, volume 966 of LNCS, pages 27--42. Springer, August 1995.
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