Graphics processing units (GPUs) have become a very
powerful platform embracing a concept of heterogeneous
many-core computing. However, application domains of GPUs
are currently limited to specific systems, largely due to a
lack of "first-class" GPU resource management for
general-purpose multi-tasking systems. We present Gdev, a new
ecosystem of GPU resource management in the operating system
(OS). It allows the user space as well as the OS itself to
use GPUs as first-class computing resources. Specifically,
Gdev’s virtual memory manager supports data
swapping for excessive memory resource demands, and also
provides a shared device memory functionality that allows
GPU contexts to communicate with other contexts. Gdev
further provides a GPU scheduling scheme to virtualize a
physical GPU into multiple logical GPUs, enhancing
isolation among working sets of multi-tasking systems. Our
evaluation conducted on Linux and the NVIDIA GPU shows
that the basic performance of our prototype implementation is
reliable even compared to proprietary software. Further
detailed experiments demonstrate that Gdev achieves a 2x
speedup for an encrypted file system using the GPU in the
OS. Gdev can also improve the makespan of dataflow programs
by up to 49\% exploiting shared device memory, while an error
in the utilization of virtualized GPUs can be limited within
only 7\%.
%0 Conference Paper
%1 kato_gdev:_2012
%A Kato, Shinpei
%A McThrow, Michael
%A Maltzahn, Carlos
%A Brandt, Scott
%B 4th USENIX Workshop on Hot Topics in Parallelism
%D 2012
%K gpu
%T Gdev: First-Class GPU Resource Management in the Operating System
%U http://hgpu.org/?p=7771
%V 12
%X Graphics processing units (GPUs) have become a very
powerful platform embracing a concept of heterogeneous
many-core computing. However, application domains of GPUs
are currently limited to specific systems, largely due to a
lack of "first-class" GPU resource management for
general-purpose multi-tasking systems. We present Gdev, a new
ecosystem of GPU resource management in the operating system
(OS). It allows the user space as well as the OS itself to
use GPUs as first-class computing resources. Specifically,
Gdev’s virtual memory manager supports data
swapping for excessive memory resource demands, and also
provides a shared device memory functionality that allows
GPU contexts to communicate with other contexts. Gdev
further provides a GPU scheduling scheme to virtualize a
physical GPU into multiple logical GPUs, enhancing
isolation among working sets of multi-tasking systems. Our
evaluation conducted on Linux and the NVIDIA GPU shows
that the basic performance of our prototype implementation is
reliable even compared to proprietary software. Further
detailed experiments demonstrate that Gdev achieves a 2x
speedup for an encrypted file system using the GPU in the
OS. Gdev can also improve the makespan of dataflow programs
by up to 49\% exploiting shared device memory, while an error
in the utilization of virtualized GPUs can be limited within
only 7\%.
@inproceedings{kato_gdev:_2012,
abstract = {Graphics processing units ({GPUs)} have become a very
powerful platform embracing a concept of heterogeneous
many-core computing. However, application domains of {GPUs}
are currently limited to specific systems, largely due to a
lack of "first-class" {GPU} resource management for
general-purpose multi-tasking systems. We present Gdev, a new
ecosystem of {GPU} resource management in the operating system
({OS).} It allows the user space as well as the {OS} itself to
use {GPUs} as first-class computing resources. Specifically,
Gdev{\textquoteright}s virtual memory manager supports data
swapping for excessive memory resource demands, and also
provides a shared device memory functionality that allows
{GPU} contexts to communicate with other contexts. Gdev
further provides a {GPU} scheduling scheme to virtualize a
physical {GPU} into multiple logical {GPUs}, enhancing
isolation among working sets of multi-tasking systems. Our
evaluation conducted on Linux and the {NVIDIA} {GPU} shows
that the basic performance of our prototype implementation is
reliable even compared to proprietary software. Further
detailed experiments demonstrate that Gdev achieves a 2x
speedup for an encrypted file system using the {GPU} in the
{OS.} Gdev can also improve the makespan of dataflow programs
by up to 49\% exploiting shared device memory, while an error
in the utilization of virtualized {GPUs} can be limited within
only 7\%.},
added-at = {2014-01-19T15:02:27.000+0100},
author = {Kato, Shinpei and {McThrow}, Michael and Maltzahn, Carlos and Brandt, Scott},
bdsk-url-1 = {http://hgpu.org/?p=7771},
biburl = {https://www.bibsonomy.org/bibtex/28b44cdc37e0f2e0b16231b32102757f7/neurokernel},
booktitle = {4th {USENIX} Workshop on Hot Topics in Parallelism},
interhash = {5dd2383cb32332a6178f15066bf1b7ec},
intrahash = {8b44cdc37e0f2e0b16231b32102757f7},
keywords = {gpu},
month = jun,
shorttitle = {Gdev},
timestamp = {2014-01-19T15:02:27.000+0100},
title = {Gdev: First-Class {GPU} Resource Management in the Operating System},
url = {http://hgpu.org/?p=7771},
urldate = {2012-08-14},
volume = 12,
year = 2012
}