| M. Hermenegildo. An Abstract Machine for Restricted AND-parallel Execution of Logic Programs. In Third International Conference on Logic Programming, number 225 in Lecture Notes in Computer Science, pages 25--40. Imperial College, Springer-Verlag, July 1986. |
.... research into parallel Prolog has progressed is using sophisticated static analysis to avoid having to use a general parallel execution algorithm, but instead to use one or more specialized execution algorithms for certain classes of computation (e.g. PEPSys [8, 84, 114] CIAO and its predecessors [47, 48, 93], and ACE [80] Garcia de la Banda [1] amongst others (e.g. 28, 81, 113] developed static analysis that tried to determined which goals were independent at compile time, and inserted runtime checks where the static information was insu#cient. While this analysis was quite e#ective, and the ....
Manuel V. Hermenegildo. An abstract machine for restricted and-parallel execution of logic programs. In E. Shapiro, editor, Third International Conference on Logic Programming, London, United Kingdom. Lecture Notes in Computer Science, vol. 225, pages 25--39. SpringerVerlag, 1986.
....Being different from the conventional Von Neumann languages, Prolog allows the implicit exploitation of parallelism. Two main sources of parallelism can be exploited in Prolog: OR parallelism and AND parallelism. Various systems that exploit one of these sources have already been implemented [10, 1, 9]. The combined exploitation of both sources can lead to higher degrees of parallelism but it is hard to implement [13, 5] The severe costs of the implementation make it necessary to investigate the potential gains of the combined strategy and to carefully evaluate the overheads of the model ....
Manuel Hermenegildo. An Abstract Machine for Restricted And-Parallel Execution of Logic Programs. In Ehud Shapiro, editor, Proceedings of the Third International Conference on Logic Programming, pages 25--39. Springer-Verlag, 1986.
....(ORP) ANDP is exploited when the system allows for several goals to be executed simultaneously. ORP arises from the parallel execution of several candidate clauses to a goal. Some systems exploit only or parallelism [23] 1] 7] 26] while some others exploit only and parallelism [19], 18] 31] More sophisticated systems exploit both kinds of parallelism in the same framework [41] 25] 24] 17] 8] 22] The scheduling strategies used in parallel logic programming systems concentrate on the problem of how to distribute or parallel work [6] and parallel work [38] ....
Manuel Hermenegildo. An Abstract Machine for Restricted And-Parallel Execution of Logic Programs. In Ehud Shapiro, editor, Proceedings of the Third International Conference on Logic Programming, pages 25--39. Springer-Verlag, 1986.
....the system needs to choose what alternative from which branch to select next. This task is usually performed by an or scheduler. There are several and scheduling techniques [14, 6, 20] implemented for scheduling and parallel work in systems that exploit and parallelism only, such as Prolog [13] and commitedchoice languages systems [7, 4] There are also several or scheduling techniques [12, 2, 19] implemented in systems that exploit only or parallelism such as the Aurora [15] Muse [1] Delphi [5] and Opera [3] systems. So far, only the problem of and scheduling alone and ....
Manuel Hermenegildo. An Abstract Machine for Restricted And-Parallel Execution of Logic Programs. In Ehud Shapiro, editor, Proceedings of the Third International Conference on Logic Programming, pages 25--39. Springer-Verlag, 1986.
....and exploiting distinct forms of parallelism at the same time is even harder. Arguably, shared memory PLP systems have been the most successful and widespread so far. There are several examples of systems supporting full Prolog. Aurora [11] and Muse [1] are well known ORP systems while Prolog [9], DASWAM [17] and ACE [12] are IAP systems that have been used to parallelise sizeable applications. Andorra I [16] is a further example of a shared memory system that supports both and parallelism between determinate goals and or parallelism. Several distributed memory PLPs have been ....
M. V. Hermenegildo. An Abstract Machine for Restricted And-Parallel Execution of Logic Programs. In E. Shapiro, editor, Third International Conference on Logic Programming, London, pages 25--39. Springer-Verlag, July 1986.
....languages. 5.2 Nondeterministic Programs If the subexpressions of a bounded quantification are nondeterministic, they may still be possible to run in parallel if they do not share any variables. In that case, the nondeterminism is local and there are well known methods for implementing it [19, 21]. However, in the case of bounded quantifications, where the goals to be computed are likely to be quite similar (i.e. if one body instance is nondeterministic, then typcially all instances are nondeterministic) the number of solutions grows exponentially. For example, a bounded universal ....
Hermenegildo, M. V., An Abstract Machine for Restricted ANDparallel Execution of Logic Programs, in: E. Shapiro (ed.), Third International Conference on Logic Programming, LNCS 225, SpringerVerlag, Berlin, 1986.
....to run in parallel, and stream AND parallelism, where one goal binding a variable acts as a producer, and another goal using the binding acts as a consumer. The existing efficient parallel Prolog systems exploit only one form of parallelism, namely either independent AND parallelism (as in [50]) or OR parallelism (as in [65] and Chapter 3) This thesis is concerned with the latter. The independent AND parallelism approach was first taken by DeGroot [32] and then by Hermenegildo, who designed RAP WAM, an extension of the WAM for independent AND parallelism [50] An alternative ....
....AND parallelism (as in [50] or OR parallelism (as in [65] and Chapter 3) This thesis is concerned with the latter. The independent AND parallelism approach was first taken by DeGroot [32] and then by Hermenegildo, who designed RAP WAM, an extension of the WAM for independent AND parallelism [50]. An alternative independent AND parallel system has been developed by Lin and Kumar [61] Data dependency analysis and compilation for parallel execution are important themes for AND parallelism [69] Abstract interpretation techniques are typically used for extracting data dependency information ....
[Article contains additional citation context not shown here]
Manuel Hermenegildo. An Abstract Machine for Restricted AND-parallel Execution of Logic Programs. In Ehud Shapiro, editor, Third International Conference on Logic Programming, London, pages 25--39. Springer-Verlag, 1986.
....great precision, and the overhead of the approach is small compared to traditional mode type analyses. 1 Introduction Don t know nondeterminism is an appealing feature of logic programming allowing concise statements of many problems. It complicates however sequential and parallel implementation [6, 8], partial evaluation [15] program transformation, and debugging. The number of solutions to a goal is thus useful for many purposes including indexing, cut insertion and elimination [6, 15] dead code elimination, and memory management and scheduling in parallel systems [8, 17] The purpose of ....
....implementation [6, 8] partial evaluation [15] program transformation, and debugging. The number of solutions to a goal is thus useful for many purposes including indexing, cut insertion and elimination [6, 15] dead code elimination, and memory management and scheduling in parallel systems [8, 17]. The purpose of this paper is to propose a novel analysis, called cardinality analysis, to approximate the number of solutions to a goal. The analysis subsumes traditional determinacy analysis [6, 7, 15, 5] and applies to full Prolog (without dynamic predicates such as assert retract) The ....
M. Hermenegildo. An Abstract Machine for Restricted AND-parallel execution of logic programs. In ICLP'96, pages 25--39, London, July 1986.
....in the code generated by the compiler. In this way simple and inexpensive runtime checks can be done to identify sources of dependency. This technique was first devised by DeGroot and is called Restricted (or Fork Join) And Parallelism (RAP) 17] and was further enhanced by Hermenegildo [42, 43, 45]. It does not capture all the and parallelism, although it does manage to exploit a substantial portion of it (see later) Moreover, research has shown that generation of these annotations through compile time analysis [15, 24, 41, 7, 46] based on abstract interpretation [13] is extremely ....
....only independent) The same language is used to make the result of the automatic parallelization visible to the user if so desired. In this system, program clauses are compiled into Conditional Graph Expressions (CGEs) originally developed by DeGroot [17] and successively refined by Hermenegildo [43] and Shen [70] Conditional Graph Expressions are expressions of the form (condition ) goal 1 goal 2 : goal n ) meaning that, if condition is true, goals goal 1 : goal n should be evaluated in parallel, otherwise they should be evaluated sequentially. No restrictions are imposed ....
M. V. Hermenegildo. An Abstract Machine for Restricted AND-parallel Execution of Logic Programs. In Proc. 3rd ICLP, LNCS 225, pages 25--40. Springer-Verlag, 1986.
....systems is that of efficient implementation of backtracking. Because of and parallelism not only a new backtracking semantics is needed for such systems, but also its implementation becomes very tricky. We consider the backtracking semantics given by Hermenegildo and Nasr for and parallel systems [6, 7, 12] and its efficient implementation in RAPWAM [7] The backtracking semantics as given by Hermenegildo and Nasr attempts to emulate the backward execution control of Prolog as much as possible. The Last Parallel Call Optimization is triggered when the last call in a Prolog clause is itself a ....
....(named ACE running on a Sequent Symmetry Multiprocessor) to illustrate LPCO and NPCO. 2 Independent And parallelism In this section we briefly describe independent andparallelism and how it is implemented. Foundations of much of the work described in this section were laid down in [6, 3], however, the specific implementation described is that of the ACE system [9] Conventionally, an and parallel Prolog system works by executing a program that has been annotated with parallel conjunctions. These parallel conjunction annotations are either inserted by a parallelizing compiler ....
[Article contains additional citation context not shown here]
M. Hermenegildo. An Abstract Machine for Restricted And Parallel Execution of Logic Programs. In Proc. of the Third International Conference on Logic Programming, 1986.
....(henceforth, we will call such a system an and or parallel system) using the dynamic approach so that neither any user intervention is required nor any parallelism is unnecessarily lost. Our techniques apply to only those and or parallel systems that use Conditional Graph Expressions (CGEs) [19] for representing independent and parallelism. Our ability to support extra logical predicates of Prolog using a dynamic approach crucially rests on our decision to recompute the solutions of independent goals rather than sharing them. 1 We have developed an abstract model for representing ....
....system. Section 6 presents methods and algorithms for implementing cuts in the C tree. Section 7 concludes the paper. Throughout this paper familiarity with the basic concepts and techniques used in purely or parallel such as Aurora [21, 6] and purely and parallel systems such as Prolog [19, 18] is assumed. 1 It should be noted that recomputation of independent goals was first introduced in Prolog [19, 18] Recomputation vs reuse for and or parallel systems was first studied in [27] See also [26] 4 2. EXTRALOGICAL PREDICATES Prolog programs include pure predicates and ....
[Article contains additional citation context not shown here]
M. V. Hermenegildo. An Abstract Machine for Restricted AND-parallel Execution of Logic Programs. In Third International Conference on Logic Programming, number 225 in Lecture Notes in Computer Science, pages 25--40. Imperial College, Springer-Verlag, July 1986.
....systems is that of efficient implementation of backtracking. Because of and parallelism not only a new backtracking semantics is needed for such systems, but also its implementation becomes very tricky. We consider the backtracking semantics given by Hermenegildo and Nasr for and parallel systems [6, 7, 12] and its efficient implementation in RAPWAM [7] The backtracking semantics as given by Hermenegildo and Nasr attempts to emulate the backward execution control of Prolog as much as possible. The Last Parallel Call Optimization is triggered when the last call in a Prolog clause is itself a ....
....is shown in Figure 2(i) One can reduce the number of parcall nodes, at least for this example, by rewriting the query as (r s t u) Figure 2(ii) shows the and tree that will be created if we apply this optimization. Note that executing the and tree shown in Figure 2(ii) on RAPWAM [6] will require less space because the parcall frames for (r s) and (t u) will not be allocated. The single parcall frame allocated will have two extra goal slots compared to the parcall frame allocated for (p q) in Figure 2(i) It is possible to detect cases such as above at compile time. ....
M. Hermenegildo. An Abstract Machine for Restricted And Parallel Execution of Logic Programs. In Proc. of the Third International Conference on Logic Programming, 1986.
....expected behaviour. It may be therefore be preferable not to have cuts in the original program, but instead let the compiler infer mutual exclusion and functionality and generate code appropriate to the execution environment. 25 Functionality information is also useful in AND parallel systems [5, 6, 11]. For example, in Conery s AND OR process model [5] OR processes for literals that are known to be functional can be killed, and their resources reclaimed, as soon as they have delivered a solution. This, in turn, can improve backtracking behavior within AND processes, since the number of goals ....
M. V. Hermenegildo, An Abstract Machine for Restricted AND-Parallel Execution of Logic Programs, in Proc. 3rd. International Conference on Logic Programming, London, July 1986, pp. 25-39. Springer-Verlag LNCS vol. 225.
....grounded is to check their bindings explicitly at run time. This can easily be incorporated in a compiler which generates appropriate code to check for the groundness of the bindings of variables appearing in the sub goal. The check can be conducted by using the check ground instruction of RAP WAM [H86a], for instance. At run time if all variables occurring in a sub goal are found to be ground, this information can be stored in the and node by setting a bit. When a processor encounters an and branch whose and node s bit is set, it doesn t install bindings from binding lists of that branch. Note ....
M. V. Hermenegildo, "An Abstract Machine for Restricted And Parallel Execution of Logic Programs". 3rd Int'l Conf. on Logic Prog., London, 1986.
....and parallel implementations. In addition, it is desirable to avoid over computation when both and parallelism and or parallelism arise within a set of goals. In view of the above criteria, our system for realizing and or parallelism combines or parallelism with restricted and parallelism (RAP) [9, 19]. This system was developed (and can be understood) in four stages. 1. We first developed an abstract model for representing and or parallel computations, called the extended and or tree model. The extended and or tree has, besides and nodes and or nodes, two new nodes: the sequential node, to ....
....nodes to restore the respective work queues stacks on failure. 5.2. AO WAM Instruction Set The AO WAM supports all of the instructions supported by WAM. The new instructions introduced in the AO WAM consist of the check instructions (check me else, check ground and check independent) of RAP WAM [19] for compiling CGEs, and instructions for allocating space for various nodes: alloc cross prod n, Addr, alloc and Addr, alloc sequential and alloc solution Addr. The check me else instruction loads a register with the address (called Check Fail Address or CFA) where the execution is to branch if ....
M. V. Hermenegildo, "An Abstract Machine for Restricted And Parallel Execution of Logic Programs", 3rd International Conference on Logic Programming, London, 1986, pp. 25-39.
....should and which parts should not be executed in parallel so that the user can control the granularity of computation. Our environment representation technique is based on Binding Arrays and is an improvement of the technique used in the AO WAM [GJ89] We use Conditional Graph Expressions (CGEs) [H86] to express independent and parallelism. Notice that our model subsumes the Prolog system and the Aurora system applications that can be run in parallel in either of these systems can be run in parallel in our model as well. y Our model is optimal in the sense that it avoids redundant ....
....which are not below any c node, gives rise to or parallelism. The C tree of a logic program is dynamic in nature, and its shape may depend on the number of processors and how they are scheduled, as will be explained shortly. y The composition node is very similar to the Parcall frame of RAP WAM [H86]. 4 Choice point Share Node Composition Node Key: b a b a a1 a2 a3 b1 b2 b3 b1 b2 b3 b1 b2 b3 b a C1 C2 C3 Figure 2: An Example Composition Tree Notice the topological similarity of the C tree with the purely or parallel tree shown in Figure 3 for the program above. ....
[Article contains additional citation context not shown here]
M. V. Hermenegildo, "An Abstract Machine for Restricted And Parallel Execution of Logic Programs". 3rd International Conference on Logic Programming, London, 1986.
....parallelism and present an efficient environment representation scheme based on Binding Arrays [W84,W87] to support it. Our environment representation technique is based on Binding Arrays and is an improvement of the technique used in the AO WAM [GJ89] We use Conditional Graph Expressions (CGEs) [HN86, H86] to express independent and parallelismy. Hence our model can be viewed as a combination of the Prolog system and the Aurora system in presence of only independent and parallelism our model behaves exactly like Prolog while in the presence of or parallelism it behaves exactly like Aurora. ....
....for compiled execution of and or parallel Prolog based on the Composition tree and extended Binding Arrays; while section 6 presents our conclusions. We assume the reader is familiar with Binding Arrays [W84, W87] the Aurora System [LWH90] Conditional Graph Expressions (CGEs) HN86] and RAP WAM [H86]. 2. Recomputation vs Reuse In the presence of both and and or parallelism in logic programs, it is possible to avoid recomputing certain goals (termed as solution sharing [GJ89] For example, consider two independent goals a(X) b(Y) each of which has multiple solutions. The most efficient ....
[Article contains additional citation context not shown here]
M. V. Hermenegildo, "An Abstract Machine for Restricted And Parallel Execution of Logic Programs". 3rd International Conference on Logic Programming, London, 1986.
.... a compiler related technique for exploiting narrower version of independent AND parallelism, called Restricted AND parallelism (RAP) The technique attempts to shift the burden of analysis to the compiler by generating statically execution expressions, namely, Conditional Graph Expressions (CGEs) [22], to indicate the order in which subgoals are to be evaluated. As an example, the clause f(X) p(X) q(X) with a syntactically shared variable X can be expressed as a CGE f(X) GPAR(X) p(X) q(X) which means that if X becomes a ground term by the time p and q are called, p(X) and q(X) can ....
....reduced. The evaluation of the scheme on the SES PIM system [51] shows that the amount of ANDparallelism exploited is more than double that of DeGroot. The algorithms for the above three stages of analysis can be optimised to reduce the code space for resulting CGEs [28] Hermenegildo [22, 23] has developed Restricted AND Parallelism as an extension to the WAM, named RAP WAM, by . By adding some extra instructions to the WAM to support parallelism, the high sequential performance and the efficient stack storage model of the WAM are preserved in the RAP WAM. The RAP WAM was later used ....
[Article contains additional citation context not shown here]
Hermenegildo, M.V. An Abstract Machine for Restricted AND-Parallel Execution of Logic Programs. In 3rd Int. Conf. on Logic Programming, London, 1986, 25-39.
No context found.
M. Hermenegildo. An Abstract Machine for Restricted AND-parallel Execution of Logic Programs. In Third International Conference on Logic Programming, number 225 in Lecture Notes in Computer Science, pages 25--40. Imperial College, Springer-Verlag, July 1986.
....for realizing an andparallel system. These are: i. Conery s abstract parallel implementation model [41, 42] ii. And Parallel Execution (APEX) Model of Lin and Kumar [95] and, iii. Restricted And parallel (RAP) model, introduced by DeGroot [49] and further refined by Hermenegildo and Nasr [81, 79]. Conery s Model In this method [42] a data flow graph is constructed in the ordering phase making the producer consumer relationships between subgoals explicit. If a set of subgoals have an uninstantiated variable V in common, one of the subgoals is designated as the producer of the value of V ....
....concurrency; see Section 9.2.3, p. 317, of [113] We think that among all the models the RAP model comes closest to realizing the criteria mentioned in the previous section. This model has been extended by Hermenegildo and Nasr, and has been efficiently implemented using WAM like instructions [79, 110] as the Prolog system [110] The CGEs are generated at compile time [105, 106, 86] using the technique of abstract interpretation [45] CGEs generated through this analysis at compile time manage to capture a substantial amount of and parallelism [107] 20 3.5. The Prolog AND Parallel Prolog ....
[Article contains additional citation context not shown here]
M. V. Hermenegildo. An Abstract Machine for Restricted AND-parallel Execution of Logic Programs. In Third International Conference on Logic Programming, number 225 in Lecture Notes in Computer Science, pages 25--40. Imperial College, Springer-Verlag, July 1986.
....realising the Basic Andorra Model, and AO WAM, a system for realising the Extended And Or Tree Model. Section 5 presents our conclusions and summary of our contributions. We assume the reader is in general familiar with the Binding Arrays method [26, 24] and Conditional Graph Expressions (CGEs) [5, 12], and for the latter part of the paper with implementation techniques employed in [8] and [20] 2. Combining Dependent and , Independent and and Or Parallelism As explained above, we base our model on the Basic Andorra Model [25, 11] which exploits dependent and and or parallelism, and the ....
....task switch from one node to another, if a tuple is encountered along the path. 3. The Computational Model IDIOM exploits or parallelism, independent and parallelism and (determinate) dependent and parallelism. Like the Extended And Or Tree Model, IDIOM uses Conditional Graph Expressions (CGEs) [12] (an improvement of EGEs [5] to express independent and parallelism, which can be generated by compile time analysis as in [16] Determinacy properties of goals are found by a determinacy preprocessor as in [19] and the appropriate determinacy code is tagged on to the program. dependent and par ....
[Article contains additional citation context not shown here]
M. V. Hermenegildo, "An Abstract Machine for Restricted And Parallel Execution of Logic Programs", 3rd International Conference on Logic Programming, London, 1986, pp. 25-39.
.... for encoding independent and parallelism is taken from purely independent and parallel systems specifically the Prolog system [HG90] we use the parallel conjunction operator to signify parallel execution of the goals separated by this operator and Conditional Graph Expressions (CGEs) [HN86,H86]x. Hence our model can be viewed as a combination of the Prolog system and a purely or parallel system such as Aurora or Muse in the presence of only independent andparallelism our model behaves like Prolog while in the presence of only or parallelism z We refer to the working agents of ....
....of solutions of a and b) To represent the fact that a parallel conjunction can have multiple solutions we add a branch point (choice point) before the different composition nodes. Note that c nodes and branch points serve purposes very similar to the Parcall frames and markers of the RAP WAM [H86, HG90]. The C tree can represent or and independent and parallelism quite naturally execution of goals in a c node gives rise to independent and parallelism while parallel execution of untried alternatives gives rise to or parallelism.y Notice the topological similarity of the C tree with the purely ....
[Article contains additional citation context not shown here]
M. V. Hermenegildo, "An Abstract Machine for Restricted And Parallel Execution of Logic Programs". In 1986 International Conference on Logic Programming, London, LNCS, Springer-Verlag.
....can be used with little modification in other logic and constraint logic programming systems. The kernel language is directly supported by a comparatively simple abstract machine, mainly based on the parallelism and concurrency capabilities of the Prolog parallel abstract machine (the PWAM [Her86, HG91] The CIAO system is an evolution of Prolog [Her86, HG91] which uses the Prolog abstract machine as underlying kernel execution mechanism and significantly extends the Prolog parallelizing compiler to support several logic programming paradigms. The implementation of the CIAO ....
....constraint logic programming systems. The kernel language is directly supported by a comparatively simple abstract machine, mainly based on the parallelism and concurrency capabilities of the Prolog parallel abstract machine (the PWAM [Her86, HG91] The CIAO system is an evolution of Prolog [Her86, HG91] which uses the Prolog abstract machine as underlying kernel execution mechanism and significantly extends the Prolog parallelizing compiler to support several logic programming paradigms. The implementation of the CIAO system makes use of the observation that the languages and ....
[Article contains additional citation context not shown here]
M. Hermenegildo. An Abstract Machine for Restricted ANDparallel Execution of Logic Programs. In Third International Conference on Logic Programming, number 225 in Lecture Notes in Computer Science, pages 25--40. Imperial College, Springer-Verlag, July 1986.
No context found.
M. Hermenegildo. An Abstract Machine for Restricted AND-Parallel Execution of Logic Programs. In E. Y. Shapiro, editor, Proc. Third Int'l Conf. on Logic Programming, volume 225 of Lecture Notes in Computer Science, pages 25--40. Springer-Verlag, Berlin, 1986.
No context found.
M. V. Hermenegildo, "An Abstract Machine for Restricted AND-Parallel Execution of Logic Programs", Proc. Third International Conference on Logic Programming, London, July 1986. Springer-Verlag LNCS vol. 225, pp. 25-39.
First 50 documents Next 50
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