Segment Order Preserving and Generational Garbage Collection for Prolog
We treat two important issues in heap garbage collection for WAM-based Prolog systems. First we describe a new method for preserving the order of heap segments in a copying garbage collector. Second, we deal with methods for (multi-)generational garbage collection; in particular we show the importance of precise maintenance of generation lines and propose different and novel ways for its implementation. All the methods are experimentally evaluated.
KeywordsGarbage Collection Choice Point Garbage Collector Prolog System Minor Collection
Unable to display preview. Download preview PDF.
- 1.H. A ït-Kaci. Warren’s Abstract Machine: A Tutorial Reconstruction. The M I T Press, 1991. See also: http://www.isg.sfu.ca/~hak/documents/wam.html.
- 4.Y. Bekkers, O. Ridoux, and L. Ungaro. Dynamic memory management for sequential logic programming languages. In Y. Bekkers and J. Cohen, editors, Proceedings of IWMM’92: International Workshop on Memory Management, number 637 in LNCS, pages 82–102. Springer-Verlag, Sept. 1992.Google Scholar
- 5.J. Bevemyr and T. Lindgren. A simple and efficient copying garbage collector for Prolog. In M. Hermenegildo and J. Penjam, editors, Proceedings of the Sixth International Symposium on Programming Language Implementation and Logic Programming, number 844 in LNCS, pages 88–101. Springer-Verlag, Sept. 1994.Google Scholar
- 6.H. Blockeel, L. Dehaspe, B. Demoen, G. Janssens, J. Ramon, and H. Vandecasteele. Executing query packs in ILP. In J. Cussens and A. Frisch, editors, Proceedings of the 10th International Conference on Inductive Logic Programming, number 1866 in LNAI, pages 60–77, Springer, July 2000.Google Scholar
- 8.Yoo C. Chung, Soo-Mook Moon, Kemal Ebcioglu, and Dan Sahlin. Reducing sweep time for a nearly empty heap. In Proceedings of the ACM SIGPLAN Symposium on Principles of Programming Languages, pages 378–389. ACMPress, Jan. 2000.Google Scholar
- 9.B. Demoen, G. Engels, and P. Tarau. Segment order preserving copying garbage collection for WAMb ased Prolog. In Proceedings of the 1996 ACM Symposium on Applied Computing, pages 380–386. ACMPress, Feb. 1996.Google Scholar
- 10.B. Demoen, P.-L. Nguyen. So many WAM variations, so little time. In J. Lloyd, editor, Proceedings of Computational Logic-CL2000, First International Conference, number 1861 in LNAI, pages 1240–1254, Springer, July 2000.Google Scholar
- 11.B. Demoen and K. Sagonas. CHAT is Θ(SLG-WAM). In H. Ganzinger, D. McAllester, and A. Voronkov, editors, Proceedings of the 6th International Conference on Logic for Programming and Automated Reasoning, number 1705 in LNAI, pages 337–357. Springer, Sept. 1999.Google Scholar
- 12.R. Jones and R. Lins. Garbage Collection: Algorithms for automatic memory management. John Wiley, 1996.Google Scholar
- 13.X. Li. Efficient memory management in a merged heap/stack Prolog machine. In Proceedings of the 2nd ACM SIGPLAN Conference on Principles and Practice of Declarative Programming (PPDP’00), pages 245–256. ACMPress, Sept. 2000.Google Scholar
- 16.K. Sagonas and B. Demoen. From (multi-)generational to segment order preserving copying garbage collection for the WAM. K. U. Leuven CW report 303, October 2000. See http://www.cs.kuleuven.ac.be/publicaties/rapporten/cw/CW303.abs.html
- 17.H. Touati and T. Hama. A light-weight Prolog garbage collector. In Proceedings of the International Conference on Fifth Generation Computer Systems (FGCS’88), pages 922–930. OHMSHA Ltd. Tokyo and Springer-Verlag, Nov./Dec. 1988.Google Scholar
- 18.R. Vandeginste and B. Demoen. The implementation of a new segment preserving and/or (multi-)generational copying garbage collection for the WAMan d its approximation. K. U. Leuven CW report 319, July 2001. See also: http://www.cs.kuleuven.ac.be/publicaties/rapporten/cw/CW319.abs.html
- 19.D. H. D. Warren. An abstract Prolog instruction set. Technical Report 309, SRI International, Menlo Park, U. S. A., Oct. 1983.Google Scholar