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

2010

g-tries: an efficient data structure for discovering network motifs

Authors
Pinto Ribeiro, PM; Silva, FMA;

Publication
Proceedings of the 2010 ACM Symposium on Applied Computing (SAC), Sierre, Switzerland, March 22-26, 2010

Abstract
In this paper we propose a novel specialized data structure that we call g-trie, designed to deal with collections of subgraphs. The main conceptual idea is akin to a prefix tree in the sense that we take advantage of common topology by constructing a multiway tree where the descendants of a node share a common substructure. We give algorithms to construct a g-trie, to list all stored subgraphs, and to find occurrences on another graph of the subgraphs stored in the g-trie. We evaluate the implementation of this structure and its associated algorithms on a set of representative benchmark biological networks in order to find network motifs. To assess the efficiency of our algorithms we compare their performance with other known network motif algorithms also implemented in the same common platform. Our results show that indeed, g-tries are a feasible, adequate and very efficient data structure for network motifs discovery, clearly outperforming previous algorithms and data structures. © 2010 ACM.

1999

Di_pSystem: A Parallel Programming System for Distributed Memory Architectures

Authors
Silva, FMA; Paulino, H; Lopes, LMB;

Publication
Recent Advances in Parallel Virtual Machine and Message Passing Interface, 6th European PVM/MPI Users' Group Meeting, Barcelona, Spain, September 26-29, 1999, Proceedings

Abstract
We present the architecture of a parallel programming system, the di_pSystem. Our target machine consists of clusters of multiprocessors interconnected with very fast networks. The system aims to provide a programming style close to the shared memory programming model. This is achieved by a software layer between the programmer and the operating system that supports the communication between individual computational agents and that dynamically balances the work-load in the system. This layer effectively hides much of the complexity of programming distributed architectures from the programmer while being competitive in performance. The low-level communication in the di_pSystem is implemented using MPI as a backbone. Initial results indicate that the system is close in performance to MPI, a fact that we attribute to its ability to dynamically balance the work-load in the computations. © Springer-Verlag Berlin Heidelberg 1999.

2001

A Novel Implementation of the Extended Andorra Model

Authors
Lopes, R; Costa, VS; Silva, FMA;

Publication
Practical Aspects of Declarative Languages, Third International Symposium, PADL 2001, Las Vegas, Nevada, March 11-12, 2001, Proceedings

Abstract
Logic programming is based on the idea that computation is controlled inference. The Extended Andorra Model provides a very powerful framework that supports both co-routining and parallelism. We present the BEAM, a design that builds upon David H. D.Warren’s original EAM with Implicit Control. The BEAM supports Warren’s original EAM rewrite rules plus eager splitting and sequential conjunctions. We discuss the main issues in the implementation of the BEAM and show that the EAM with Implicit Control can perform quite well when compared with other implementations that use the Andorra principle. © Springer-Verlag Berlin Heidelberg 2001

2002

P-3: Parallel peer to peer an - Internet parallel programming environment

Authors
Oliveira, L; Lopes, L; Silva, F;

Publication
WEB ENGINEERING AND PEER TO PEER COMPUTING

Abstract
P-3 is a next-generation Internet computing platform, building upon other experiments and implementing new ideas for high-performance parallel computing in the Internet environment. This paper describes its run-time system, programming model and how it compares to current state-of-the-art systems.

2002

Achieving Scalability in Parallel Tabled Logic Programs

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

Publication
16th International Parallel and Distributed Processing Symposium (IPDPS 2002), 15-19 April 2002, Fort Lauderdale, FL, USA, CD-ROM/Abstracts Proceedings

Abstract
Tabling or memoing is a technique where one stores intermediate answers to a problem so that they can be reused in further calls. Tabling is of interest to logic programming because it addresses some of the most significant weaknesses of Prolog. Namely, it can guarantee termination for programs with the bounded term-size property. Tabled programs exhibit a more complex execution mechanism than traditional Prolog's left-to-right search with backtracking. The reason is that Prolog programs are highly recursive and generate multiple answers. This rather involved execution mechanism requires a more complex implementation than traditional Prolog. The declarative nature of tabled logic programming suggests that it might be amenable to parallel execution. On the other hand, the complexity of the tabling mechanism, and the existence of a shared resource, the table, argues that parallelism might be limited, and that performance for real applications might never scale. In this work we prove that parallel tabling is indeed scalable for real applications by experimenting the OPTYap parallel tabled system on a scalable shared-memory machine. © 2002 IEEE.

2001

On a Tabling Engine That Can Exploit Or-Parallelism

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

Publication
Logic Programming, 17th International Conference, ICLP 2001, Paphos, Cyprus, November 26 - December 1, 2001, Proceedings

Abstract
Tabling is an implementation technique that improves the declarativeness and expressiveness of Prolog by reusing solutions to goals. Quite a few interesting applications of tabling have been developed in the last few years, and several are by nature non-deterministic. This raises the question of whether parallel search techniques can be used to improve the performance of tabled applications. In this work we demonstrate that the mechanisms proposed to parallelize search in the context of SLD resolution naturally generalize to parallel tabled computations, and that resulting systems can achieve good performance on multi-processors. To do so, we present the OPT Yap parallel engine. In our system individual SLG engines communicate data through stack copying. Completion is detected through a novel parallel completion algorithm that builds upon the data structures proposed for or-parallelism. Scheduling is simplified by building on previous research on or-parallelism. We show initial performance results for our implementation. Our best result is for an actual application, model checking, where we obtain linear speedups. © Springer-Verlag Berlin Heidelberg 2001.

  • 9
  • 19