Skip to main navigation Skip to search Skip to main content

Weight-Aware Cache for Application-Level Proportional I/O Sharing

Research output: Contribution to journalArticlepeer-review

Abstract

Virtualization technology has enabled server consolidation where multiple servers are co-located on a single physical machine to improve resource utilization. In such systems, proportional I/O sharing is critical to meet the SLO (Service-Level Objectives) of the applications running in each virtual instance. However, previous studies focus on block-level I/O proportionality without considering the upper-layer I/O caches, which handle I/O requests on behalf of the underlying storage devices, thereby failing to achieve application-level proportional I/O sharing. To overcome this limitation, we propose a new cache management scheme, Weight-aware Cache (WaC), which reflects the I/O weights on cache allocation and reclamation. Specifically, WaC prioritizes higher-weighted applications in the lock acquisition process of cache allocation by re-ordering the lock waiting queue based on I/O weight. Additionally, WaC keeps the number of cache entries of each application proportional to its I/O weight, through weight-aware cache reclamation. To verify the efficacy of our scheme, we implement and evaluate WaC on both the page cache and bcache. The experimental results demonstrate that our scheme improves I/O proportionality with negligible overhead in various cases.

Original languageEnglish
Pages (from-to)2395-2407
Number of pages13
JournalIEEE Transactions on Computers
Volume71
Issue number10
DOIs
StatePublished - 1 Oct 2022

Keywords

  • Cache
  • cloud computing
  • operating systems
  • resource management

Fingerprint

Dive into the research topics of 'Weight-Aware Cache for Application-Level Proportional I/O Sharing'. Together they form a unique fingerprint.

Cite this