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
To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.