Gaia: An OS page cache for heterogeneous systems

Tanya Brokhman, Pavel Lifshits, Mark Silberstein

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

We propose a principled approach to integrating GPU memory with an OS page cache. We design GAIA, a weakly-consistent page cache that spans CPU and GPU memories. GAIA enables the standard mmap system call to map files into the GPU address space, thereby enabling data-dependent GPU accesses to large files and efficient write-sharing between the CPU and GPUs. Under the hood, GAIA (1) integrates lazy release consistency protocol into the OS page cache while maintaining backward compatibility with CPU processes and unmodified GPU kernels; (2) improves CPU I/O performance by using data cached in GPU memory, and (3) optimizes the readahead prefetcher to support accesses to files cached in GPUs. We prototype GAIA in Linux and evaluate it on NVIDIA Pascal GPUs. We show up to 3× speedup in CPU file I/O and up to 8× in unmodified realistic workloads such as Gunrock GPU-accelerated graph processing, image collage, and microscopy image stitching.

Original languageEnglish
Title of host publicationProceedings of the 2019 USENIX Annual Technical Conference, USENIX ATC 2019
Pages661-674
Number of pages14
ISBN (Electronic)9781939133038
StatePublished - 2019
Event2019 USENIX Annual Technical Conference, USENIX ATC 2019 - Renton, United States
Duration: 10 Jul 201912 Jul 2019

Publication series

NameProceedings of the 2019 USENIX Annual Technical Conference, USENIX ATC 2019

Conference

Conference2019 USENIX Annual Technical Conference, USENIX ATC 2019
Country/TerritoryUnited States
CityRenton
Period10/07/1912/07/19

All Science Journal Classification (ASJC) codes

  • General Computer Science

Fingerprint

Dive into the research topics of 'Gaia: An OS page cache for heterogeneous systems'. Together they form a unique fingerprint.

Cite this