Second-tier cache management using write hints

  • Authors:
  • Xuhui Li;Ashraf Aboulnaga;Kenneth Salem;Aamer Sachedina;Shaobo Gao

  • Affiliations:
  • University of Waterloo;University of Waterloo;University of Waterloo;IBM Toronto Lab;University of Waterloo

  • Venue:
  • FAST'05 Proceedings of the 4th conference on USENIX Conference on File and Storage Technologies - Volume 4
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Storage servers, as well as storage clients, typically have large memories in which they cache data blocks. This creates a two-tier cache hierarchy in which the presence of a first-tier cache (at the storage client) makes it more difficult to manage the second-tier cache (at the storage server). Many techniques have been proposed for improving the management of second-tier caches, but none of these techniques use the information that is provided by writes of data blocks from the first tier to help manage the second-tier cache. In this paper, we illustrate how the information contained in writes from the first tier can be used to improve the performance of the second-tier cache. In particular, we argue that there are very different reasons why storage clients write data blocks to storage servers (e.g., cleaning dirty blocks vs. limiting the time to recover from failure). These different types of writes can provide strong indications about the current state and future access patterns of a first-tier cache, which can help in managing the second-tier cache. We propose that storage clients inform the storage servers about the types of writes that they perform by passing write hints. These write hints can then be used by the server to manage the second-tier cache. We focus on the common and important case in which the storage client is a database system running a transactional (OLTP) workload. We describe, for this case, the different types of write hints that can be passed to the storage server, and we present several cache management policies that rely on these write hints. We demonstrate using trace driven simulations that these simple and inexpensive write hints can significantly improve the performance of the second-tier cache.