Results 1 - 10
of
23
Models and Languages for Parallel Computation
- ACM COMPUTING SURVEYS
, 1998
"... We survey parallel programming models and languages using 6 criteria [:] should be easy to program, have a software development methodology, be architecture-independent, be easy to understand, guranatee performance, and provide info about the cost of programs. ... We consider programming models in ..."
Abstract
-
Cited by 121 (4 self)
- Add to MetaCart
We survey parallel programming models and languages using 6 criteria [:] should be easy to program, have a software development methodology, be architecture-independent, be easy to understand, guranatee performance, and provide info about the cost of programs. ... We consider programming models in 6 categories, depending on the level of abstraction they provide.
Algorithms for the Satisfiability (SAT) Problem: A Survey
- DIMACS Series in Discrete Mathematics and Theoretical Computer Science
, 1996
"... . The satisfiability (SAT) problem is a core problem in mathematical logic and computing theory. In practice, SAT is fundamental in solving many problems in automated reasoning, computer-aided design, computeraided manufacturing, machine vision, database, robotics, integrated circuit design, compute ..."
Abstract
-
Cited by 107 (3 self)
- Add to MetaCart
. The satisfiability (SAT) problem is a core problem in mathematical logic and computing theory. In practice, SAT is fundamental in solving many problems in automated reasoning, computer-aided design, computeraided manufacturing, machine vision, database, robotics, integrated circuit design, computer architecture design, and computer network design. Traditional methods treat SAT as a discrete, constrained decision problem. In recent years, many optimization methods, parallel algorithms, and practical techniques have been developed for solving SAT. In this survey, we present a general framework (an algorithm space) that integrates existing SAT algorithms into a unified perspective. We describe sequential and parallel SAT algorithms including variable splitting, resolution, local search, global optimization, mathematical programming, and practical SAT algorithms. We give performance evaluation of some existing SAT algorithms. Finally, we provide a set of practical applications of the sat...
Global Flow Analysis as a Practical Compilation Tool
- Journal of Logic Programming
, 1992
"... This paper addresses the issue of the practicality of global flow analysis in logic program compilation, in terms of speed of the analysis, precision, and usefulness of the information obtained. To this end, design and implementation aspects are discussed for two practical abstract interpretation- ..."
Abstract
-
Cited by 73 (20 self)
- Add to MetaCart
This paper addresses the issue of the practicality of global flow analysis in logic program compilation, in terms of speed of the analysis, precision, and usefulness of the information obtained. To this end, design and implementation aspects are discussed for two practical abstract interpretation-based flow analysis systems: MA 3 , the MCC And-parallel Analyzer and Annotator; and Ms, an experimental mode inference system developed for SB-Prolog. The paper also provides performance data obtained from these implementations and, as an example of an application, a study of the usefulness of the mode information obtained in reducing run-time checks in independent and-parallelism. Based on the results obtained, it is concluded that the overhead of global flow analysis is not prohibitive, while the results of analysis can be quite precise and useful. 1 Introduction The extensive use of advanced compilation techniques [8, 22, 30, 32, 33, 34], coupled with parallel execution [5, 10,...
Functional computations in logic programs
- ACM Transactions on Programming Languages and Systems
, 1989
"... Abstract: While the ability to simulate nondeterminism and compute multiple solutions for a single query is a powerful and attractive feature of logic programming languages, it is expensive in both time and space. Since programs in such languages are very often functional, i.e. do not produce more t ..."
Abstract
-
Cited by 51 (11 self)
- Add to MetaCart
Abstract: While the ability to simulate nondeterminism and compute multiple solutions for a single query is a powerful and attractive feature of logic programming languages, it is expensive in both time and space. Since programs in such languages are very often functional, i.e. do not produce more than one distinct solution for a single input, this overhead is especially undesirable. This paper describes how pro-grams may be analyzed statically to determine which literals and predicates are functional, and how the program may then be optimized using this information. Our notion of ‘‘functionality’ ’ subsumes the notion of ‘‘determinacy’ ’ that has been considered by various researchers. Our algorithm is less reliant on language features such as the cut, and thus extends more easily to parallel execution strategies, than others that have been proposed.
On the Complexity of Dataflow Analysis of Logic Programs
, 1992
"... This article reports some results on this correlation in the context of logic programs. A formal notion of the "precision" of an analysis algorithm is proposed, and this is used to characterize the worst-case computational complexity of a number of dataflow analyses with different degrees of precisi ..."
Abstract
-
Cited by 35 (4 self)
- Add to MetaCart
This article reports some results on this correlation in the context of logic programs. A formal notion of the "precision" of an analysis algorithm is proposed, and this is used to characterize the worst-case computational complexity of a number of dataflow analyses with different degrees of precision. While this article considers the analysis of logic programs, the technique proposed, namely the use of "exactness sets" to study relationships between complexity and precision of analyses, is not specific to logic programming in any way, and is equally applicable to flow analyses of other language families.
An abstract interpretation scheme for groundness, freeness, and sharing analysis of logic programs
- In 12 th FST and TCS Conference
, 1992
"... Static global analyses based on abstract interpretation have been used to derive properties of programs. The analyses differ in the expressiveness of the abstract domains and the precision and efficiency of domain operations. We extend an abstract domain defined by Jacobs and Langen and present new ..."
Abstract
-
Cited by 15 (1 self)
- Add to MetaCart
Static global analyses based on abstract interpretation have been used to derive properties of programs. The analyses differ in the expressiveness of the abstract domains and the precision and efficiency of domain operations. We extend an abstract domain defined by Jacobs and Langen and present new abstract domain operations to derive freeness, groundness, and sharing of variables in logic programs. Analysis of non-trivial programs shows that our method is more precise and more efficient than previous proposals.
Distributing And- and Or-Work in the Andorra-I Parallel Logic Programming System
, 1995
"... Parallelism and logic programming are two fields that have been successfully combined, as is shown by recent implementations of parallel logic programming systems. There are two main sources of parallelism in logic programming, namely or-parallelism and and-parallelism. Or-parallelism is exploited w ..."
Abstract
-
Cited by 11 (8 self)
- Add to MetaCart
Parallelism and logic programming are two fields that have been successfully combined, as is shown by recent implementations of parallel logic programming systems. There are two main sources of parallelism in logic programming, namely or-parallelism and and-parallelism. Or-parallelism is exploited when several alternative clauses to a goal are executed in parallel. And-parallelism is exploited when we execute two or more goals of the same clause simultaneously. Exploitation of full or-parallelism 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. In parallel logic programming systems which exploit both and-parallelism and or-parallelism, a problem that arises is how to distribute processors between the dynamically varying amounts of and-work and or-work that are available. Solutions have been reported for distributing only or-work, or distributing only and-work, but the issue of distributing processors between both kinds of work has not yet been addressed. In this thesis we discuss the problem of distributing and-work and or-work in the context of Andorra-I, a parallel logic programming system that exploits determinate and-parallelism and or-parallelism, and propose scheduling strategies that aim at effi ciently distributing processors between and-work and or-work. We study general criteria that every scheduling strategy should meet to reconfi gure processors without incurring too high overheads in the Andorra-I system. We propose two different strategies to reconfi gure processors between and-work and or-work based on these criteria. One strategy, work-guided, guides its decisions by looking at the amount of current and-work and or-work available in ...
Sequentialization Of Parallel Logic Programs With Mode Analysis
, 1992
"... The family of concurrent logic programming languages based on Flat-Guarded Horn Clauses has proven to be a great asset to programmers seeking to quickly construct efficient programs for highly parallel shared-memory machines. If these languages are to be implemented efficiently for other architectur ..."
Abstract
-
Cited by 8 (3 self)
- Add to MetaCart
The family of concurrent logic programming languages based on Flat-Guarded Horn Clauses has proven to be a great asset to programmers seeking to quickly construct efficient programs for highly parallel shared-memory machines. If these languages are to be implemented efficiently for other architectures, however, language-specific compile-time analysis techniques must be improved. This work describes a technique and implementation of automatic "mode analysis" (identification of input and output parameters) for a large subset of FGHC programs, and some possible techniques for the automatic "sequentialization" (ordering of body goals) of a subset of the fully-moded programs. Department of Computer and Information Science University of Oregon Acknowledgements Praise God from whom all blessings flow. Thanks to my loving wife Joanie, who made this whole experience possible. And thanks to my advisor, Dr. Evan Tick. Without him I never would even have gotten involved in this topic, much less...
The Design And Implementation Of Massively Parallel Knowledge Representation And Reasoning Systems: A Connectionist Approach
, 1996
"... Efficient knowledge representation and reasoning is an important component of intelligent activity, and is a crucial aspect in the design of large-scale intelligent systems. This dissertation explores the design, analysis, and implementation of massively parallel knowledge representation and reasoni ..."
Abstract
-
Cited by 8 (1 self)
- Add to MetaCart
Efficient knowledge representation and reasoning is an important component of intelligent activity, and is a crucial aspect in the design of large-scale intelligent systems. This dissertation explores the design, analysis, and implementation of massively parallel knowledge representation and reasoning systems which can encode very large knowledge bases and respond to a class of queries in real-time, with reasoning episodes expected to span a fraction of a second. The dissertation attempts to design efficient, large-scale knowledge base systems by: (i) exploiting massive parallelism; and (ii) constraining representational and inferential capabilities to achieve tractability, while still retaining sufficient expressive power to capture a broad class of reasoning in intelligent systems. To this end, shruti, a connectionist reasoning system which models reflexive--- i.e., effortless and spontaneous---reasoning serves as the knowledge representation and reasoning framework. Shruti-based mas...

