FAIRIO: A Throughput-oriented Algorithm for Differentiated I/O Performance

  • Authors:
  • Sarala Arunagiri;Yipkei Kwok;Patricia J. Teller;Ricardo A. Portillo;Seetharami R. Seelam

  • Affiliations:
  • Department of Computer Science, The University of Texas at El Paso, El Paso, USA 79968;Department of Computer Science, The University of Texas at El Paso, El Paso, USA 79968;Department of Computer Science, The University of Texas at El Paso, El Paso, USA 79968;Department of Computer Science, The University of Texas at El Paso, El Paso, USA 79968;IBM T. J. Watson Research Center, Yorktown Heights, USA 10598

  • Venue:
  • International Journal of Parallel Programming
  • Year:
  • 2014

Quantified Score

Hi-index 0.00

Visualization

Abstract

Providing differentiated service in a consolidated storage environment is a challenging task. To address this problem, we introduce FAIRIO, a cycle-based I/O scheduling algorithm that provides differentiated service to workloads concurrently accessing a consolidated RAID storage system. FAIRIO enforces proportional sharing of I/O service through fair scheduling of disk time. During each cycle of the algorithm, I/O requests are scheduled according to workload weights and disk-time utilization history. Experiments, which were driven by the I/O request streams of real and synthetic I/O benchmarks and run on a modified version of DiskSim, provide evidence of FAIRIO's effectiveness and demonstrate that fair scheduling of disk time is key to achieving differentiated service in a RAID storage system. In particular, the experimental results show that, for a broad range of workload request types, sizes, and access characteristics, the algorithm provides differentiated storage throughput that is within 10% of being perfectly proportional to workload weights; and, it achieves this with little or no degradation of aggregate throughput. The core design concepts of FAIRIO, including service-time allocation and history-driven compensation, potentially can be used to design I/O scheduling algorithms that provide workloads with differentiated service in storage systems comprised of RAIDs, multiple RAIDs, SANs, and hypervisors for Clouds.