GPUfs: Integrating a File System with GPUs

Mark Silberstein, Bryan Ford, Idit Keidar, Emmett Witchel

Research output: Contribution to journalArticlepeer-review

Abstract

AsGPUhardware becomes increasingly general-purpose, it is quickly outgrowing the traditional, constrained GPU-as-coprocessor programming model. This article advocates for extending standard operating system services and abstractions to GPUs in order to facilitate program development and enable harmonious integration of GPUs in computing systems. As an example, we describe the design and implementation of GPUfs, a software layer which provides operating system support for accessing host files directly from GPU programs. GPUfs provides a POSIX-like API, 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.

Original languageEnglish
Article number2553081
JournalACM Transactions on Computer Systems
Volume32
Issue number1
DOIs
StatePublished - Feb 2014

Keywords

  • Accelerators
  • File systems
  • GPGPUs
  • Operating systems
  • Operating systems design

All Science Journal Classification (ASJC) codes

  • General Computer Science

Fingerprint

Dive into the research topics of 'GPUfs: Integrating a File System with GPUs'. Together they form a unique fingerprint.

Cite this