The Storage Hierarchy is Not a Hierarchy: Optimizing Caching on Modern Storage Devices with Orthus

  • Kan Wu ,
  • Zhihan Guo ,
  • Guanzhou Hu ,
  • Kaiwei Tu ,
  • Ramnatthan Alagappan ,
  • ,
  • Kwanghyun Park ,
  • Andrea C. Arpaci-Dusseau ,
  • Remzi H. Arpaci-Dusseau

19th USENIX Conference on File and Storage Technologies |

Publication

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.