Truly non-blocking writes

  • Authors:
  • Luis Useche;Ricardo Koller;Raju Rangaswami;Akshat Verma

  • Affiliations:
  • Florida International University;Florida International University;Florida International University;IBM Research - India

  • Venue:
  • HotStorage'11 Proceedings of the 3rd USENIX conference on Hot topics in storage and file systems
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Writing data within user or operating system memory often encounters the classic read-before-write problem whereby the page written to must first be read from the backing store, effectively blocking the writing process before modifications are made. Unfortunately, the large gap between memory and storage access performance adversely affects workloads that require substantial read-before-write operations when accessing memory. In this paper, we present techniques thatmake writes to memory truly non-blocking. The basic approach involves absorbing writes immediately in temporary buffer pages and asynchronously merging the updates after reading in the on-disk version of the page. Doing so improves system performance by first, reducing blocking of processes and second, improving the parallelism of data retrieval from the backing store leading to better throughput for read-before-write operations. We analyze the potential benefits of our approach using full-system memory access traces for several benchmarkworkloads and present techniques that commodity operating systems can employ to implement non-blocking writes.