Abstract
A difficult but challenging problem is the efficient exploitation of AND and OR parallelism in logic programs without making any assumptions about the underlying target machine(s). In earlier papers, we described the design of a binding environment for AND and OR parallel execution of logic programs on shared and nonshared memory machines and the performance of a compiler (called ROLOG) using this binding environment on a range of MIMD parallel machines.
In this paper, we present an important optimization for portable parallel logic programming, namely distributed last-call optimization, an analog of the tail recursion optimization for sequential Prolog. This scheme has been implemented in the ROLOG compiler, which ports unchanged on several shared memory and nonshared memory machines. We describe the effect of this optimization on several OR, AND/OR and AND parallel benchmark programs.
- 1 AGHA, G.A. Actors: A Model of Concurrent Computatmn tn Distributed Systems. MIT Press, Cambridge, Mass., 1986.]] Google Scholar
- 2 ALI, K. A. M., AND KARLSSON, R. The Muse OR-parallel Prolog model and its performance. In North American Conference on Logic Programming (Austin, Tex., Oct. 1990), 757-776.]] Google Scholar
- 3 BARON, U., AND DE KERGOMMEAUX, J. C. ET AL. The parallel ECRC prolog system PEPSys: An overview and evaluation results. In International Conference on Fifth Generation Computer Systems (Tokyo, Nov. 1988).]]Google Scholar
- 4 BISWAS, P., Su, S. C., AND YUN, D. Y. A scalable abstract machine model to support limited-OR/restricted-AND parallelism in logic programs. In International Conference on Logic Programming (Seattle, Wash., Aug. 1988), 1160-1179.]]Google Scholar
- 5 CONERY, J. S. The AND/OR process model for parallel interpretation of logic programs. Ph.D. dissertation, Dept. of Computer Science, Univ. of California, Irvine, 1983.]] Google Scholar
- 6 CONERY, J. S. Binding environments for parallel logic programs in nonshared memory multiprocessors. In Symposium on Logic Programming (San Francisco, Calif., Sept. 1987), 457-467.]]Google Scholar
- 7 CONERY, J.S. The OPAL machine, in Implementations of Distributed Prolog. Wiley, New York, 1992.]] Google Scholar
- 8 DE, K., RAMKUMAR, B., AND BANERJEE, P. ProperSYN: A portable parallel algorithm for logic synthesis. In Proceedings of the Internattonal Conference on Computer-Aided Design (San Francisco, Calif., Nov. 1992), 412-416.]] Google Scholar
- 9 FENTON, W., RAMKUMAR, B., SALETORE, V. A., SINHA, A. B., AND KAL}~, L.V. Supporting machine independent programming on diverse parallel architectures. In International Conference on Parallel Processtng (St. Charles, Ill., Aug. 1991), II-193-201.]]Google Scholar
- 10 FERNANDEZ, J. MXSCHEME: A future-based concurrent scheme for shared and distributed memory multiprocessors. M.S. thesis, Dept. of Computer Science, Univ. of Illinois at Urbana- Champaign, Aug. 1991.]]Google Scholar
- 11 GUPTA, G., AND JAYARAMAN, B. Compiled and-or parallelism on shared memory multiprocessors. In North American Conference on Logic Programmtng (Cleveland, Ohio, Oct. 1989), 332-349.]]Google Scholar
- 12 HARIDI, S., AND BRAND, P. ANDORRA Prolog: An integration of Prolog and committed choice languages. In International Conference on Fifth Generation Computer Systems (Tokyo, Nov. 1988), 745-754.]]Google Scholar
- 13 HERMENEGILDO, M., AND GREENE, K.J. &-Prolog and its performance: exploiting independent and-parallelism. In International Conference on Logic Programming (Jerusalem, June 1990), 253-270.]] Google Scholar
- 14 HERMENEGILDO, M., AND ROSSI, F. On the correctness and efficiency of independent AND parallelism in logic programs. In North American Conference on Logic Programming (Cleveland, Ohio. Oct. 1989), 369-389.]]Google Scholar
- 15 KALe, L.V. The REDUCE-OR process model for the parallel evaluation of logic programs. In International Conference on Logic Programming (Melbourne, Australia, May 1987), 616-632.]]Google Scholar
- 16 KALt~, L.V. The Chare kernel parallel programming system. In International Conference on Parallel Processmg (St. Charles, Ill., Aug. 1990), II-17-25.]]Google Scholar
- 17 KALe, L.V. The REDUCE-OR process model for the parallel evaluation of logic programs. J. Logic Program. 11, 1 (July 1991), 55-84.]] Google Scholar
- 18 KALe., L. V., RAMKUMAR, B., AND SHU, W. A memory organization independent binding environment for AND and OR parallel execution of logic programs, in The 5th International Conference~Symposium on Logic Programming (Seattle, Wash., August 1988), 1223-1240.]]Google Scholar
- 19 LIN, Y-J., AND KUMAR, V. Performance of AND-parallel execution of logic programs on a shared memory multiprocessor. In International Conference on Fifth Generatwn Computer Systems (Tokyo, Nov. 1988), 851-860.]]Google Scholar
- 20 LUSK, E., AND WARREN, D. H. D., ST AL. The Aurora OR-parallel Prolog system. In International Conference on Fifth Generation Computer Systems (Tokyo, Nov. 1988), 819-830.]]Google Scholar
- 21 MUDAMBI, S. Performance of Aurora on a switch-based multiprocessor. In North American Conference on Logic Programming (Cleveland, Ohio, Oct. 1989).]]Google Scholar
- 22 MUDAMBI, S. Performances of Aurora on NUMA machines. In International Conference on Logic Programming (Paris, June 1991).]]Google Scholar
- 23 RAMKUMnR, B. Machine independent "AND" and "OR" parallel execution of logic programs. Ph.D. dissertation, Dept. of Computer Science, Univ. of Illinois at Urbana-Champaign, 1991.]] Google Scholar
- 24 RAMKUMAR, B., AND BANERJEE, P. Portable parallel test generation for sequential circuits. In Proceedings of the International Conference on Computer-Aided Design (San Francisco, Calif., Nov. 1992), 220-223.]] Google Scholar
- 25 RAMKUMAR, B., AND KALI~, L.V. Compiled execution of the REDUCE-OR process model on multiprocessors. In North American Conference on Logic Programming (Cleveland, Ohio, Oct. 1989).]]Google Scholar
- 26 SZEREDI, P. Performance analysis of the Aurora OR-parallel Prolog system. In North American Conference on Logic Programming (Cleveland, Ohio, Oct. 1989).]]Google Scholar
Index Terms
Distributed last call optimization for portable parallel logic programming
Recommendations
Nested Parallel Call Optimization
IPPS '96: Proceedings of the 10th International Parallel Processing SymposiumWe present a novel optimization called Last Parallel Call Optimization (LPCO) for parallel systems. The last parallel call optimization can be regarded as a parallel extension of last call optimization found in sequential systems. While the LPCO is ...
A portable parallel algorithm for logic synthesis using transduction
Combinational logic synthesis is a very important phase of VLSI system design. But the logic synthesis process requires large computing times if near optimal quality of the logic network is desired. Parallel processing is fast becoming an attractive ...
Data parallel logic programming in &ACE
SPDP '95: Proceedings of the 7th IEEE Symposium on Parallel and Distributeed Processing&ACE is a high performance parallel Prolog system developed at the Laboratory for Logic, Databases, and Advanced Programming that exploits and-parallelism from Prolog programs. &ACE was developed to exploit MIMD parallelism. However, SPMD parallelism ...








Comments