Issue No. 11 - November (1997 vol. 30)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/2.634867
<p>With traditional caching, a system copies data from a slower device to a faster one to improve throughput. With predicate caching, a system applies a predicate to the data on its way from one memory device to another. </p> <p>A predicate, in this context, is any predetermined calculation made by a program. Examples are a numerical integration function, a database SQL query, shortest path calculation in a network, a complex weather calculation, and a sorting program. </p> <p>Predicate caching is especially suited to autonomous systems, such as rule-based systems, expert systems, and autonomous intelligent agents. Some of these systems are data-intensive; that is, they operate against a very large database and respond to numerous, repetitive queries. Predicate caching improves memory utilization and response time of repetitive queries by prestoring partial results in primary memory, which results in minimizing secondary storage access. </p> <p>This article describes the predicate caching technique and, specifically, the page-predicate approach, which is designed to resolve problems of cache partitioning, management, and optimization. </p>
N. N. Kamel, "Predicate Caching for Data-Intensive Autonomous Systems," in Computer, vol. 30, no. , pp. 77-83, 1997.