Searcharxiv⌕ Search

arXiv subjects

Fernando Silva

Publications and source records attributed to Fernando Silva.

23 records · Page 2Linked to original sources

On Comparing Alternative Splitting Strategies for Or-Parallel Prolog Execution on Multicores

Many or-parallel Prolog models exploiting implicit parallelism have been proposed in the past. Arguably, one of the most successful models is environment copying for shared memory architectures. With the increasing availability and popularity of multicore architectures, it makes sense to recover the body of knowledge there is in this area and re-engineer prior computational models to evaluate their performance on newer architectures. In this work, we focus on the implementation of splitting strategies for or-parallel Prolog execution on multicores and, for that, we develop a framework, on top of the YapOr system, that integrates and supports five alternative splitting strategies. Our implementation shares the underlying execution environment and most of the data structures used to implement or-parallelism in YapOr. In particular, we took advantage of YapOr's infrastructure for incremental copying and scheduling support, which we used with minimal modifications. We thus argue that all these common support features allow us to make a first and fair comparison between these five alternative splitting strategies and, therefore, better understand their advantages and weaknesses.

cs.PL↗

A Design and Implementation of the Extended Andorra Model

Logic programming provides a high-level view of programming, giving implementers a vast latitude into what techniques to explore to achieve the best performance for logic programs. Towards obtaining maximum performance, one of the holy grails of logic programming has been to design computational models that could be executed efficiently and that would allow both for a reduction of the search space and for exploiting all the available parallelism in the application. These goals have motivated the design of the Extended Andorra Model, a model where goals that do not constrain non-deterministic goals can execute first. In this work we present and evaluate the Basic design for Extended Andorra Model (BEAM), a system that builds upon David H. D. Warren's original EAM with Implicit Control. We provide a complete description and implementation of the BEAM System as a set of rewrite and control rules. We present the major data structures and execution algorithms that are required for efficient execution, and evaluate system performance. A detailed performance study of our system is included. Our results show that the system achieves acceptable base performance, and that a number of applications benefit from the advanced search inherent to the EAM.

cs.PL↗

Domain wall dynamics in an optical Kerr cavity

An anisotropic (dichroic) optical cavity containing a self-focusing Kerr medium is shown to display a bifurcation between static --Ising-- and moving --Bloch-- domain walls, the so-called nonequilibrium Ising-Bloch transition (NIB). Bloch walls can show regular or irregular temporal behaviour, in particular, bursting and spiking. These phenomena are interpreted in terms of the spatio-temporal dynamics of the extended patterns connected by the wall, which display complex dynamical behaviour as well. Domain wall interaction, including the formation of bound states is also addressed.

nlin.PS↗

Ising-Bloch Transition in Degenerate Optical Parametric Oscillators

Domain walls in type I degenerate optical parametric oscillators are numerically investigated. Both steady Ising and moving Bloch walls are found, bifurcating one into another through a nonequilibrium Ising--Bloch transition. Bloch walls are found that connect either homogeneous or roll planforms. Secondary bifurcations affecting Bloch wall movement are characterized that lead to a transition from a steady drift state to a temporal chaotic movement as the system is moved far from the primary, Ising--Bloch bifurcation. Two kinds of routes to chaos are found, both involving tori: a usual Ruelle-Takens and an intermittent scenarios.

nlin.PS↗

On Applying Or-Parallelism and Tabling to Logic Programs

The past years have seen widening efforts at increasing Prolog's declarativeness and expressiveness. Tabling has proved to be a viable technique to efficiently overcome SLD's susceptibility to infinite loops and redundant subcomputations. Our research demonstrates that implicit or-parallelism is a natural fit for logic programs with tabling. To substantiate this belief, we have designed and implemented an or-parallel tabling engine -- OPTYap -- and we used a shared-memory parallel machine to evaluate its performance. To the best of our knowledge, OPTYap is the first implementation of a parallel tabling engine for logic programming systems. OPTYap builds on Yap's efficient sequential Prolog engine. Its execution model is based on the SLG-WAM for tabling, and on the environment copying for or-parallelism. Preliminary results indicate that the mechanisms proposed to parallelize search in the context of SLD resolution can indeed be effectively and naturally generalized to parallelize tabled computations, and that the resulting systems can achieve good performance on shared-memory parallel machines. More importantly, it emphasizes our belief that through applying or-parallelism and tabling to logic programs the range of applications for Logic Programming can be increased.

cs.PL↗