Janus: Optimal Flash Provisioning for Cloud Storage Workloads
Venue
Proceedings of the USENIX Annual Technical Conference, USENIX, Advanced Computing System Association, 2560 Ninth Street, Suite 215, Berkeley, CA 94710, USA (2013), pp. 91-102
Publication Year
2013
Authors
Christoph Albrecht, Arif Merchant, Murray Stokely, Muhammad Waliji, Francois Labelle, Nathan Coehlo, Xudong Shi, Eric Schrock
BibTeX
Abstract
Janus is a system for partitioning the flash storage tier between workloads in a
cloud-scale distributed file system with two tiers, flash storage and disk. The file
system stores newly created files in the flash tier and moves them to the disk tier
using either a First-In-First-Out (FIFO) policy or a Least-Recently-Used (LRU)
policy, subject to per-workload allocations. Janus constructs compact metrics of
the cacheability of the different workloads, using sampled distributed traces
because of the large scale of the system. From these metrics, we formulate and
solve an optimization problem to determine the flash allocation to workloads that
maximizes the total reads sent to the flash tier, subject to operator-set priorities
and bounds on flash write rates. Using measurements from production workloads in
multiple data centers using these recommendations, as well as traces of other
production workloads, we show that the resulting allocation improves the flash hit
rate by 47–76% compared to a unified tier shared by all workloads. Based on these
results and an analysis of several thousand production workloads, we conclude that
flash storage is a cost-effective complement to disks in data centers.
