Volume 4 (2014) Issue 2 Pages 236-250
The emergence of compute unified device architecture (CUDA), which has relieved application developers from having to understand complex graphics pipelines, has made the graphics processing unit (GPU) useful not only for graphics applications but also for general applications. In this paper, we present a cycle sharing system named GPU grid, which exploits idle GPU cycles to accelerate scientific applications. Our cycle sharing system implements a cooperative multitasking technique, which is useful for remotely executing a guest application on a donated host machine without causing a significant slowdown on the host. In addition, our system estimates whether a GPU is busy, partially idle, or fully idle, to accordingly maximize guest application throughput. Experimental results show that our system not only avoids frame rate degradation but also achieves a 91\% higher guest application throughput in comparison to a previous system that estimates GPU load by monitoring mouse and keyboard activities.