Consolidating multiple workloads on a single flash-based storage device is now a common practice. We identify a new problem related to lifetime management in such settings: how should one partition device resources among consolidated workloads such that their allowed contributions to the device's wear (resulting from their writes including hidden writes due to garbage collection) may be deemed fairly assigned? When flash is used as a cache/buffer, such fairness is important because it impacts what and how much traffic from various workloads may be serviced using flash which in turn affects their performance. We first clarify why the write attribution problem (i.e., which workload contributed how many writes) is non-trivial. We then present a technique for it inspired by the Shapley value, a classical concept from cooperative game theory, and demonstrate that it is accurate, fair, and feasible. We next consider how to treat an overall “write budget” (i.e., total allowable writes during a given time period) for the device as a first-class resource worthy of explicit management. Towards this, we propose a novel write budget allocation technique. Finally, we construct a dynamic lifetime management framework for consolidated devices by putting the above elements together. Our experiments using real-world workloads demonstrate that our write allocation and attribution techniques lead to performance fairness across consolidated workloads.
|Title of host publication||ASPLOS 2020 - 25th International Conference on Architectural Support for Programming Languages and Operating Systems|
|Publisher||Association for Computing Machinery|
|Number of pages||14|
|Publication status||Published - 2020 Mar 9|
|Event||25th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2020 - Lausanne, Switzerland|
Duration: 2020 Mar 16 → 2020 Mar 20
|Name||International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS|
|Conference||25th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2020|
|Period||20/3/16 → 20/3/20|
Bibliographical noteFunding Information:
We thank Peter Desnoyers, our shepherd, and the anonymous reviewers for their valuable feedback. This research is supported in part by NSF grants 1822923, 1439021, 1629915, 1626251, 1629129, 1763681, 1526750, 1439057, and 1717571. Dr. Jung's research is in part supported by NRF 2016R1C1B201 5312, DOE DEAC02-05CH11231, NRF 2015M3C4A7065645, NRF 2017R1A4A1015498 and KAIST start-up grant.
© 2020 Association for Computing Machinery.
All Science Journal Classification (ASJC) codes
- Information Systems
- Hardware and Architecture