Generalizing the Utility of GPUs in Large-Scale Heterogeneous Computing Systems
Department of Electrical and Computer Engineering, Virginia Tech, Blacksburg, Virginia 24061
PhD Forum at the 26th IEEE International Parallel and Distributed Processing Symposium (IPDPS), 2012
@article{xiao2012generalizing,
title={Generalizing the Utility of GPUs in Large-Scale Heterogeneous Computing Systems},
author={Xiao, S. and Feng, W.},
year={2012}
}
Graphics processing units (GPUs) have been widely used as accelerators in large-scale heterogeneous computing systems. However, current programming models can only support the utilization of local GPUs. When using non-local GPUs, programmers need to explicitly call API functions for data communication across computing nodes. As such, programming GPUs in large-scale computing systems is more challenging than local GPUs since local and remote GPUs have to be dealt with separately. In this work, we propose a virtual OpenCL (VOCL) framework to support the transparent virtualization of GPUs. This framework, based on the OpenCL programming model, exposes physical GPUs as decoupled virtual resources that can be transparently managed independent of the application execution. To reduce the virtualization overhead, we optimize the GPU memory accesses and kernel launches. We also extend the VOCL framework to support live task migration across physical GPUs to achieve load balance and/or quick system maintenance. Our experiment results indicate that VOCL can greatly simplify the task of programming cluster-based GPUs at a reasonable virtualization cost.
May 4, 2012 by hgpu