scc: cluster storage provisioning informed by application characteristics and SLAs

  • Authors:
  • Harsha V. Madhyastha;John C. McCullough;George Porter;Rishi Kapoor;Stefan Savage;Alex C. Snoeren;Amin Vahdat

  • Affiliations:
  • UC Riverside;UC San Diego;UC San Diego;UC San Diego;UC San Diego;UC San Diego;UC San Diego

  • Venue:
  • FAST'12 Proceedings of the 10th USENIX conference on File and Storage Technologies
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Storage for cluster applications is typically provisioned based on rough, qualitative characterizations of applications. Moreover, configurations are often selected based on rules of thumb and are usually homogeneous across a deployment; to handle increased load, the application is simply scaled out across additional machines and storage of the same type. As deployments grow larger and storage options (e.g., disks, SSDs, DRAM) diversify, however, current practices are becoming increasingly inefficient in trading off cost versus performance. To enable more cost-effective deployment of cluster applications, we develop scc--a storage configuration compiler for cluster applications. scc automates cluster configuration decisions based on formal specifications of application behavior and hardware properties. We study a range of storage configurations and identify specifications that succinctly capture the trade-offs offered by different types of hardware, as well as the varying demands of application components. We apply scc to three representative applications and find that scc is expressive enough to meet application Service Level Agreements (SLAs) while delivering 2-4.5× savings in cost on average compared to simple scale-out options. scc's advantage stems mainly from its ability to configure heterogeneous--rather than conventional, homogeneous--cluster architectures to optimize cost.