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

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.

2003

Mob: A scripting language for mobile agents based on a process calculus

Authors
Paulino, H; Lopes, L; Silva, F;

Publication
WEB ENGINEERING, PROCEEDINGS

Abstract
Mobile agents are the latest software technology to program flexible and efficient distributed applications. Most current systems implement semantics that are hard if not impossible to prove correct. In this paper we present MOB, a scripting language for Internet agents encoded on top of a process calculus and with provably sound semantics.

  • 14
  • 19