The Storage Hierarchy is Not a Hierarchy Optimizing

  • Slides: 23
Download presentation
The Storage Hierarchy is Not a Hierarchy: Optimizing Caching on Modern Storage Devices with

The Storage Hierarchy is Not a Hierarchy: Optimizing Caching on Modern Storage Devices with Orthus Kan Wu, Zhihan Guo, Guanzhou Hu, and Kaiwei Tu, University of Wisconsin–Madison; Ramnatthan Alagappan, VMware Research; Rathijit Sen and Kwanghyun Park, Microsoft; Andrea C. Arpaci-Dusseau and Remzi H. Arpaci-Dusseau, University of Wisconsin–Madison This paper is included in the Proceedings of the 19 th USENIX Conference on File and Storage Technologies. February 23– 25, 2021 1

Outline • Introduction • Design • Evaluation • Conclusion 2

Outline • Introduction • Design • Evaluation • Conclusion 2

Introduction(1/6) • The notion of a hierarchy (i. e. , a memory hierarchy or

Introduction(1/6) • The notion of a hierarchy (i. e. , a memory hierarchy or storage hierarchy) has long been central to computer system design. Fast, small DRAM SSD slow, large HDD 3

Introduction(2/6) • To cope with the nature of the hierarchy, systems usually employ two

Introduction(2/6) • To cope with the nature of the hierarchy, systems usually employ two strategies: caching and tiering. • However, rapid changes in storage devices have complicated this narrative within the modern storage hierarchy. 4

Introduction(3/6) 5

Introduction(3/6) 5

Introduction(4/6) • To address this problem, we introduce nonhierarchical caching (NHC). • The key

Introduction(4/6) • To address this problem, we introduce nonhierarchical caching (NHC). • The key insight of NHC is that when classic caching would send more requests to the performance device than is useful, some of that excess load can be dynamically moved to the capacity device. 6

Introduction(5/6) 7

Introduction(5/6) 7

Introduction(6/6) 8

Introduction(6/6) 8

Outline • Introduction • Design • Evaluation • Conclusion 9

Outline • Introduction • Design • Evaluation • Conclusion 9

Design(1/3) • NHC has the following goals: 1. Perform as well or better than

Design(1/3) • NHC has the following goals: 1. Perform as well or better than classic caching. 2. Require no special knowledge or configuration. 3. Be robust to dynamic workloads.

Design(2/3) 11

Design(2/3) 11

Design(3/3) State 2: 1: Adjust Improve load hit between rate. devices. Request(c) Request(a) Data

Design(3/3) State 2: 1: Adjust Improve load hit between rate. devices. Request(c) Request(a) Data admin =true Dirty or P<= load admit cache d c b b a a storage Data admit=false Clear and P>load admit Hit rate

Outline • Introduction • Design • Evaluation • Conclusion 13

Outline • Introduction • Design • Evaluation • Conclusion 13

Evaluation(1/7) • We implement non-hierarchical caching in two places: 1. Orthus-CAS: block-layer caching kernel

Evaluation(1/7) • We implement non-hierarchical caching in two places: 1. Orthus-CAS: block-layer caching kernel module, based on Intel Open CAS framework. 2. Orthus-KV: user-level caching layer for Wisckey (a LSM -tree based K/V store). 14

Evaluation(2/7) 15

Evaluation(2/7) 15

Evaluation(3/7) 16

Evaluation(3/7) 16

Evaluation(4/7) 17

Evaluation(4/7) 17

Evaluation(5/7) 18

Evaluation(5/7) 18

Evaluation(6/7) 19

Evaluation(6/7) 19

Evaluation(7/7) 20

Evaluation(7/7) 20

Outline • Introduction • Design • Evaluation • Conclusion 21

Outline • Introduction • Design • Evaluation • Conclusion 21

Conclusion(1/1) • NHC is based upon a novel cache scheduling algorithm, which accounts for

Conclusion(1/1) • NHC is based upon a novel cache scheduling algorithm, which accounts for workload and device characteristics to make allocation and access decisions. • Through experiments, we showed the benefits of NHC on a wide range of devices, cache configurations, and workloads. 22

Thank you for listening 23

Thank you for listening 23