MULTISTAGE INDEXING ALGORITHMS FOR SPEEDING PROLOG EXECUTION

被引:0
|
作者
CHEN, T [1 ]
RAMAKRISHNAN, LV [1 ]
RAMESH, R [1 ]
机构
[1] UNIV TEXAS,DEPT COMP SCI,RICHARDSON,TX 75083
来源
SOFTWARE-PRACTICE & EXPERIENCE | 1994年 / 24卷 / 12期
关键词
INDEXING; LOGIC PROGRAMMING; CODE OPTIMIZATION; PATTERN MATCHING AND UNIFICATION;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
In a previous article we proposed a new and efficient indexing technique that utilizes all the functors in the clause-heads and the goal. The salient feature of this technique is that the selected clause-head unifies (module nonlinearity) with the goal, As a consequence, our technique results in sharper discrimination, fewer choice points and reduced backtracking. A naive and direct implementation of our indexing algorithms considerably slowed down the execution speeds of a wide range of programs typically seen in practice. This is because it handled deep and shallow terms, terms with few indexable arguments, small and large procedures uniformly. To beneficially extend the applicability of our algorithms we need mechanisms that are 'sensitive' to term structures and size and complexity of procedures. We accomplish this in the nu-ALS compiler by carefully decomposing our indexing process into multiple stages. The operations performed by these stages increase in complexity ranging from first argument indexing to unification (module nonlinearity). Further the indexing process can be terminated at any stage if it is not beneficial to continue further. We have now completed the design and implementation of nu-ALS. Using it we have enhanced the performance of a broad range of programs typically encountered in practice. Our experience strongly suggests that indexing based on unification (module nonlinearity) is a viable idea in practice and that a broad spectrum of useful programs can realize all of its benefits.
引用
收藏
页码:1097 / 1119
页数:23
相关论文
共 50 条
  • [1] Speeding up execution of evolutionary algorithms with multiprocessor and multicomputer systems
    Vavpotič, Simon
    Dobnikar, Andrej
    Elektrotehniski Vestnik/Electrotechnical Review, 2002, 69 (3-4): : 227 - 233
  • [2] INDEXING PROLOG CLAUSES
    DEMOEN, B
    MARIEN, A
    CALLEBAUT, A
    LOGIC PROGRAMMING : PROCEEDINGS OF THE NORTH AMERICAN CONFERENCE, 1989, VOL 1-2, 1989, : 1001 - 1012
  • [3] Implementation of graph algorithms in Reconfigurable Hardware (FPGAs) to speeding up the execution
    Ahmed, Imtiaj
    Alam, Shafiul
    Rahman, Mohammed Anis Ur
    Islam, Naimul
    ICCIT: 2009 FOURTH INTERNATIONAL CONFERENCE ON COMPUTER SCIENCES AND CONVERGENCE INFORMATION TECHNOLOGY, VOLS 1 AND 2, 2009, : 880 - +
  • [4] Speeding Up Permutation Based Indexing with Indexing
    Figueroa, Karina
    Fredriksson, Kimmo
    SISAP 2009: 2009 SECOND INTERNATIONAL WORKSHOP ON SIMILARITY SEARCH AND APPLICATIONS, PROCEEDINGS, 2009, : 107 - +
  • [5] A CLAUSE INDEXING UNIT FOR PROLOG
    RENAUX, D
    DASIEWICZ, P
    MICROPROCESSING AND MICROPROGRAMMING, 1992, 35 (1-5): : 311 - 318
  • [6] DEWEY INDEXING OF PROLOG TRACES
    FOO, NY
    COMPUTER JOURNAL, 1986, 29 (01): : 17 - 19
  • [7] PROXIMA - PROLOG EXECUTION MACHINE
    BALDI, L
    CIVERA, P
    IURLARO, A
    MASERA, G
    PAGNI, A
    PICCININI, G
    POLUZZI, R
    ROCH, MR
    ZAMBONI, M
    IEEE JOURNAL OF SOLID-STATE CIRCUITS, 1993, 28 (03) : 362 - 370
  • [8] CONCURRENT EXECUTION OF PROLOG TRANSACTION
    TAKIZAWA, M
    MIYAJIMA, K
    LECTURE NOTES IN COMPUTER SCIENCE, 1988, 315 : 313 - 327
  • [9] SPEEDING MS DOS EXECUTION
    WEISSMAN, G
    DR DOBBS JOURNAL, 1986, 11 (03): : 44 - &
  • [10] OR-PARALLEL EXECUTION MODELS OF PROLOG
    WARREN, DHD
    LECTURE NOTES IN COMPUTER SCIENCE, 1987, 250 : 243 - 259