PTask: Operating System Abstractions To Manage GPUs as Compute Devices
Microsoft Research
Proceedings of the 23rd ACM Symposium on Operating System Principles (SOSP), 2011
@inproceedings{rossbach2011ptask,
title={PTask: Operating System Abstractions To Manage GPUs as Compute Devices},
author={Rossbach, C.J. and Currey, J. and Silberstein, M. and Ray, B. and Witchel, E.},
booktitle={Proc. of the ACM Symposium on Operating Systems Principles},
year={2011}
}
We propose a new set of OS abstractions to support GPUs and other accelerator devices as first class computing resources. These new abstractions, collectively called the PTask API, support a data flow programming model. Because a PTask graph consists of OS-managed objects, the kernel has sufficient visibility and control to provide system-wide guarantees like fairness and performance isolation, and can streamline data movement in ways that are impossible under current GPU programming models. Our experience developing the PTask API, along with a gestural interface on Windows 7 and a FUSE-based encrypted file system on Linux show that the PTask API can provide important systemwide guarantees where there were previously none, and can enable significant performance improvements, for example gaining a 5x improvement in maximum throughput for the gestural interface.
October 2, 2011 by hgpu