Cookies
O website necessita de alguns cookies e outros recursos semelhantes para funcionar. Caso o permita, o INESC TEC irá utilizar cookies para recolher dados sobre as suas visitas, contribuindo, assim, para estatísticas agregadas que permitem melhorar o nosso serviço. Ver mais
Aceitar Rejeitar
  • Menu
Publicações

Publicações por Vítor Santos Costa

2001

Understanding Memory Management in Prolog Systems

Autores
Castro, LF; Costa, VS;

Publicação
Logic Programming, 17th International Conference, ICLP 2001, Paphos, Cyprus, November 26 - December 1, 2001, Proceedings

Abstract

1996

Andorra-I Compilation

Autores
Costa, VS; Warren, DHD; Yang, R;

Publicação
New Generation Comput.

Abstract
Andorra-I is an experimental parallel Prolog system which transparently exploits both dependent and-parallelism and or-parallelism. One of the main components of Andorra-I is its preprocessor. In order to obtain efficient execution of programs in Andorra-I, the preprocessor includes a compiler for Andorra-I. The compiler includes a determinacy analyser and a clause compiler, and generates code for a specialised abstract machine. In this paper we discuss the main issues in the Andorra-I compiler, presenting its abstract instruction set and describing the algorithms used in its implementation.

1994

Optimal implementation of and-or parallel Prolog

Autores
Gupta, G; Costa, VS;

Publicação
Future Generation Comp. Syst.

Abstract
Most models that have been proposed, or implemented, so far for exploiting both or-parallelism and independent and-parallelism have only considered pure logic programs (pure Prolog). We present an abstract model, called the Composition-Tree, for representing and-or parallelism in full Prolog. The Composition-Tree recomputes independent goals to ensure that Prolog semantics is preserved. We combine the idea of Composition-Tree with ideas developed earlier, to develop an abstract execution model that supports full Prolog semantics while at the same time avoiding redundant inferences when computing solutions to (purely) independent and-parallel goals. This is accomplished by sharing solutions of independent goals when they are pure (i.e. have no side-effects or cuts in them). The Binding Array scheme is extended for and-or parallel execution based on this abstract execution model. This extension enables the Binding Array scheme to support or-parallelism in the presence of independent and-parallelism, both when solutions to independent goals are recomputed as well as when they are shared. We show how extra-logical predicates, such as cuts and side-effects, are supported in this model. © 1994.

1998

Optimising parallel logic programming systems for scalable machines

Autores
Costa, VS; Bianchini, R;

Publicação
EURO-PAR '98 PARALLEL PROCESSING

Abstract
Parallel logic programming (PLP) systems have obtained good performance on traditional bus-based shared-memory architectures. However, the scalable multiprocessors being developed today pose new challenges. Our experience with a sophisticated PLP system, Andorra-I, demonstrates that indeed performance suffers greatly on modern architectures. In order to improve performance, we perform a detailed analysis of the cache behaviour of all Andorra-I data structures via execution-driven simulation of a DASH-like multiprocessor. Based on this analysis we optimise the Andorra-I code using 5 different techniques. Our results show that the techniques provide significant performance improvements, leading to the conclusion that PLP systems can and should perform well on modern scalable multiprocessors.

1999

COWL: Copy-on-write for logic programs

Autores
Costa, VS;

Publicação
IPPS/SPDP 1999: 13TH INTERNATIONAL PARALLEL PROCESSING SYMPOSIUM & 10TH SYMPOSIUM ON PARALLEL AND DISTRIBUTED PROCESSING, PROCEEDINGS

Abstract
In order for parallel logic programming systems to become popular; they should serve the broadest range of applications. To achieve this goal, designers of parallel logic programming systems would like to exploit maximum parallelism for existing and novel applications. ideally by supporting both and-parallelism and or-parallelism. Unfortunately; the combination of both forms of parallelism is a hard problem, and available proposals cannot match the efficiency of; say, or-parallel only systems. We propose a novel approach to And/Or Parallelism in logic programs. Our initial observation is that stack copying, the most popular technique in or-parallel systems, does not work well with And/Or systems because network management is much more complex. Copying is also a significant problem in operating system where the copy-on-write (COW) has been dcl eloped to address the problem We demonstrate that this technique can also be applied to And/Or systems, and present both shared memory and distributed shared memory designs.

2012

Gene clusters as intersections of powers of paths

Autores
Costa, VS; Dantas, S; Sankoff, D; Xu, X;

Publicação
J. Braz. Comp. Soc.

Abstract

  • 13
  • 35