Fair Write Attribution and Allocation for Consolidated Flash Cache

Session: Storage--Cache is the answer, what is the question?

Authors: Wonil Choi (Pennsylvania State University); Bhuvan Urgaonkar (Pennsylvania State University); Mahmut Kandemir (Pennsylvania State University); Myoungsoo Jung (Korea Advanced Institute of Science and Technology); David Evans (Samsung Semiconductor)

Consolidating multiple workloads on a single flash-based storage device is now a common practice. We identify a new problem related to {\em 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 {\em 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 {\em 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.