Special Issue Parallel Machine Architecture

New Generation Computing

, Volume 7, Issue 2, pp 243-271

The Aurora or-parallel Prolog system

  • Ewing LuskAffiliated withMathematics and Computer Division, Argonne National Laboratory
  • , Ralph ButlerAffiliated withMathematics and Computer Division, Argonne National Laboratory
  • , Terrence DiszAffiliated withMathematics and Computer Division, Argonne National Laboratory
  • , Robert OlsonAffiliated withMathematics and Computer Division, Argonne National Laboratory
  • , Ross OverbeekAffiliated withMathematics and Computer Division, Argonne National Laboratory
  • , Rick StevensAffiliated withMathematics and Computer Division, Argonne National Laboratory
  • , David H. D. WarrenAffiliated withDepartment of Computer Science, University of Bristol
  • , Alan CalderwoodAffiliated withDepartment of Computer Science, University of Bristol
  • , Péter SzerediAffiliated withDepartment of Computer Science, University of Bristol
    • , Seif HaridiAffiliated withSwedish Institute of Computer Science
    • , Per BrandAffiliated withSwedish Institute of Computer Science
    • , Mats CarlssonAffiliated withSwedish Institute of Computer Science
    • , Andrzej CiepielewskiAffiliated withSwedish Institute of Computer Science
    • , Bogumil HausmanAffiliated withSwedish Institute of Computer Science

Rent the article at a discount

Rent now

* Final gross prices may vary according to local VAT.

Get Access

Abstract

Aurora is a prototype or-parallel implementation of the full Prolog language for shared-memory multiprocessors, developed as part of an informal research collaboration known as the “Gigalips Project”. It currently runs on Sequent and Encore machines. It has been constructed by adapting Sicstus Prolog, a fast, portable, sequential Prolog system. The techniques for constructing a portable multiprocessor version follow those pioneered in a predecessor system, ANL-WAM. The SRI model was adopted as the means to extend the Sicstus Prolog engine for or-parallel operation. We describe the design and main implementation features of the current Aurora system, and present some experimental results. For a range of benchmarks, Aurora on a 20-processor Sequent Symmetry is 4 to 7 times faster than Quintus Prolog on a Sun 3/75. Good performance is also reported on some large-scale Prolog applications.

Keywords

Logic Programming Prolog Parallel Computing Automatic Parallelization