Stream processing on GPUs using distributed multimedia middleware

Available GPUs provide increasingly more processing power especially for multimedia and digital signal processing. Despite the tremendous progress in hardware and thus processing power, there are and always will be applications that require using multiple GPUs either running inside the same machine or distributed in the network due to computationally intensive processing algorithms. Existing solutions for developing applications for GPUs still require a lot of hand‐optimization when using multiple GPUs inside the same machine and provide in general no or only limited support for using remote GPUs distributed in the network. In this paper we address this problem and show that an open distributed multimedia middleware, like the Network‐Integrated Multimedia Middleware (NMM), is able (1) to seamlessly integrate processing components using GPUs, while completely hiding GPU‐specific issues from the application developer, (2) to transparently combine processing components using GPUs or CPUs, and (3) to transparently use local and remote GPUs for distributed processing. Furthermore, we present a generic distribution framework to simplify the development of complex application scenarios. Copyright © 2010 John Wiley & Sons, Ltd.

[1]  Vincent M. Stanford,et al.  The NIST Data Flow System II: A standardized interface for distributed multimedia applications , 2008, 2008 International Symposium on a World of Wireless, Mobile and Multimedia Networks.

[2]  Steve Mann,et al.  OpenVIDIA: parallel GPU computer vision , 2005, ACM Multimedia.

[3]  R. Pajarola The Equalizer Parallel Rendering Framework , 2007 .

[4]  Philipp Slusallek,et al.  Parallel bindings in distributed multimedia systems , 2005, 25th IEEE International Conference on Distributed Computing Systems Workshops.

[5]  Gordon Stoll,et al.  WireGL: a scalable graphics system for clusters , 2001, SIGGRAPH.

[6]  Carsten Griwodz,et al.  Evaluation of multi-core scheduling mechanisms for heterogeneous processing architectures , 2008, NOSSDAV.

[7]  Renato Pajarola,et al.  Equalizer: a scalable parallel rendering framework , 2008, SIGGRAPH 2008.

[8]  Philipp Slusallek,et al.  Network-integrated multimedia middleware (NMM) , 2008, ACM Multimedia.

[9]  Philipp Slusallek,et al.  DRONE: A Flexible Framework for Distributed Rendering and Display , 2009, ISVC.

[10]  Wen-mei W. Hwu,et al.  CUDA-Lite: Reducing GPU Programming Complexity , 2008, LCPC.

[11]  Patrick Horain,et al.  GpuCV: an opensource GPU-accelerated framework forimage processing and computer vision , 2008, ACM Multimedia.

[12]  David P. Anderson,et al.  BOINC: a system for public-resource computing and storage , 2004, Fifth IEEE/ACM International Workshop on Grid Computing.

[13]  Greg Humphreys,et al.  Chromium: a stream-processing framework for interactive rendering on clusters , 2002, SIGGRAPH.

[14]  Calton Pu,et al.  Infopipes: An abstraction for multimedia streaming , 2002, Multimedia Systems.