The Storage Hierarchy is Not a Hierarchy: Optimizing Caching on Modern Storage Devices with Orthus - Wu, Kan; Guo, Zhihan; Hu, Guanzhou; Tu, Kaiwei; Alagappan, Ramnatthan; Sen, Rathijit; Park, Kwanghyun; C. Arpaci-Dusseau, Andrea; H. Arpaci-Dusseau, Remzi (19th USENIX Conference on File and Storage Technologies, 2021)
We introduce non-hierarchical caching (NHC), a novel approach to caching in modern storage hierarchies. NHC improves performance as compared to classic caching by redirecting excess load to devices lower in the hierarchy when it is advantageous to do so. NHC dynamically adjusts allocation and access decisions, thus maximizing performance (e.g., high throughput, low 99%-ile latency). We implement NHC in Orthus-CAS (a block-layer caching kernel module) and Orthus-KV (a user-level caching layer for a key-value store). We show the efficacy of NHC via a thorough empirical study: Orthus-KV and Orthus-CAS offer significantly better performance (by up to 2x) than classic caching on various modern hierarchies, under a range of realistic workloads.