1991
Authors
Costa, VS; Warren David, HD; Yang, R;
Publication
Logic Programming, Proceedings of the Eigth International Conference, Paris, France, June 24-28, 1991
Abstract
Andorra-I is an experimental parallel Prolog system that transparently exploits both dependent and-parallelism and or-parallelism. It constitutes the first implementation of the Basic Andorra model, a parallel execution model for logic programs in which determinate goals are executed before other goals. This model, besides combining two of the most important forms of implicit parallelism in logic programs, also provides a form of implicit coroutining. This means that Andorra-I not only supports standard Prolog but also provides the capabilities of flat committed-choice languages. In this paper, we discuss the preprocessor which enables Andorra-I to support full Prolog, including cut, commit, meta-predicates and side-effect predicates. The main functions of the preprocessor are to perform a mode analysis of the program by abstract interpretation, to use this information to recognize procedures containing pruning operators that are potentially ``noisy'', to protect calls to such ``sensitive'' predicates by restricting certain conjunctions to be executed sequentially, and finally to generate for each predicate a routine which will determine when calls to that predicate become executable through becoming clause determinate.
1991
Authors
Costa, VS; Warren David, HD; Yang, R;
Publication
Logic Programming, Proceedings of the Eigth International Conference, Paris, France, June 24-28, 1991
Abstract
Andorra-I is an experimental parallel Prolog system that transparently exploits both dependent and-parallelism and or-parallelism. It constitutes the first implementation of the Basic Andorra model, a parallel execution model for logic programs in which determinate goals are executed before other goals. This model, besides combining two of the most important forms of implicit parallelism in logic programs, also provides a form of implicit coroutining. This means that Andorra-I not only supports standard Prolog but also provides the capabilities of flat committed-choice languages. In this paper, we discuss the main issues involved in the implementation of the Andorra-I engine, covering both the sequential version which runs on uniprocessors and the parallel version which runs on shared-memory multiprocessors such as Sequent Symmetry. We then present performance data for our implementation. This data shows that Andorra-I, an interpreter, has a single-processor performance similar to the comparable sequential system, C-Prolog, while on multiple processors Andorra-I is able to obtain good speedups from both and-parallelism and or-parallelism. In suitable cases, the speedup obtained from exploiting both forms of parallelism combined is better than that obtainable from exploiting either kind alone.
2012
Authors
Acar, U; Costa, VS;
Publication
Conference Record of the Annual ACM Symposium on Principles of Programming Languages
Abstract
2006
Authors
Da Silva, AF; Costa, VS;
Publication
Journal of Universal Computer Science
Abstract
Modern Java Compilers, such as Sun's HotSpot compilers, implement a number of optimizations, ranging from high-level program transformations to low-level architecure dependent operations such as instruction scheduling. In a Just-in-Time (JIT) environment, the impact of each optimization must be weighed against its cost in terms of total runtime. Towards better understanding the usefulness of individual optimizations, we study the main optimizations available on Sun HotSpot compilers for a wide range of scientific and non-scientific benchmarks, weighing their cost and benefits in total runtime. We chose the HotSpot technology because it is state of the art and its source code is available. © J.UCS.
2005
Authors
Faustino Da Silva, A; Costa, VS;
Publication
Journal of Universal Computer Science
Abstract
Interpreted languages are widely used due to ease to use, portability, and safety. On the other hand, interpretation imposes a significance overhead. Just-in-Time (JIT) compilation is a popular approach to improving the runtime performance of languages such as Java. We compare the performance of a JIT compiler with a traditional compiler and with an emulator. We show that the compilation overhead from using JIT is negligible, and that the JIT compiler achieves better overall performance, suggesting the case for aggresive compilation in JIT compilers. © J. UCS.
2000
Authors
Dutra, I; Santos Costa, V; Gupta, G; Pontelli, E; Carro, M; Kacsuk, P;
Publication
Electronic Notes in Theoretical Computer Science
Abstract
The access to the final selection minute is only available to applicants.
Please check the confirmation e-mail of your application to obtain the access code.