Journal of Grid Computing

, Volume 6, Issue 4, pp 399–416 | Cite as

A Resource Selection System for Cycle Stealing in GPU Grids



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.


Cycle stealing Desktop Grid Graphics processing unit Resource monitoring Resource selection 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Akenine-Möller, T., Haines, E. (eds.): Real-Time Rendering, 2nd edn. Morgan Kaufmann, San Mateo, CA (2002)Google Scholar
  2. 2.
    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–10Google Scholar
  3. 3.
    Blythe, D.: Windows graphics overview. In: Windows Hardware Engineering Conf (WinHEC’05). (2005)
  4. 4.
    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–20Google Scholar
  5. 5.
    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)CrossRefGoogle Scholar
  6. 6.
    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)CrossRefGoogle Scholar
  7. 7.
    nVIDIA Corporation: NVPerfKit 2.1 User Guide. (2006)
  8. 8.
    Corrigan, A.: Implementation of conjugate gradients (CG) on programmable graphics hardware (GPU). (2005)
  9. 9.
    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 2004Google Scholar
  10. 10.
    Fernando, R. (ed.): GPU Gems: Programming Techniques, Tips and Tricks for Real-Time Graphics. Addison-Wesley, Reading, MA (2004)Google Scholar
  11. 11.
    Foster, I., Kesselman, C. (eds.): The Grid: Blueprint of a New Computing Infrastructure. Morgan Kaufmann, San Mateo, CA (1998)Google Scholar
  12. 12.
    Futuremark Corporation: Products. (2006)
  13. 13.
    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)Google Scholar
  14. 14.
    GPGPU: General-Purpose Computation Using Graphics Hardware. (2007)
  15. 15.
    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)Google Scholar
  16. 16.
    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–780Google Scholar
  17. 17.
    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–94Google Scholar
  18. 18.
    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)CrossRefGoogle Scholar
  19. 19.
    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–950Google Scholar
  20. 20.
    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–111Google Scholar
  21. 21.
    Luebke, D., Humphreys, G.: How GPUs work. Computer 40(2), 96–100 (2007)CrossRefGoogle Scholar
  22. 22.
    Microsoft Corporation: DirectX. (2007)
  23. 23.
    Montrym, J., Moreton, H.: The GeForce 6800. IEEE Micro 25(2), 41–51 (2005)CrossRefGoogle Scholar
  24. 24.
    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)CrossRefGoogle Scholar
  25. 25.
    Pharr, M., Fernando, R. (eds.): GPU Gems 2: Programming Techniques for High-Performance Graphics and General-Purpose Computation. Addison-Wesley, Reading, MA (2005)Google Scholar
  26. 26.
    Pronovost, S., Moreton, H., Kelley, T.: Windows dis play driver model (WDDM) v2 and beyond. In: Windows Hardware Engineering Conf. (WinHEC’06). (2006)
  27. 27.
    Raman, R., Livny, M., Solomon, M.: Matchmaking: An extensible framework for distributed resource management. Cluster Comput. 2(2), 129–138 (1999)CrossRefGoogle Scholar
  28. 28.
    Shreiner, D., Woo, M., Neider, J., Davis, T.: OpenGL Programming Guide, 5th edn. Addison-Wesley, Reading, MA (2005)Google Scholar
  29. 29.
    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. 729Google Scholar
  30. 30.
    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)CrossRefGoogle Scholar
  31. 31.
    The Folding@Home Project: Folding@home distributed computing. (2007)
  32. 32.
    The LAME Project: LAME MP3 Encoder. (2007)
  33. 33.
    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–204Google Scholar

Copyright information

© Springer Science+Business Media B.V. 2008

Authors and Affiliations

  1. 1.Graduate School of Information Science and TechnologyOsaka UniversityToyonakaJapan

Personalised recommendations