Parallel execution of prolog programs: A survey

被引:61
|
作者
Gupta, G
Pontelli, E
Ali, KAM
Carlsson, M
Hermenegildo, MV
机构
[1] Univ Texas, Dept Comp Sci, Richardson, TX 75083 USA
[2] New Mexico State Univ, Dept Comp Sci, Las Cruces, NM 88003 USA
[3] Swedish Inst Comp Sci, SE-16429 Kista, Sweden
[4] Univ Politecn Madrid, Fac Informat, E-28660 Madrid, Spain
关键词
design; languages; performance; automatic parallelization; constraint programming; logic programming; parallelism; prolog;
D O I
10.1145/504083.504085
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Since the early days of logic programming, researchers in the field realized the potential for exploitation of parallelism present in the execution of logic programs. Their high-level nature, the presence of nondeterminism, and their referential transparency, among other characteristics, make logic programs interesting candidates for obtaining speedups through parallel execution. At the same time, the fact that the typical applications of logic programming frequently involve irregular computations, make heavy use of dynamic data structures with logical variables, and involve search and speculation, makes the techniques used in the corresponding parallelizing compilers and run-time systems potentially interesting even outside the field. The objective of this article is to provide a comprehensive survey of the issues arising in parallel execution of logic programming languages along with the most relevant approaches explored to date in the field. Focus is mostly given to the challenges emerging from the parallel execution of Prolog programs, The article describes the major techniques used for shared memory implementation of Or-parallelism, And-parallelism, and combinations of the two. We also explore some related issues, such as memory management, compile-time analysis, and execution visualization.
引用
收藏
页码:472 / 602
页数:131
相关论文
共 50 条
  • [1] Parallel execution of Prolog with granularity control
    Araujo, L
    Ruz, JJ
    [J]. FUTURE GENERATION COMPUTER SYSTEMS-THE INTERNATIONAL JOURNAL OF ESCIENCE, 1998, 13 (06): : 421 - 441
  • [2] OR-PARALLEL EXECUTION MODELS OF PROLOG
    WARREN, DHD
    [J]. LECTURE NOTES IN COMPUTER SCIENCE, 1987, 250 : 243 - 259
  • [3] THE PERFORMANCE OF PARALLEL PROLOG PROGRAMS
    FAGIN, BS
    DESPAIN, AM
    [J]. IEEE TRANSACTIONS ON COMPUTERS, 1990, 39 (12) : 1434 - 1445
  • [4] VERIFICATION OF PROLOG PROGRAMS USING AN EXTENSION OF EXECUTION
    KANAMORI, T
    SEKI, H
    [J]. LECTURE NOTES IN COMPUTER SCIENCE, 1986, 225 : 475 - 489
  • [5] A SURVEY OF PARALLEL EXECUTION STRATEGIES FOR TRANSITIVE CLOSURE AND LOGIC PROGRAMS
    CACACE, F
    CERI, S
    HOUTSMA, M
    [J]. DISTRIBUTED AND PARALLEL DATABASES, 1993, 1 (04) : 337 - 382
  • [6] Parallel Execution of Prolog on Shared-Memory Multiprocessors
    高耀清
    王鼎兴
    郑纬民
    沈美明
    黄志毅
    胡守仁
    Giorgio Levi
    [J]. Journal of Computer Science & Technology, 1993, (04) : 329 - 336
  • [7] Algebraic computational models of OR-parallel execution of Prolog
    Barbuti, R
    DeFrancesco, N
    Santone, A
    [J]. ACTA INFORMATICA, 1997, 34 (06) : 449 - 489
  • [8] Algebraic computational models of OR-parallel execution of Prolog
    R. Barbuti
    N. De Francesco
    A. Santone
    [J]. Acta Informatica, 1997, 34 : 449 - 489
  • [9] Adaptive, Efficient, Parallel Execution of Parallel Programs
    Sridharan, Srinath
    Gupta, Gagan
    Sohi, Gurindar S.
    [J]. ACM SIGPLAN NOTICES, 2014, 49 (06) : 169 - 180
  • [10] OR-PARALLEL EXECUTION OF PROLOG ON A MULTI-SEQUENTIAL MACHINE
    ALI, KAM
    [J]. INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 1986, 15 (03) : 189 - 214