| V. Santos Costa, D.H.D. Warren, and R. Yang. The andorra-i preprocessor: Supporting full prolog on the basic andorra model. In Proceedings of the 8th International Conference on Logic Programming ICLP'91, pages 443-456. MIT Press, 1991. |
....due to the constraints on the control variable. At first sight, the demonstrated combination of propagating and distributing disjunctions looks promising. Its practical use, however, is limited due to hard wired control. Systems built on the Andorra principle suffer from the inflexible control [119, 60]. Moolenaar and Demoen describe in [94] how selection criteria like least number of alternatives (first fail) can be implemented on an abstract machine level. While strategies like first fail might be appropriate in some situations, they might fall short in others. The right thing is as usual: ....
Vtor Santos Costa, David H. D. Warren, and Rong Yang. The Andorra-I preprocessor: Supporting full Prolog on the Basic Andorra Model. In Koichi Furukawa, editor, Proceedings of the Eight International Conference on Logic Programming, pages 443--456, Paris, France, June 1991. The MIT Press.
....and right most levels of an expression. 5 A Processing Model for CLG as CLP (RT ) In this section we present the formal processing model for CLG seen as a CLP (RT ) program, which can be seen as a generalization of the constraint rewriting system and also as an extension of the Andorra Model [War88, SWY91]. Assume a CLP (RT ) consists of clauses of the form where c is a constraint, h is the head of the clause and b is a body consisting of a, possibly empty, conjunction of goals. In the sequel we will consider atoms (in the logic connotation of the word) as a particular case of terms. To ....
Santos, Vitor Costa, David H.D. Warren and Rong Yang, 1991. The Andorra-I Preprocessor: Supporting Full Prolog on the Basic Andorra Model. Proceedings of the eight International Conference on Logic Programming, M.I.T., Cambridge, Massachusetts, 443-456.
....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 devised. These evaluations are usually made with a simulator of the model in study. The availability of a general but ....
V'itor Santos Costa, David H. D. Warren, and Rong Yang. The Andorra-I Preprocessor: Supporting full Prolog on the Basic Andorra model. In Proceedings of the Eighth International Conference on Logic Programming, pages 443--456. MIT Press, 1991.
....lead to an earlier or longer time to produce a solution. a, b, c d, e, f, g, h, i . AND WORK OR WORK Figure 1: Different kinds of work in an and or tree This paper studies a dynamic strategy that solves this problem in the context of the Andorra I parallel logic programming system [23, 16, 22]. Most scheduling strategies reported in the literature are applied to scientific applications that have a very regular task structure. Therefore most of the solutions are static scheduler strategies. Our strategy is dynamic and applied to irregular computations. We implemented the strategy in ....
V'itor Santos Costa, David H. D. Warren, and Rong Yang. The Andorra-I Preprocessor: Supporting full Prolog on the Basic Andorra model. In Proceedings of the Eighth International Conference on Logic Programming, pages 443--456. MIT Press, 1991.
....to early failure detection. In our implementation, the overhead of determining which goals are determinate has turned out to be by far outweighed by the reduction in search space for our linguistic applications. An additional speed up can be expected from applying known pre processing techniques (Santos Costa, Warren, and Yang 1991) to automatically extract so called determinacy code. The execution order of non determinate goals can be influenced by the user with wait declarations (Naish 1985) The execution of some goal is postponed until the call is more specific than a user specified term. Speculative computation may ....
Santos Costa, V., D. H. D. Warren, and R. Yang (1991). The Andorra-I preprocessor: Supporting full Prolog on the Basic Andorra model. In Proceedings of the Eighth International Conference on Logic Programming, pp. 443--456.
....to early failure detection. In our implementation, the overhead of determining which goals are determinate has turned out to be by far outweighed by the reduction in search space for our linguistic applications. An additional speed up can be expected from applying known pre processing techniques (Santos Costa, Warren, and Yang 1991) to automatically extract so called determinacy code. The execution order of non determinate goals can be influenced by the user with wait declarations (Naish 1985) The execution of some goal is postponed until the call is more specific than a user specified term. Speculative computation may ....
Santos Costa, V., D. H. D. Warren, and R. Yang (1991). The Andorra-I preprocessor: Supporting full Prolog on the Basic Andorra model. In Pro76 ceedings of the Eighth International Conference on Logic Programming, pp. 443--456. MIT Press.
....goal to the right may bind variables which in turn may make non determinate goals to their left determinate. The Andorra I compiler performs an elaborate determinacy analysis of the program and generates code so that the determinate status of a goal is determined as early as possible at runtime [121]. The Andorra I system supports full Prolog, in that execution can be performed in a way that sequential Prolog semantics is preserved [121] This is achieved by analysing the program at compile time and preventing early (i.e. out of turn) execution of those determinate goals that may contain ....
.... an elaborate determinacy analysis of the program and generates code so that the determinate status of a goal is determined as early as possible at runtime [121] The Andorra I system supports full Prolog, in that execution can be performed in a way that sequential Prolog semantics is preserved [121]. This is achieved by analysing the program at compile time and preventing early (i.e. out of turn) execution of those determinate goals that may contain extralogical predicates. These goals will be executed only after all goals to the left of them have been completely solved. The Andorra I ....
[Article contains additional citation context not shown here]
V. Santos Costa, D. H. D. Warren, R. Yang. The Andorra-I Preprocessor: Supporting full Prolog on the Basic Andorra model. In Logic Programming: Proceedings of the 8th International Conference, MIT Press, 1991, pages 443--456.
....components, namely the preprocessor, the engine and the scheduler. In order to decide which goals are determinate and to provide control for correct sequencing, a preprocessor is implemented which supports standard Prolog, allowing the use of cut, metapredicates and other side effect predicates [9]. As in Parlog [17] mode declaration method is used to indicate read only, write only or read write mode for each argument of the predicate. The preprocessor uses abstract interpretation techniques to decide correct goal instantiations according to mode declaratons. It also analyses heads of ....
Costa, V.S. et. al. The Andorra-I Preprocessor: Supporting Full Prolog on the Basic Andorra Model. In Proc. 8th Int. Conf. on Logic Programming, Paris, France, June 1991, 443-456.
....good execution models [Kow79] PP79] Col86] Nai85] More recently the need for such models has been made even clearer by the new goal of exploring parallelism in logic programs. One such important model is the Warren s Basic Andorra Model [War88] used in the the Andorra I system [SCWY91b, SCWY91c] In this model determinate goals (that is, goals for which at most a single clause can match) can be selected first and run in and parallel. When no such goals are available, the system can try the several alternatives to a non determinate goal in or parallelism. Besides the parallelism, the ....
V. Santos Costa, D. H. D. Warren, and R. Yang. The Andorra-I Preprocessor: Supporting full Prolog on the Basic Andorra model. In Proceedings of the Eighth International Conference on Logic Programming, pages 443--456. MIT Press, June 1991.
....in such a way that it allows the maximum optimizations possible while having the minimal number of versions for each predicate. The body of work in the area and Winsborough s fundamental results, plus the fact that abstract interpretation is becoming a practical tool in logic program compilation [27, 59, 48, 55, 7], suggests that it may be worthwhile to study whether multiple specialization could be useful in practice. However, little evidence on the practicality of abstract interpretation driven multiple specialization in logic programs has been provided previous to our work [51, 53] Improvements for a ....
V. Santos-Costa, D.H.D. Warren, and R. Yang. The Andorra-I Preprocessor: Supporting Full Prolog on the Basic Andorra Model. In 1991 International Conference on Logic Programming, pages 443-456. MIT Press, June 1991.
....results, and experiments also shed light on some of the many tradeoffs involved in the design of algorithms for logic program analysis. 1 Introduction Global program analysis is becoming a practical tool in logic program compilation and used to perform provably correct program optimizations [HWD92, RD92, MH92, SCWY91, BGH94, Bru91, Deb92]. Several generic analysis engines such as, for example, PLAI [MH92, MH90] and GAIA [CH94] facilitate construction of top down analyzers. Different description domains and related functions render different analyzers which provide different types of information and degrees of accuracy. The core of ....
V. Santos-Costa, D.H.D. Warren, and R. Yang. The Andorra-I Preprocessor: Supporting Full Prolog on the Basic Andorra Model. In 1991 International Conference on Logic Programming. MIT Press, June 1991.
....Exploitation of full or and and parallelism is limited by the number of physical processors available in a system. And parallelism is also limited by the interdependence among goals in a clause. One very interesting way of exploiting and parallelism in logic programs is used in Andorra I [18, 19], where determinate goals are executed first and concurrently, according to the Andorra Principle [26] Determinate goals are the ones that match at most one clause in a program. This way Andorra I exploits dependent and and independent determinate and parallelism. Eager execution of determinate ....
V'itor Santos Costa, David H. D. Warren, and Rong Yang. The Andorra-I Preprocessor: Supporting full Prolog on the Basic Andorra model. In Proceedings of the Eighth International Conference on Logic Programming, pages 443--456. MIT Press, 1991.
....that a goal has a single solution. In addition, knowledge that a goal will not fail is also quite useful [27] It is beyond the scope of this paper to address how this information is gathered the reader is referred to related work in the area of abstract interpretation based global analysis [33, 4, 11, 44, 14]. We will address instead how such information can be exploited at the parallel abstract machine level. We start by considering the case in which several parallel goals, perhaps not contiguous in the program text, but which are known to be deterministic, end up being executed on the same ....
....for the determinate processor optimization) are in the same backtracking family. For example, it is quite simple to determine by global analysis (using the same information that the parallelizing compiler Goals Prolog Execution Executed unoptimized optimized deriv(1) 261 [9] deriv(2) 2109 [11] deriv(3) 16893 [11] deriv(4) 135165 [11] boyer(0) 24 [3 8] boyer(1) 747 [111 153] boyer(2) 7290 [543 745] boyer(3) 282168 [4770 6500] quick sort(50) 150 [13 15] quick sort(100) 300 [14 16] quick sort(150) 450 [15 17] quick sort(200) 600 [15 16] poccur(1) 30 [9 ....
[Article contains additional citation context not shown here]
V. Santos Costa, D.H.D. Warren, and R. Yang. The Andorra-I Preprocessor: Supporting Full Prolog on the Basic Andorra Model. In 1991 International Conference on Logic Programming. MIT Press, June 1991.
.... Thus, a number of optimizations that take advantage of determinacy for making sequential execution of Prolog faster (and, often, cheaper in terms of memory usage) have been proposed [2, 5] Determinacy of goals has also been used in parallel systems: it is fundamental to the Andorra Principle [4], where it is used not only for reducing the search space of a program but also for exploiting parallelism, producing impressive results. The realization that determinacy plays a major role in system performance, has resulted in considerable amount of research in area of automatic compile time ....
....parallelism, producing impressive results. The realization that determinacy plays a major role in system performance, has resulted in considerable amount of research in area of automatic compile time detection of determinacy for building smart compilers capable of generating efficient code [4, 10]. However, compile time techniques have many limitations. Given that the compile time inference of any non trivial property of a program cannot be done with 100 precision, a compile time approach will not be able to catch all the instances where an optimization is applicable. This justifies the ....
V. Santos Costa, D.H.D. Warren, R. Yang. The Andorra-I Preprocessor: Supporting full Prolog on the Basic Andorra Model. In ICLP, MIT Press, 1991.
....and concurrent language programming styles and to take the best of both worlds. The Andorra model was proposed by D.H.D. Warren [25] in order to combine Or and And parallelism, and it has now bred a variety of idioms and extensions developed by different research groups, among which Andorra I [6, 5] and the Andorra Kernel Language[11, 12] The essential idea is to execute determinate goals first and concurrently, delaying the execution of non determinate goals until no determinate goal can proceed. This was inspired by the design of the concurrent language P Prolog[29] where synchronization ....
V'itor Santos Costa, David H. D. Warren, and Rong Yang. The Andorra-I preprocessor: Supporting full Prolog on the basic andorra model. In Furukawa [10], pages 443--456.
....Prolog system. This work was done while at INRIA on an extended visit. The Andorra model was proposed by D.H.D. Warren [15] in order to combine Or and And parallelism, and it has now bred a variety of idioms and extensions developed by different research groups, among which Andorra I [3, 2] and Andorra Kernel Language [5, 6] The essential idea is to execute determinate goals first and concurrently, delaying thus the execution of non determinate goals until no determinate goal can proceed any more. Hence the Andorra principle can amount to a priori pruning and it can thus reduce the ....
V'itor Santos Costa, David H. D. Warren, and Rong Yang. The Andorra-I preprocessor: Supporting full Prolog on the basic andorra model. In Furukawa [4], pages 443--456.
....examines user defined predicates. Parallelizers On multi processor machines it is of course desirable to keep all processors occupied. Logic programs typically have fewer side effects than their imperative counterparts, and may therefore have more opportunities for parallelization [Tic91, PN91, CWY91, HB88] Abstract Interpretation Many analysis methods can be captured in the framework of abstract interpretation [CC92, CC77, Jan90, BJCD87, Bru91, Mel87, MS88] In essence, a property of a program can sometimes be deduced by running an abstract form of the program, where operations and data ....
....a set of processors working on mutually exclusive rules can be relieved of their duties as soon as one of them succeeds. Also, in the Andorra model [HB88] goals with only one matching clause are executed before other goals. Static analysis has been used to detect such properties of goals [CWY91, PN91] After discussing related work and establishing some required terminology, we illustrate the ideas of our technique by means of a small example before describing the full algorithm. A larger example concludes the chapter. 6.1.1 Related Work The idea of recognizing mutual exclusion in ....
[Article contains additional citation context not shown here]
V. Santos Costa, D. H. D. Warren, and R. Yang. The Andorra-I Preprocessor: Supporting Full Prolog on the Basic AndorraModel. In InternationalConference on Logic Programming, pages 443--456. MIT Press, 1991.
....In this work we show that a combination of compiletime granularity information with dynamic scheduling strategies (the third approach) can in fact improve the performance of parallel logic programming systems that use completely dynamic scheduling strategies. Our target system is Andorra I [41] [29], 40] 11] a parallel logic programming system that exploits both ORP and ANDP. ANDP in Andorra I is exploited determinately, i.e. only goals that match at most one clause in the program are allowed to proceed in parallel. In order to obtain compile time granularity information, we used the ....
V'itor Santos Costa, David H. D. Warren, and Rong Yang. The Andorra-I Preprocessor: Supporting full Prolog on the Basic Andorra model. In Proceedings of the Eighth International Conference on Logic Programming, pages 443--456. MIT Press, 1991.
....such as assert and retract, and meta logical predicates such as the cut ( var and call. Meta logical predicates such as var, do not cause problems in combined independent and and or parallel systems; however, var will cause problems if we were to have dependent and parallelism as well [9]. Extralogical predicates have been classified as soft and hard [10] A soft extralogical predicate (such as read 1 and write 1) is one that does not influence the behaviour of other goals outside the goal that contains the extralogical predicate. A hard extralogical predicate (such as assert and ....
V. Santos Costa, D.H.D. Warren, and R. Yang. The Andorra-I Preprocessor: Supporting Full Prolog on the Basic Andorra Model. In 1991 International Conference on Logic Programming, pages 443--456. MIT Press, June 1991.
....[5] when exploiting and parallelism, and by Aurora [14] when exploiting or parallelism. The Andorra I system consists of several components. The preprocessor is responsible for compiling the program and for the sequencing information necessary to maintain the correct execution of Prolog programs [20]. The engine is responsible for the execution of the Andorra I programs [26] The two schedulers manage and and or work. Andorra I organises processors as teams, where processors within a team exploit and parallelism together, and the teams work in or parallel fashion. The reconfigurer [7] allows ....
V'itor Santos Costa, David H. D. Warren, and Rong Yang. The Andorra-I Preprocessor: Supporting full Prolog on the Basic Andorra model. In Proceedings of the Eighth International Conference on Logic Programming, pages 443--456. MIT Press, 1991.
.... 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 phase (# determinate goals = 0) leftmost goal = CGE ) DAP) # determinate goals = 0) leftmost goal = CGE) or par phase (ORP) pick first alternative) independent and par phase (IAP) pick ....
....of determinate goals affecting the evaluation of conditions in CGEs. ii) parallel) evaluation of goals in CGEs affecting the (eager) evaluation of determinate goals. A simple way to tackle the above is to declare the CGEs to be sensitive to early bindings, in the sense of Andorra I [19]. The preprocessor will then insert appropriate control information to guarantee that no goal which can affect these variables is executed early. This is guaranteed to produce the same behaviour (and the same amount of independent and parallelism) as in Prolog, but at the cost of compromising ....
[Article contains additional citation context not shown here]
V. Santos Costa, D. H. D. Warren, R. Yang, "The Andorra-I Preprocessor: Supporting full Prolog on the Basic Andorra model," In Logic Programming: Proceedings of the 8th International Conference, MIT Press, 1991, pp. 443-456.
....have quite different execution times, showing the need for good load balancing. Figure 4 also shows the VisAll s activity map for each processor allowing for easy investigation of the points at which workers became idle for longer time, and vice versa. 3. 3 Visualising DAP plus ORP Andorra I [26, 18, 25, 6] is a system that exploits ORP and determinate andparallelism. By determinate and parallelism we mean that the system only allows parallel execution of goals when they match at most one clause in the database. This makes the parallel execution tree looks like an or tree with some bushes that ....
V'itor Santos Costa, David H. D. Warren, and Rong Yang. The Andorra-I Preprocessor: Supporting full Prolog on the Basic Andorra model. In Proceedings of the Eighth International Conference on Logic Programming, pages 443--456. MIT Press, 1991.
....such as assert and retract, and meta logical predicates such as the cut ( var and call. Meta logical predicates such as var, do not cause problems in combined independent and and or parallel systems; however, var will cause problems if we were to have dependent and parallelism as well [8]. We also assume that predicates whose clauses may be modified at runtime are declared as dynamic from beforehand by the user (most modern Prolog systems will indeed require the user to declare such predicates as dynamic) This allows us to treat calls to such dynamic predicates as normal ....
V. Santos Costa, D.H.D. Warren, and R. Yang. The Andorra-I Preprocessor: Supporting Full Prolog on the Basic Andorra Model. In 1991 International Conference on Logic Programming, pages 443--456. MIT Press, June 1991.
....page is recorded in the ith location of the Page Table. i is referred to as the page number of the new page. Each processor in a team maintains an offset counter, which is used to assign offsets to conditional variables within a y Teams of processors were first employed in the Andorra I system [SWY91a, SWY91b, SWY91c]. z Thanks are due to David H. D. Warren for pointing out this similarity. page. When a new page is obtained by a processor, the offset counter is reset. Conditional variables are bound to the pair i, o , where i is the page number, and o is the value of the offset counter, which indicates the ....
V. Santos Costa, D. H. D. Warren, R. Yang, "The Andorra-I Preprocessor: Supporting full Prolog on the Basic Andorra model," In Logic Programming: Proceedings of the 8th International Conference, MIT Press, 1991, pp. 443-456.
No context found.
V. Santos Costa, D.H.D. Warren, and R. Yang. The andorra-i preprocessor: Supporting full prolog on the basic andorra model. In Proceedings of the 8th International Conference on Logic Programming ICLP'91, pages 443-456. MIT Press, 1991.
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