GPUfs: Integrating a File System with GPUs
Mark Silberstein
University of Texas at Austin
| Bryan Ford
Yale University
|
Idit Keidar
Technion – Israel Institute of Technology
| Emmett Witchel
University of Texas at Austin
|
18th International Conference on Architectural Support for
Programming Languages and Operating Systems
(ASPLOS 2013)
March 16-20, 2013, Houston, TX
Abstract
As GPU hardware becomes increasingly general-purpose, it is quickly outgrowing
the traditional, constrained GPU-as-coprocessor programming model. To make
GPUs easier to program and improve their integration with operating systems, we
propose making the host’s file system directly accessible to GPU code. GPUfs
provides a POSIX-like API for GPU programs, exploits GPU parallelism for
efficiency, and optimizes GPU file access by extending the host CPU’s buffer
cache into GPU memory. Our experiments, based on a set of real benchmarks
adapted to use our file system, demonstrate the feasibility and benefits of the
GPUfs approach. For example, a self-contained GPU program that searches for a
set of strings throughout the Linux kernel source tree runs over seven times
faster than on an eight-core CPU.
Full Journal Paper:
PDF
Conference Paper:
PDF
Funding
This research was supported in part by
the National Science Foundation under grants
CNS-1017785 and
CNS-1017206,
by the Andrew and Erna Finci Viterbi Fellowship,
and by a 2010 NVIDIA research award.