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 Fernando Silva

1999

Or-Parallelism within Tabling

Authors
Rocha, R; Silva, F; Costa, VS;

Publication
PRACTICAL ASPECTS OF DECLARATIVE LANGUAGES

Abstract
One important advantage of logic programming is that it allows the implicit exploitation of parallelism. Towards this goal, we suggest that or-parallelism can be efficiently exploited in tabling systems and propose two alternative approaches, Or-Parallelism within Tabling (OPT) and Tabling within Or-Parallelism (TOP). We concentrate on the fundamental concepts of an environment copying based model to implement the OPT approach and introduce the data structures and algorithms necessary to extend the YapOr Or-Parallel system, in order to obtain a parallel tabling system.

1999

DAOS - Scalable And-Or parallelism

Authors
Castro, LF; Costa, VS; Geyer, CFR; Silva, F; Vargas, PK; Correia, ME;

Publication
EURO-PAR'99: PARALLEL PROCESSING

Abstract
This paper presents DAOS, a model for exploitation of Andand Or-parallelism in logic programs. DAOS assumes a physically distributed memory environment and a logically shared address space. Exploiting both major forms of implicit parallelism should serve a broadest range of applications. Besides, a model that uses a distributed memory environment provides scalability and can be implemented over a computer network. However, distributed implementations of logic programs have to deal with communication overhead and inherent complexity of distributed memory managent. DAOS overcomes those problems through the use of a distributed shared memory layer to provide single-writer, multiple-readers sharing for the main execution stacks combined with explicit message passing for work distribution and management.

2000

Fine grained multithreading with process calculi

Authors
Lopes, L; Silva, F; Vasconcelos, VT;

Publication
2000 INTERNATIONAL CONFERENCE ON PARALLEL ARCHITECTURES AND COMPILATION TECHNIQUES, PROCEEDINGS

Abstract
This paper presents a multithreaded abstract machine for the TyCO process calculus. We argue that process calculi provide a powerful framework to reason about fine grained parallel computations. They allow the construction of formally verifiable systems on which to base high-level programming idioms, combined with efficient compilation schemes into multithreaded architectures.

2000

Novel models for or-parallel logic programs: A performance analysis

Authors
Costa, VS; Rocha, R; Silva, F;

Publication
EURO-PAR 2000 PARALLEL PROCESSING, PROCEEDINGS

Abstract
One of the advantages of logic programming is the fact that it offers many sources of implicit parallelism, such as and-parallelism and or-parallelism. Arguably, or-parallel systems, such as Aurora and Muse, have been the most successful parallel logic programming systems so far. Or-parallel systems rely on techniques such as Environment Copying to address the problem that branches being explored in parallel may need to assign different bindings for the same shared variable. Recent research has led to two new binding representation approaches that also support independent and-parallelism: the Sparse Binding Array and the Copy-On-Write binding models. In this paper, we investigate whether these newer models are practical alternatives to copying for or-parallelism. We based our work on YapOr, an or-parallel copying system using the YAP Prolog engine, so that the three alternative systems share schedulers and the underlying engine.

2000

Or-parallel Prolog on a distributed memory architecture

Authors
Silva, F; Watson, P;

Publication
JOURNAL OF LOGIC PROGRAMMING

Abstract
This paper discusses the design of Dorpp, an or-parallel Prolog system for distributed memory architectures, The problem of sharing the environment across a set of nodes that do not physically share memory is addressed in a novel manner by designing a Virtual Shared Memory (VSM) scheme to specifically meet the requirements of or-parallelism The aim is to avoid the overheads of a general VSM scheme that would provide a stricter level of memory coherence than is actually required, The paper identifies the requirements for memory coherence in or-parallel Prolog, and describes how they can be met cheaply, Simulation results are presented and analyzed in order to highlight key aspects of the system's run-time behavior.

2001

Fine-grained multithreading with process calculi

Authors
Lopes, L; Vasconcelos, VT; Silva, F;

Publication
IEEE TRANSACTIONS ON COMPUTERS

Abstract
This paper presents a multithreaded abstract machine for the TyCO process calculus. We argue that process calculi provide a powerful framework to reason about fine-grained parallel computations. They allow for the construction of formally verifiable systems on which to base high-level programming idioms, combined with efficient compilation schemes into multithreaded architectures.

  • 14
  • 19