Skip to main content
Article thumbnail
Location of Repository

Lazy Reference Counting for Transactional Storage Systems

By Miguel Castro, Atul Adya and Barbara Liskov


Hac is a novel technique for managing the client cache in a distributed, persistent object storage system. In a companion paper, we showed that it outperforms other techniques across a wide range of cache sizes and workloads. This report describes Hac's solution to a specific problem: how to discard indirection table entries in an indirect pointer swizzling scheme. Hac uses lazy reference counting to solve this problem. Instead of eagerly updating reference counts when objects are modified and eagerly freeing unreferenced entries, which can be expensive, we perform these operations lazily in the background while waiting for replies to fetch and commit requests. Furthermore, we introduce a number of additionaloptimizations to reduce the space and time overheads of maintaining reference counts. The net effect is that the overhead of lazy reference counting is low

Topics: reference counting, pointer swizzling, transactions, caching, performance
Year: 1997
OAI identifier: oai:CiteSeerX.psu:
Provided by: CiteSeerX
Download PDF:
Sorry, we are unable to provide the full text but you may find it at the following location(s):
  • (external link)
  • (external link)
  • Suggested articles

    To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.