ACE(ID:5478/ace003)
Parallel logic language
- Country: es
- Began: 1994
- Sammet:EXP
for And/Or-parallel Copying-based Execution of logic programs
Related languages
References:
Gupta, G.; Hermenegildo, M.; Pontelli, E.; Santos-Costa, V. "ACE: And/Or-parallel Copying-based Execution of Logic Programs" pp93-110 view details
in Proceedings of the Eleventh International Conference of Logic Programming, MIT Press Series in Logic Programming, 1994 view details
PARallel FORmal Computing Environment (ESPRIT Basic Research)
EATCS 1994 Report view details
Abstract: ParForCE is aimed at constructing (and evaluating the use of) formal tools for the development of parallel programs and their efficient execution. To this end the emerging techniques for formal program analysis and manipulation are applied to central issues relating to parallel execution such as dependency and granularity analysis or memory management. Tools based on these techniques are built to aid in the formal development of parallel logic programs. These tools are then integrated with parallel execution platforms and their effectiveness assessed.
Extract: Parallel Logic Programming Platforms A number of parallel logic programming systems, which have been shown to be capable of significant speedups over state of the art sequential Prolog systems, are already being used as platforms by the project partners. These include &-Prolog [39] (developed at Madrid), Muse [2, 3] (developed at SICS), and ElipSys [7] (developed at ECRC). The ElipSys execution platform, a prototype of which was developed as part of ESPRIT Project 2025, EDS, supports OR-parallelism as well as a framework for implementing constraint solvers and a close coupling to databases. Muse is a well established execution platform that allows Prolog to be executed in parallel by exploiting OR-parallelism. The &-Prolog system is also a well established parallel Prolog system that exploits (independent) AND-parallelism. Some parts of the &-Prolog and Muse models were developed by SICS and Madrid in ESPRIT Project 2471, PEPMA.
A matter of great interest is the combination of the capabilities of these systems, as well as those of other languages, both from the point of view of concurrency and constraint support.
The AGENTS Language (AKL) is a new concurrent logic language developed by SICS in ESPRIT Project 2471, PEPMA, with a large potential for parallel execution. It provides the programming paradigms of search-oriented languages such as Prolog, process-oriented languages such as GHC, and the constraint logic programming languages in a unified framework.
A proposal for combining Muse and &-Prolog into one system to exploit their two sources of parallelism while maintaining the high efficiency of both systems is represented by the ACE model [35]. We refer to a further enhancement of this model which also supports constraint solving (and explicit concurrency) in the same framework as Ciao-Prolog --(Concurrent,) Constraint, Independence-based And/Or parallel Prolog.
in Proceedings of the Eleventh International Conference of Logic Programming, MIT Press Series in Logic Programming, 1994 view details
Mukund Raghavachari and Anne Rogers "Ace: linguistic mechanisms for customizable protocols" view details
Abstract: Customizing the protocols used to manage accesses to different data structures within an application can improve the performance of shared-memory programs substantially [10, 21]. Existing systems for using customizable protocols are, however, hard to use because they force programmers to rely on low-level mechanisms for manipulating these protocols. Since several shared-memory systems implement protocols in software and can support customizable protocols, the development of intuitive abstractions for the use of application-specific protocols ia important.We have designed a language, Ace, that integrates support for customizable protocols with minimal extensions to C. Ace applications are developed using the standard shared-memory model with a default sequentially consistent protocol. Performance can then be optimized, with minor modifications to the application, by experimenting with different protocol libraries. In this paper, we isolate the issues involved in providing language support for using customizable protocols and present novel language abstractions for their easy use. We describe the implementation of a compiler and runtime system for Ace, and discuss the issues involved in their design. We also present measurements that demonstrate that Ace has good performance compared to an efficient software distributed shared-memory system.
DOI
in Proceedings of the sixth ACM SIGPLAN symposium on Principles and Practice of Parallel Programming 1997, Las Vegas USA view details
Pontelli, Enrico and Gopal Gupta "Parallel symbolic computation in ACE"
view details
Abstract: We present an overview of the ACE system, a sound and complete parallel implementation of Prolog that exploits parallelism transparently (i.e., without any user intervention) from AI programs and symbolic applications coded in Prolog. ACE simultaneously exploits all the major forms of parallelism – Or‐parallelism, Independent And‐parallelism, and Dependent And‐parallelism – found in Prolog programs. These three varieties of parallelism are discussed in detail, along with the problems encountered in their practical exploitation. Our solutions to these problems, incorporated in the ACE system, are presented. The ACE system has been implemented on Sequent Symmetry and Sun Sparc Multiprocessors; performance results from this implementation for several AI programs are presented, which confirm the effectiveness of the choices made.
in Annals of Mathematics and Artificial Intelligence 21(2-4) 1997 view details
Mukund Raghavachari and Anne Rogers
"Ace: a language for parallel programming with customizable protocols" ACM Transactions on Computer Systems 17(3) August 1999 pp 202-248
view details
Abstract: Customizing the protocols that manage accesses to different data structures within an application can improve the performance of software shared-memory programs substantially. Existing systems for using customizable protocols are hard to use directly because the mechanisms they provide for manipulating protocols are low-level ones. This article is an in-depth study of the issues involved in providing language support for application-specific protocols. We describe the design and implementation of a new language for parallel programming, Ace, that integrates support for customizable protocols with minimal extensions to C. Ace applications are developed using a shared-memory model with a default sequentially consistent protocol. Performance can then be optimized, with minor modifications to the application, by experimenting with different protocol libraries. The design of Ace was driven by a detailed study of the use of customizable protocols. We delineate the issues that arise when programming with customizable protocols and present novel abstractions that allow for their easy use. We describe the design and implementation of a runtime system and compiler for Ace nd discuss compiler optimizations that improve the performance of such software shared-memory systems. We study the communication patterns of a set of benchmark applications and consider the use of customizable protocols to optimize their performance. We evaluate the performance of our system through experiments on a Thinking Machine CM-5 and a Cray T3E. We also present measurements that demonstrate that Ace has good performance compared to that of a modern distributed shared-memory system.
DOI
in Annals of Mathematics and Artificial Intelligence 21(2-4) 1997 view details
|