2000
Autores
Santos Costa, V; Bianchini, R; De Castro Dutra, I;
Publicação
Journal of Parallel and Distributed Computing
Abstract
Parallel logic programming (PLP) systems are sophisticated examples of symbolic computing systems. PLP systems address problems such as allocating dynamic memory, scheduling irregular computations, and managing different types of implicit parallelism. Most PLP systems have been developed for bus-based architectures. However, the complexity of PLP systems and the large amount of data they process raise the question of whether logic programming systems can still achieve good performance on modern scalable architectures, such as distributed shared-memory (DSM) systems. In this work we use execution-driven simulation of a cache-coherent DSM architecture to investigate the performance of Andorra-I, a state-of-the-art PLP system, on a modern multiprocessor. The results of this simulation show that Andorra-I exhibits reasonable running time performance, but it does not scale well. Our detailed analysis of cache misses and their sources expose several opportunities for improvements in Andorra-I. Based on this analysis, we modify Andorra-I using a set of simple techniques that led to significantly better running time and scalability. These results suggest that Andorra-I can and should perform well on modern multiprocessors. Furthermore, as Andorra-I shares its main data structures with several PLP systems, we conclude that the methodology and techniques used in our work can greatly benefit these other PLP systems. © 2000 Academic Press.
2000
Autores
Pontelli, E; Costa, VS;
Publicação
PADL
Abstract
2000
Autores
Dutra, I; Santos Costa, V; Gupta, G; Pontelli, E; Carro, M; Kacsuk, P;
Publicação
Electronic Notes in Theoretical Computer Science
Abstract
1999
Autores
Silva, FMA; Paulino, H; Lopes, LMB;
Publicação
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.
1999
Autores
Rocha, R; Silva, FMA; Costa, VS;
Publicação
Progress in Artificial Intelligence, 9th Portuguese Conference on Artificial Intelligence, EPIA '99, Évora, Portugal, September 21-24, 1999, Proceedings
Abstract
YapOr is an or-parallel system that extends the Yap Prolog system to exploit implicit or-parallelism in Prolog programs. It is based on the environment copying model, as first implemented in Muse. The development of YapOr required solutions for some important issues, such as designing the data structures to support parallel processing, implementing incremental copying technique, developing a memory organization able to answer with efficiency to parallel processing and to incremental copying in particular, implementing the scheduler strategies, designing an interface between the scheduler and the engine, implementing the sharing work process, and implementing support to the cut builtin. An initial evaluation of YapOr performance showed that it achieves very good performance on a large set of benchmark programs. Indeed, YapOr compares favorably with a mature parallel Prolog system such as Muse, both in terms of base speed and in terms of speedups. © Springer-Verlag Berlin Heidelberg 1999.
1999
Autores
Lopes, L; Silva, F; Vasconcelos, VT;
Publicação
PRINCIPLES AND PRACTICE OF DECLARATIVE PROGRAMMING, PROCEEDINGS
Abstract
Despite extensive theoretical work on process-calculi, virtual machine specifications and implementations of actual computational models are still scarce. This paper presents a virtual machine for a strongly typed, polymorphic, concurrent, object-oriented programming language based on the TyCO process calculus. The system runs byte-code files, assembled from an intermediate assembly language representation, which is in turn generated by a compiler. Code optimizations are provided by the compiler coupled with a type-inference system. The design and implementation of the virtual machine focuses on performance, compactness, and architecture independence with a view to mobile computing. The assembly code emphasizes readability and efficient byte code generation. The byte code has a simple layout and is a compromise between size and performance. We present some performance results and compare them to other languages such as Pict, Oz, and JoCaml.
The access to the final selection minute is only available to applicants.
Please check the confirmation e-mail of your application to obtain the access code.