HAC: Hybrid Adaptive Caching for Distributed Storage Systems

Download: pdf, ps.

HAC: Hybrid Adaptive Caching for Distributed Storage Systems” by Miguel Castro, Atul Adya, Barbara Liskov, and Andrew C. Myers. In ACM Symposium on Operating Systems Principles (SOSP), (Saint Malo, France), Oct. 1997, pp. 102-115.


This paper presents HAC, a novel technique for managing the client cache in a distributed, persistent object storage system. HAC is a hybrid between page and object caching that combines the virtues of both while avoiding their disadvantages. It achieves the low miss penalties of a page-caching system, but is able to perform well even when locality is poor, since it can discard pages while retaining their hot objects. It realizes the potentially lower miss rates of object-caching systems, yet avoids their problems of fragmentation and high overheads. Furthermore, HAC is adaptive: when locality is good it behaves like a page-caching system, while if locality is poor it behaves like an object-caching system. It is able to adjust the amount of cache space devoted to pages dynamically so that space in the cache can be used in the way that best matches the needs of the application. The paper also presents results of experiments that indicate that HAC outperforms other object storage systems across a wide range of cache sizes and workloads; it performs substantially better on the expected workloads, which have low to moderate locality. Thus we show that our hybrid, adaptive approach is the cache management technique of choice for distributed, persistent object systems.

Download: pdf, ps.

BibTeX entry:

   author = {Miguel Castro and Atul Adya and Barbara Liskov and Andrew C.
   title = {{HAC}: Hybrid Adaptive Caching for Distributed Storage Systems},
   booktitle = {ACM Symposium on Operating Systems Principles (SOSP)},
   pages = {102--115},
   address = {Saint Malo, France},
   month = oct,
   year = {1997},
   url = {http://citeseer.ist.psu.edu/castro97hac.html}

Also see all authors, all publications by date, and all publications by topic.

Programming Methodology Group