Caching approximate values instead of exact values presents an opportunity
for performance gains in exchange for decreased precision. To maximize the
performance improvement, cached approximations must be of appropriate preci
sion: approximations that are too precise easily become invalid, requiring
frequent refreshing, while overly imprecise approximations are likely to be
useless to applications, which must then bypass the cache. We present a pa
rameterized algorithm for adjusting the precision of cached approximations
adaptively to achieve the best performance as data values, precision requir
ements, or workload vary. We consider interval approximations to numeric va
lues but our ideas can be extended to other kinds of data and approximation
s. Our algorithm strictly generalizes previous adaptive caching algorithms
for exact copies: we can set parameters to require that all approximations
be exact, in which case our algorithm dynamically chooses whether or not to
cache each data value.
We have implemented our algorithm and tested it on synthetic and real-world
data. A number of experimental results are reported, showing the effective
ness of our algorithm at maximizing performance, and also showing that in t
he special case of exact caching our algorithm performs as well as previous
algorithms. In cases where bounded imprecision is acceptable, our algorith
m easily outperforms previous algorithms for exact caching.