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 条
  • [31] STOCHASTIC BOUNDS ON EXECUTION TIMES OF PARALLEL PROGRAMS
    YAZICIPEKERGIN, N
    VINCENT, JM
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1991, 17 (10) : 1005 - 1012
  • [32] Visualization of and/or-parallel execution of logic programs
    Vaupel, R
    Pontelli, E
    Gupta, G
    [J]. LOGIC PROGRAMMING: PROCEEDINGS OF THE FOURTEENTH INTERNATIONAL CONFERENCE ON LOGIC PROGRAMMING, 1997, : 271 - 285
  • [33] Architecture for visualizing the execution of parallel logic programs
    Brayshaw, Mike
    [J]. IJCAI, Proceedings of the International Joint Conference on Artificial Intelligence, 1600, 2
  • [34] Remote execution of data-parallel programs
    Borowiec, J
    [J]. INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED PROCESSING TECHNIQUES AND APPLICATIONS, VOLS I-IV, PROCEEDINGS, 1998, : 1272 - 1279
  • [35] SYNTHESIZING OPERATIONAL DEVICES FOR PARALLEL EXECUTION OF PROGRAMS
    EKMANIS, EE
    KALNINSH, JJ
    [J]. AVTOMATIKA I VYCHISLITELNAYA TEKHNIKA, 1982, (06): : 33 - 39
  • [36] Adaptive execution techniques of parallel programs for multiprocessors
    Lee, Jaejin
    Park, Jung-Ho
    Kim, Honggyu
    Jung, Changhee
    Lim, Daeseob
    Han, SangYong
    [J]. JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 2010, 70 (05) : 467 - 480
  • [37] Parallel execution of logic programs by load sharing
    NEC Research Institute, Inc., 4 Independence Way, Princeton, NJ 08540, United States
    [J]. J Logic Program, 1 (XI-51):
  • [38] Identifying causes of execution failure for parallel programs
    Liu Y.
    Gao Y.
    Zhang G.
    [J]. Guofang Keji Daxue Xuebao/Journal of National University of Defense Technology, 2022, 44 (05): : 45 - 52
  • [39] AUTOMATIC RESTRUCTURING OF FORTRAN PROGRAMS FOR PARALLEL EXECUTION
    POLYCHRONOPOULOS, CD
    [J]. LECTURE NOTES IN COMPUTER SCIENCE, 1988, 295 : 107 - 130
  • [40] Space efficient execution of deterministic parallel programs
    Simpson, DJ
    Burton, FW
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1999, 25 (06) : 870 - 882