Abstract :
Predicate caching is a powerful memory caching technique especially suitable for a class of applications called autonomous systems. These systems can act according to presupplied logic that defines predictable, repetitive data access requests. This class includes rule-based systems, expert systems, logic programs, active database systems, database integrity constraints, triggers, alerters, and autonomous intelligent agents. Some of these systems are data-intensive. 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. With predicate caching, a system applies a predicate to the data on its way from one memory device to another. A predicate, in this context, is any predetermined calculation made by a program. I describe the predicate caching technique and, specifically, the page-predicate approach that I developed to resolve problems of cache partitioning, management, and optimization. The work discussed is based on simulation experiments I devised, programmed, and conducted
Keywords :
cache storage; database management systems; knowledge based systems; query processing; storage management; active database systems; autonomous intelligent agents; cache partitioning; data-intensive autonomous systems; database integrity constraints; expert systems; logic programs; memory caching technique; memory utilization; page-predicate approach; partial results; predicate caching; repetitive data access requests; repetitive queries; rule-based systems; Application software; Database systems; Delay; Expert systems; Hardware; Intelligent agent; Knowledge based systems; Logic; Performance gain; Throughput;