Cookies Policy
The website need some cookies and similar means to function. If you permit us, we will use those means to collect data on your visits for aggregated statistics to improve our service. Find out More
Accept Reject
  • Menu
Publications

Publications by Vítor Santos Costa

1991

Andorra-I preprocessor: Supporting full Prolog on the basic Andorra model

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

Andorra-I engine: A parallel implementation of the basic Andorra model

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

Foreword

Authors
Acar, U; Costa, VS;

Publication
Conference Record of the Annual ACM Symposium on Principles of Programming Languages

Abstract

2006

Our experiences with optimizations in Sun's Java Just-In-Time compilers

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

An experimental evaluation of JAVA JIT technology

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

Electronic Notes in Theoretical Computer Science: Preface

Authors
Dutra, I; Santos Costa, V; Gupta, G; Pontelli, E; Carro, M; Kacsuk, P;

Publication
Electronic Notes in Theoretical Computer Science

Abstract

  • 26
  • 34