Global Trie for Subterms

João Raimundo and Ricardo Rocha

July 2011


A critical component in the implementation of an efficient tabling system is the design of the table space. The most popular and successful data structure for representing tables is based on a two-level trie data structure, where one trie level stores the tabled subgoal calls and the other stores the computed answers. The Global Trie (GT) is an alternative table space organization designed with the intent to reduce the tables's memory usage, namely by storing terms in a global trie, thus preventing repeated representations of the same term in different trie data structures. In this paper, we propose an extension to the GT organization, named Global Trie for Subterms (GT-ST), where compound subterms in term arguments are represented as unique entries in the GT. Experiments results using the YapTab tabling system show that GT-ST support has potential to achieve significant reductions on memory usage, for programs with increasing compound subterms in term arguments, without compromising the execution time for other programs.


  author =    {J. Raimundo and R. Rocha},
  title =     {{Global Trie for Subterms}},
  booktitle = {Proceedings of the 11th Colloquium on Implementation of Constraint and LOgic Programming
               Systems (CICLOPS 2011)},
  pages =     {34--48},
  editor =    {S. Abreu and V. Santos Costa},
  month =     {July},
  year =      {2011},
  address =   {Lexington, Kentucky, USA},

Download Paper

PDF file
Computing Research Repository (CoRR)

Download Slides

PDF file