Title of article :
Memory Management for Prolog with Tabling
Author/Authors :
Demoen، Bart. نويسنده , , Konstantinos، نويسنده , , Sagonas، نويسنده ,
Issue Information :
روزنامه با شماره پیاپی سال 1999
Abstract :
Tabling can be implemented in a (WAM-based) Prolop system by means of SLG-WAM: consumers suspend end their state is preserved by freezing the execution stacks. XSB is a system that currently implements tabling based on the SLG-WAM. The memory model is quite complex and attempts to undrestand the notion of usefulness of data in XSB well enough to build a precise garbage collector have failed in the past, CAT is a recent alternative to SLC-WAM: it suspends consumera by copying parts of the execution stacks. The memory model is simpler and the design of a more precise garbage collector became feasible. CAT also provided the necessary insights in the usefulness of data in the context of the SLG-WAM. This paper describes the memory management, of tabled logic programming systems, whether based on the SLG-WAM or on CAT. Since CAT can perform arbitrarily worse than SLC-WAM space-wise, a minor garbage collection on creation of the CAT areas is proposed as a remedy, its effectiveness is discussed.
Keywords :
Memory allocation , fragmentation , conservative garbage collection , non-copying garbage collection , garbage collection
Journal title :
A C M Sigplan (Programming Languages) Sigplan Notices
Journal title :
A C M Sigplan (Programming Languages) Sigplan Notices