| K. Muthukumar and M. Hermenegildo. Determination of Variable Dependence Information at Compile-Time Through Abstract Interpretation. In 1989. |
....D abs , rather than the concrete domain of computation D conc . A concretization function conc : D abs Gamma D conc maps each abstract domain element to the concrete domain element it describes. Abstract interpretation of Horn programs has been studied by various researchers (see, for example, [4, 9, 10, 25, 26, 27, 29]) Given the structural relationships between the abstract and concrete domains, the notion of Omega in D abs can be derived without much trouble from the notion of instance in D conc . For example, one plausible definition is the following: given elements s and t in D abs , s is an instance of ....
K. Muthukumar and M. Hermenegildo, "Determination of Variable Dependence Information Through Abstract Interpretation", J. Logic Programming (special issue on Abstract Interpretation) vol. 13 nos. 2 & 3, July 1992, pp. 315--347.
....) and r(y) in the body of the first clause for parallel execution if it is able to detect (at compile time) that any possible run time environemnt does not bind x and y to terms which share a variable. Semantics based program analysis is often able to provide such an information (see for example [25]) An analysis of P which is based on a semantics that considers Prolog s left to right computation rule but ignores the depth first search strategy will not enable parallel execution of q(x ) and r(y) due to the clause eq(x ; x ) which introduces sharing to the runtime environment for x and y . ....
K. Muthukumar and M. Hermenegildo. Determination of Variable Dependence Information through Abstract Interpretation. In E. Lusk and R. Overbeek, editors, Proc. North American Conf. on Logic Programming'89, pages 166--185. The MIT Press, Cambridge, Mass., 1989.
....dereference to the same location, then the compiler must ensure that the code generated to access this location is consistent with its representation no matter which of the aliased variables is used to access it. Aliases may be determined using dataflow analyses designed for this purpose (e.g. see [6, 8, 9, 18]) Alternatively, since registers cannot have pointers to them, the optimization may be limited to objects resident in registers the latter alternative, while simpler, is conservative and may fail to exploit the optimization to its fullest. If untagged objects are passed around at runtime, it ....
K. Muthukumar and M. Hermenegildo, Determination of Variable Dependence Information through Abstract Interpretation, in Proc. North American Conference on Logic Programming, Oct. 1989, pp. 166-185. MIT Press. 30
....involve very simple run time tests, details of which are presented in [9] The method is conservative in that it may type a term as nonground even when it is ground another reason why the method is regarded as restricted . Techniques to perform these checks at compile time may be found in [26, 27]. This model has been efficiently implemented on shared memory multiprocessors using a variant of WAM [21] 2.3 Objectives for And Or Parallel Implementations Since an and or parallel implementation must exploit both and parallelism as well as orparallelism, it is reasonable to adopt the union ....
K. Muthukumar, M. V. Hermenegildo, "Determination of Variable Dependence Information through Abstract Interpretation," In Proc. of NACLP '89, MIT Press.
....We contend that the same can be done for systems that combine independent and and or parallelism. However, for Prolog, and parallelism has to be annotated using Conditional Graph Expressions (CGEs) before execution commences. This can be done by the user or by automatic parallelization tools [MH89a] based on abstract interpretation. Although user written annotations should perform better than these automatically generated annotations, experience has shown that the parallelization tools do uncover a significant amount of parallelism [MH89b] In this paper we present a concrete model which ....
....its two arguments at runtime are such that they don t have any variables in common, or the constant true meaning that goal 1 : goal n can be evaluated in parallel unconditionally. It is possible to generate CGEs automatically and quite successfully at compile time using abstract interpretation [MH89a]. 2.1. And Or Composition Tree: And Or parallelism with Recomputation The most common way to express and and or parallelism in logic programs is through traditional and or trees, which consist of or nodes and and nodes. Or nodes represent multiple clause heads matching a goal while and nodes ....
K. Muthukumar, M. V. Hermenegildo, "Determination of Variable Dependence Information through Abstract Interpretation." In Proceedings of the 1989 North American Conference on Logic Programming, MIT Press. 26
....If side effects are present (as is usually the case with Prolog programs) then set of solutions for these goals may not be static. For example, consider the case where, within b, the value of a variable is read from the standard input and y Note that CGEs can be generated at compile time [MH89a] using abstract interpretation and thus the programmer is not burdened with inserting them. 2 then some action taken which depends on the value read. The solutions for b may be different for every invocation of b (where each invocation corresponds to a different solution of a) Hence solution ....
K. Muthukumar, M. V. Hermenegildo, "Determination of Variable Dependence Information through Abstract Interpretation," In Proc. of NACLP '89, MIT Press.
....languages and the declarative nature of the language which makes it more amenable to static analysis. Considerable progress has been realised in this area in terms of the frameworks (e.g. 1, 3, 2, 7, 20, 21, 23, 30] the algorithms (e.g. 2, 6, 15, 16, 26] the abstract domains (e.g. [4, 14, 25]) and the implementations (e.g. 13, 18, 12, 29] An abstract domain which has raised much interest in recent years is the domain Prop proposed by Marriott and Sondergaard [22] The domain is intended to compute groundness information in Prolog programs. It is conceptually simple and elegant ....
....the Abstract Domains 5.2.1 The domain Pattern The abstract domain Pattern contains patterns (i.e. for each subterm, the main functor and a reference to its arguments are stored) sharing, same value, and mode components. The domain is more sophisticated than the sharing domains of, for instance, [14, 25] and than the mode domains of, for instance, 29, 13] It is best viewed as an abstraction of the domain of Bruynooghe and Janssens [4] where a pattern component has been added. The domain is fully described in [24] which contains also the proofs of monotonicity and consistency. The key concept in ....
K. Muthukumar and M. Hermenegildo. Determination of Variable Dependence Information Through Abstract Interpretation. In Proceedings of the North-American Conference on Logic Programming (NACLP-89), Cleveland, Ohio, October 1989.
....from each of v 1 : v n are disjoint from one another. Checking for ground and independence involve very simple run time tests, details of which are presented in [D84] Conditional Graph Expressions can be automatically generated from a given logic program using compile time analysis tools [MH89]. In the presence of or parallelism the multiple solutions of independent goals in the CGE can be found in or parallel. This suggests further optimization of logic program execution one can compute all possible solutions of independent goals and then join them to produce all possible solutions ....
K. Muthukumar, M. V. Hermenegildo, "Determination of Variable Dependence Information through Abstract Interpretation," In Proc. of NACLP '89, MIT Press.
....X is ground. eq(X, Y) r(Y) eq(U, U) r(a) p(f(X, b) p(U) q(U) q(f(a, V) p(Y) r(Y, X) p(U) q(U) q(f(a, V) r(f(W1, W2) W1) To overcome this problem, domains have been developed in which information about the aliasing and sharing behavior of variables is maintained; see [3, 12, 7, 9, 11] for example. These dependency based approaches improve the accuracy of the analysis and, for the first program, they infer that both X and Y are ground. They are, however, rather weak in reasoning about partially instantiated structures. For example, in the second program, the dependency based ....
....value[3] false false s s s value[4] false true true true true value[5] false true true true true We can similarly specify a standard engine for topdown analysis, but we defer the details to the appendix. Amongst the many papers for which the standard engine applies are [10, 7] bottom up) and [1, 3, 9] (top down) In order to compare the standard engine with the unfolding engine, we will now formulate the operation of the standard engine using our framework of group equations, clusters, composition etc. Recall that in our framework, we can perform bottom up or topdown analysis simply by using ....
K. Muthukumar and M. Hermenegildo, "Determination of Variable Dependence Information Through Abstract Interpretation", Proc. North American Conf. on Logic Programming, 1989, pp 166--186.
....i . On the subsequent iteration, attention is focussed on applying the results of Delta i , avoiding recomputing values already obtained from f i Gamma1 ( See [30] for a detailed exposition. The exploitation of the Delta i part can be effected in various ways. In the frameworks of [18] [23] and [4] dynamic information is maintained about the dependencies in a program being analysed, so that one can identify quickly the effects that a given change Delta i might have. In our algorithm we do not use any dynamic dependency information. We apply the idea of seminaive evaluation in a ....
K. Muthukumar and M. Hermenegildo. Determination of Variable Dependence Information at Compile-Time Through Abstract Interpretation. In 1989 North American Conference on Logic Programming, pages 166--189, MIT Press, October 1989.
No context found.
K. Muthukumar and M. Hermenegildo. Determination of Variable Dependence Information at Compile-Time Through Abstract Interpretation. In 1989.
....to redo all computations dependent on an invalid table lookup : the way they attempt to minimize the number of transitions to be redone and how they attempt to make the best use of what has already been computed. Our PLAI implementation of the fixpoint algorithm [Hermenegildo et al. 1995; Muthukumar and Hermenegildo 1989; 1990; 1992] is performed as follows. The program is preprocessed in order to determine recursive predicates and recursive rules. This allows analyzing nonrecursive predicates in one pass without checking whether there is an ancestor node. For the recursive predicates, nonrecursive rules are ....
Muthukumar, K. and Hermenegildo, M. 1989. Determination of variable dependence information at compile-time through abstract interpretation. In Proceedings of the 1989 North American Conference on Logic Programming, E. Lusk and R. Overbeek, Eds. MIT Press, Cambridge, Mass., 166--189.
....in Table 7 represent lower bounds on CGE optimization and are expected to improve as our analysis and parallelization tools, which are not directly the subject of the paper, mature. Most significantly, the results presented are based on MA 3 inferring term groundness only. Recent results [26, 17] show that it is possible to infer both groundness and independence information with a high degree of accuracy. This and other refinements should continue to optimize the parallelization process, further improving runtime performance. Although we have concentrated on the issue of i cond ....
K. Muthukumar and M. Hermenegildo. Determination of Variable Dependence Information at CompileTime Through Abstract Interpretation. In 1989 North American Conference on Logic Programming. MIT Press, October 1989.
....a nice compromise between (ii) where extensive compile time analysis is done to get sub optimal parallelism, and (iii) where a costly runtime analysis is needed to get maximal parallelism. Moreover recent research has shown that these annotations (CGEs) can be generated via compile time analysis [105, 106, 86, 110] based on abstract interpretation [45] 17 3.1.2. Forward Execution Phase The forward execution phase follows the ordering phase. It selects independent goals that can be executed in and parallel, and initiates their execution. The execution continues like normal sequential execution until ....
....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 System Prolog is a prototype Prolog implementation, fully compatible with the ....
[Article contains additional citation context not shown here]
K. Muthukumar, M. V. Hermenegildo. Determination of Variable Dependence Information through Abstract Interpretation. In Proc. of N. American Conference on Logic Programming '89, MIT Press, 1989.
....of Aurora and Muse and agents of Prolog simply as processors, under the assumption that the term will generally represent processes mapped onto actual processors in an actual implementation. x Note that CGEs and operators can be introduced automatically in the program at compile time [MH89a] and thus the programmer is not burdened with the parallelization task. 2 it behaves like the Aurora or Muse systems, depending on the environment representation technique chosen. The rest of the paper is organised as follows: Section 2 describes or parallelism and independent and parallelism ....
....have any variable in common, or the constant true meaning that goal 1 : goal n can be evaluated in parallel unconditionally. As mentioned before, it is possible to generate parallel conjunctions and or CGEs automatically and quite successfully at compile time using abstract interpretation [MH89a,MH90]. Thus, exploitation of independent andparallelism in Prolog is implicit (although user annotation is also allowed) There have been a number of attempts to exploit or and independent andparallelism together in a single framework [GJ89, RK89, WR87, etc. However, and as mentioned earlier, ....
K. Muthukumar, M. V. Hermenegildo, "Determination of Variable Dependence Information through Abstract Interpretation." In Proceedings of the 1989 North American Conference on Logic Programming, MIT Press.
....the analysis of (classical) logic programs (over the Herbrand domain) the CIAO compiler includes a number of traditional domains proposed in the literature for capturing properties such as variable groundness, freeness, sharing, and linearity information. This includes the set sharing Sh [JL89, MH89] set sharing and freeness Sh Fr [MH91] and pair sharing ASub [Son86] domains. Combinations of the Sh and Sh Fr domains with ASub are also supported, resulting in the Sh ASub and Sh Fr ASub domains. The combination is done in such a way that the original domains and operations of the analyzer ....
K. Muthukumar and M. Hermenegildo. Determination of Variable Dependence Information at Compile-Time Through Abstract Interpretation. In 1989 North American Conference on Logic Programming, pages 166--189. MIT Press, October 1989.
.... simple program P: mylength(Y,N) mylength(Y,0,N) mylength( N,N) mylength( X Xs] N1,N) N2 is N1 1, mylength(Xs,N2,N) The naive transformation adds the following clauses to P: analyze: mylength(X,Y) analyze: mylength(X,Y,Z) A goal independent analysis using the Sharing domain [11, 15] gives the following: 1) analyze : X] Y] mylength(X,Y) X] 2) analyze : X] Y] Z] mylength(X,Y,Z) X] Y,Z] 3) mylength(Y,N) Y] N] mylength(Y,0,N) Y] 4) mylength( N,N) N] 5) mylength( X Xs] N1,N) N1] N] X] X,Xs] Xs] N2] N2 is N1 1, ....
.... : X] Y] Z] mylength(X,Y,Z) X] Y,Z] 3) mylength(Y,N) Y] N] mylength(Y,0,N) Y] 4) mylength( N,N) N] 5) mylength( X Xs] N1,N) N1] N] X] X,Xs] Xs] N2] N2 is N1 1, N] X] X,Xs] Xs] mylength(Xs,N2,N) X] X,Xs] Xs] In the Sharing domain [11, 15] an abstract substitution is a set of sets of program variables (represented as a list of lists) Intuitively, each set fv 1 ; v n g specifies that there may be a substitution where the terms bound to the clause variables contain a variable occurring in the terms bound to v 1 ; v ....
[Article contains additional citation context not shown here]
K. Muthukumar and M. Hermenegildo. Determination of Variable Dependence Information at Compile-Time Through Abstract Interpretation. In 1989 North American Conference on Logic Programming. MIT Press, October 1989.
No context found.
K. Muthukumar and M. Hermenegildo. Determination of Variable Dependence Information at Compile-Time Through Abstract Interpretation. In 1989.
No context found.
K. Muthukumar and M. Hermenegildo. Determination of Variable Dependence Information at Compile-Time Through Abstract Interpretation. Technical Report ACA-ST-232-89, Microelectronics and Computer Technology Corporation (MCC), Austin, TX 78759, March 1989.
No context found.
K. Muthukumar and M. Hermenegildo. Determination of Variable Dependence Information at Compile-Time Through Abstract Interpretation. In 1989.
No context found.
K. Muthukumar, M. Hermenegildo, Determination of variable dependence information through abstract interpretation, Proc. North American Conf. on Logic Programming (NACLP-89), Cleveland, OH, October 1989.
No context found.
K. Muthukumar and M. Hermenegildo. Determination of Variable Dependence Information through Abstract Interpretation. In E. Lusk and R. Overbeck, editors, Proc. North American Conf. on Logic Programming'89, pages 166--185. The MIT Press, Cambridge, Mass., 1989.
No context found.
K. Muthukumar and M. Hermenegildo, `Determination of variable dependence information through abstract interpretation', Proc. North American Conference on Logic Programming (NACLP-89), Cleveland, Ohio, October 1989.
No context found.
K. Muthukumar and M. Hermenegildo, "Determination of Variable Dependence Information at Compile Time through Abstract Interpretation", Proc. North American Conference on Logic Programming, Cleveland, Ohio, Oct. 1989 (to appear).
No context found.
K. Muthukumar and M. Hermenegildo. Determination of variable dependence information through abstract interpretation. Technical report, Advanced Computer Architecture, MCC Dept. of Comp. Sci., June 1989. MCC Non-Confidential ACT-ST-232-89.
First 50 documents
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