Threads and or-parallelism unified

  • Authors:
  • Vítor Santos costa;InÊs Dutra;Ricardo Rocha

  • Affiliations:
  • Cracs and inesc-porto la, faculty of sciences, university of porto rua do campo alegre, 1021/1055, 4169-007 porto, portugal (e-mail: vsc@dcc.fc.up.pt, ines@dcc.fc.up.pt, ricroc@dcc.fc.up.pt);Cracs and inesc-porto la, faculty of sciences, university of porto rua do campo alegre, 1021/1055, 4169-007 porto, portugal (e-mail: vsc@dcc.fc.up.pt, ines@dcc.fc.up.pt, ricroc@dcc.fc.up.pt);Cracs and inesc-porto la, faculty of sciences, university of porto rua do campo alegre, 1021/1055, 4169-007 porto, portugal (e-mail: vsc@dcc.fc.up.pt, ines@dcc.fc.up.pt, ricroc@dcc.fc.up.pt)

  • Venue:
  • Theory and Practice of Logic Programming
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

One of the main advantages of Logic Programming (LP) is that it provides an excellent framework for the parallel execution of programs. In this work we investigate novel techniques to efficiently exploit parallelism from real-world applications in low cost multi-core architectures. To achieve these goals, we revive and redesign the YapOr system to exploit or-parallelism based on a multi-threaded implementation. Our new approach takes full advantage of the state-of-the-art fast and optimized YAP Prolog engine and shares the underlying execution environment, scheduler and most of the data structures used to support YapOr's model. Initial experiments with our new approach consistently achieve almost linear speedups for most of the applications, proving itself as a good alternative for exploiting implicit parallelism in the currently available low cost multi-core architectures.