Skip to main content

From application requests to virtual IOPs: provisioned key-value storage with Libra

Author(s): Shue, David; Freedman, Michael J

To refer to this page use:
Full metadata record
DC FieldValueLanguage
dc.contributor.authorShue, David-
dc.contributor.authorFreedman, Michael J-
dc.identifier.citationShue, 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.2592823en_US
dc.description.abstractAchieving 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.en_US
dc.format.extent1 - 14en_US
dc.relation.ispartofProceedings of the Ninth European Conference on Computer Systemsen_US
dc.rightsAuthor's manuscripten_US
dc.titleFrom application requests to virtual IOPs: provisioned key-value storage with Libraen_US
dc.typeConference Articleen_US

Files in This Item:
File Description SizeFormat 
ProvisionedKeyValueStorageLibra.pdf590.1 kBAdobe PDFView/Download

Items in OAR@Princeton are protected by copyright, with all rights reserved, unless otherwise indicated.