From application requests to virtual IOPs: provisioned key-value storage with Libra
Author(s): Shue, David; Freedman, Michael J
DownloadTo refer to this page use:
http://arks.princeton.edu/ark:/88435/pr1nn7c
Abstract: | Achieving predictable performance in shared cloud storage services is hard. Tenants want reservations in terms of system-wide application-level throughput, but the provider must ultimately deal with low-level IO resources at each storage node where contention arises. Such a guarantee has thus proven elusive, due to the complexities inherent to modern storage stacks: non-uniform IO amplification, unpredictable IO interference, and non-linear IO performance. This paper presents Libra, a local IO scheduling framework designed for a shared SSD-backed key-value storage system. Libra guarantees per-tenant application-request throughput while achieving high utilization. To accomplish this, Libra leverages two techniques. First, Libra tracks the IO resource consumption of a tenant's application-level requests across complex storage stack interactions, down to low-level IO operations. This allows Libra to allocate per-tenant IO resources for achieving app-request reservations based on their dynamic IO usage profile. Second, Libra uses a disk-IO cost model based on virtual IO operations (VOP) that captures the non-linear relationship between SSD IO bandwidth and IO operation (IOP) throughput. Using VOPs, Libra can both account for the true cost of an IOP and determine the amount of provisionable IO resources available under IO interference. An evaluation shows that Libra, when applied to a LevelDB-based prototype with SSD-backed storage, satisfies tenant app-request reservations and achieves accurate low-level VOP allocations over a range of workloads, while still supporting high utilization. |
Publication Date: | Apr-2014 |
Citation: | Shue, David, and Michael J. Freedman. "From application requests to virtual IOPs: provisioned key-value storage with Libra." In Proceedings of the Ninth European Conference on Computer Systems (2014): pp. 1-14. doi:10.1145/2592798.2592823 |
DOI: | 10.1145/2592798.2592823 |
Pages: | 1 - 14 |
Type of Material: | Conference Article |
Journal/Proceeding Title: | Proceedings of the Ninth European Conference on Computer Systems |
Version: | Author's manuscript |
Items in OAR@Princeton are protected by copyright, with all rights reserved, unless otherwise indicated.