BASIL: automated IO load balancing across storage devices

  • Authors:
  • Ajay Gulati;Chethan Kumar;Irfan Ahmad;Karan Kumar

  • Affiliations:
  • VMware, Inc.;VMware, Inc.;VMware, Inc.;Carnegie Mellon University

  • Venue:
  • FAST'10 Proceedings of the 8th USENIX conference on File and storage technologies
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Live migration of virtual hard disks between storage arrays has long been possible. However, there is a dearth of online tools to perform automated virtual disk placement and IO load balancing across multiple storage arrays. This problem is quite challenging because the performance of IO workloads depends heavily on their own characteristics and that of the underlying storage device. Moreover, many device-specific details are hidden behind the interface exposed by storage arrays. In this paper, we introduce BASIL, a novel software system that automatically manages virtual disk placement and performs load balancing across devices without assuming any support from the storage arrays. BASIL uses IO latency as a primary metric for modeling. Our technique involves separate online modeling of workloads and storage devices. BASIL uses these models to recommend migrations between devices to balance load and improve overall performance. We present the design and implementation of BASIL in the context of VMware ESX, a hypervisor-based virtualization system, and demonstrate that the modeling works well for a wide range of workloads and devices. We evaluate the placements recommended by BASIL, and show that they lead to improvements of at least 25% in both latency and throughput for 80 percent of the hundreds of microbenchmark configurations we ran. When tested with enterprise applications, BASIL performed favorably versus human experts, improving latency by 18-27%.