Abstract
This paper presents a resource selection system for exploiting graphics processing units (GPUs) as general-purpose computational resources in desktop Grid environments. Our system allows Grid users to share remote GPUs, which are traditionally dedicated to local users who directly see the display output. The key contribution of the paper is to develop this novel system for non-dedicated environments. We first show criteria for defining idle GPUs from the Grid users’ point of view. Based on these criteria, our system uses a screensaver approach with some sensors that detect idle resources at a low overhead. The idea for this lower overhead is to avoid GPU intervention during resource monitoring. Detected idle GPUs are then selected according to a matchmaking service, making the system adaptive to the rapid advance of GPU architecture. Though the system itself is not yet interoperable with current desktop Grid systems, our idea can be applied to screensaver-based systems such as BOINC. We evaluate the system using Windows PCs with three generations of nVIDIA GPUs. The experimental results show that our system achieves a low overhead of at most 267 ms, minimizing interference to local users while maximizing the performance delivered to Grid users. Some case studies are also performed in an office environment to demonstrate the effectiveness of the system in terms of the amount of detected idle time.
Similar content being viewed by others
References
Akenine-Möller, T., Haines, E. (eds.): Real-Time Rendering, 2nd edn. Morgan Kaufmann, San Mateo, CA (2002)
Anderson, D.P.: BOINC: A system for public-resource computing and storage. In: Proc. 5th IEEE/ACM Int’l Conf. Grid Computing (GRID’04), Pittsburgh, 8 November 2004, pp. 4–10
Blythe, D.: Windows graphics overview. In: Windows Hardware Engineering Conf (WinHEC’05). http://www.microsoft.com/whdc/winhec/Pres05.mspx (2005)
Buck, I., Fatahalian, K., Hanrahan, P.: GPUBench: Evaluating GPU performance for numerical and scientific applications. In: Proc. 1st ACM Workshop General-Purpose Computing on Graphics Processors (GP2’04), Wilshire Grand Hotel, Los Angeles, 2004 August 7–8, p. C–20
Cappello, F., Djilali, S., Fedak, G., Herault, T., Magniette, F., Néri, V., Lodygensky, O.: Computing on large-scale distributed systems: XtremWeb architecture, programming models, security, tests and convergence with Grid. Future Gener. Comput. Syst. 21(3), 417–437 (2005)
Chien, A., Calder, B., Elbert, S., Bhatia, K.: Entropia: architecture and performance of an enterprise desktop Grid system. J. Parallel Distrib. Comput. 63(5), 597–610 (2003)
nVIDIA Corporation: NVPerfKit 2.1 User Guide. http://developer.nvidia.com/object/nvperfkit_home.html (2006)
Corrigan, A.: Implementation of conjugate gradients (CG) on programmable graphics hardware (GPU). http://www.cs.stevens.edu/~quynh/student-work/acorrigan_gpu.htm (2005)
Fan, Z., Qiu, F., Kaufman, A., Yoakum-Stover, S.: GPU cluster for high performance computing. In: Proc. Int’l Conf. High Performance Computing, Networking and Storage (SC’04), Pittsburgh, November 2004
Fernando, R. (ed.): GPU Gems: Programming Techniques, Tips and Tricks for Real-Time Graphics. Addison-Wesley, Reading, MA (2004)
Foster, I., Kesselman, C. (eds.): The Grid: Blueprint of a New Computing Infrastructure. Morgan Kaufmann, San Mateo, CA (1998)
Futuremark Corporation: Products. http://www.futuremark.com/products/3dmark06/ (2006)
Galoppo, N., Govindaraju, N.K., Henson, M., Manocha, D.: LU-GPU: Efficient algorithms for solving dense linear systems on graphics hardware. In: Proc. Int’l Conf. High Performance Computing, Networking, Storage and Analysis (SC’05), p. 12. (CD-ROM) (2005)
GPGPU: General-Purpose Computation Using Graphics Hardware. http://www.gpgpu.org/ (2007)
Grimstead, I.J., Avis, N.J., Walker, D.W.: Automatic distribution of rendering workloads in a Grid enabled collaborative visualization environment. In: Proc. Int’l Conf. High Performance Computing, Networking and Storage (SC’04), p. 10. (CD-ROM) (2004)
Ino, F., Gomita, J., Kawasaki, Y., Hagihara, K.: A GPGPU approach for accelerating 2-D/3-D rigid registration of medical images. In: Proc. 4th Int’l Symp. Parallel and Distributed Processing and Applications (ISPA’06), Sorrento, 4–7 December 2006, pp. 769–780
Ino, F., Matsui, M., Hagihara, K.: Performance study of LU decomposition on the programmable GPU. In: Proc. 12th Int’l Conf. High Performance Computing (HiPC’05), Goa, 18–21 December 2005, pp. 83–94
Jankun-Kelly, T., Kreylos, O., Ma, K.L., Hamann, B., Joy, K.I., Shalf, J., Bethel, E.W.: Deploying web-based visual exploration tools on the Grid. IEEE Comput. Graph. Appl. 23(2), 40–50 (2003)
Kotani, Y., Ino, F., Hagihara, K.: A resource selection method for cycle stealing in the GPU Grid. In: Proc. 4th Int’l Symp. Parallel and Distributed Processing and Applications Workshops (ISPA’06 Workshops), Sorrento, 1–4 December 2006, pp. 939–950
Litzkow, M.J., Livny, M., Mutka, M.W.: Condor - a hunter of idle workstations. In: Proc. 8th Int’l Conf. Distributed Computing Systems (ICDCS’88), San Jose, June 1988, pp. 104–111
Luebke, D., Humphreys, G.: How GPUs work. Computer 40(2), 96–100 (2007)
Microsoft Corporation: DirectX. http://www.microsoft.com/directx/ (2007)
Montrym, J., Moreton, H.: The GeForce 6800. IEEE Micro 25(2), 41–51 (2005)
Owens, J.D., Luebke, D., Govindaraju, N., Harris, M., Krüger, J., Lefohn, A.E., Purcell, T.J.: A survey of general-purpose computation on graphics hardware. Comput. Graph. Forum 26(1), 80–113 (2007)
Pharr, M., Fernando, R. (eds.): GPU Gems 2: Programming Techniques for High-Performance Graphics and General-Purpose Computation. Addison-Wesley, Reading, MA (2005)
Pronovost, S., Moreton, H., Kelley, T.: Windows dis play driver model (WDDM) v2 and beyond. In: Windows Hardware Engineering Conf. (WinHEC’06). http://www.microsoft.com/whdc/winhec/Pres06.mspx (2006)
Raman, R., Livny, M., Solomon, M.: Matchmaking: An extensible framework for distributed resource management. Cluster Comput. 2(2), 129–138 (1999)
Shreiner, D., Woo, M., Neider, J., Davis, T.: OpenGL Programming Guide, 5th edn. Addison-Wesley, Reading, MA (2005)
Sullivan, W.T., Werthimer, D., Bowyer, S., Cobb, J., Gedye, D., Anderson, D.: A new major SETI project based on project serendip data and 100,000 personal computers. In: Proc. 5th Int’l Conf. Bioastronomy, Capri, 1–5 July 1997, p. 729
Takizawa, H., Kobayashi, H.: Hierarchical parallel processing of large scale data clustering on a PC cluster with GPU co-processing. J. Supercomput. 36(3), 219–234 (2006)
The Folding@Home Project: Folding@home distributed computing. http://folding.stanford.edu/ (2007)
The LAME Project: LAME MP3 Encoder. http://lame.sourceforge.net/ (2007)
Yamagiwa, S., Sousa, L.: Design and implementation of a stream-based distributed computing platform using graphics processing units. In: Proc. 4th Int’l Conf. Computing Frontiers (CF’07), Ischia, 2007, pp. 197–204
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Kotani, Y., Ino, F. & Hagihara, K. A Resource Selection System for Cycle Stealing in GPU Grids. J Grid Computing 6, 399–416 (2008). https://doi.org/10.1007/s10723-008-9099-7
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10723-008-9099-7