An Architeture with Automatic Load Balancing for Real-Time Simulation and Visualization Systems

Nowadays, multithread hardware architectures like multi-core CPUs and GPUs found on PCs and game consoles (as Microsoft Xbox 360 and Sony Playstation 3) are a trend. Hence, real-time simulation and visualization systems, such as scientific visualization, games and virtual reality environments, will not get the best performance on such architectures running sequentially in a single-thread loop. For this reason, multithread real-time loop models that take advantage of such architectures are gaining importance. This paper presents a survey on loop models for games and real-time systems. Also it discusses the usage of simple loops with single-thread architecture and multithread loop architectures in scientific simulations and visualization systems. Furthermore, this paper presents a new architecture for real-time loops that can detect and analyze the user hardware in order to adapt itself to a specific loop model, achieving the best performance for a specific hardware and application.

[1]  AURA CONCI,et al.  Real Time Game Loop Models for Single-Player Computer Games , 2005 .

[2]  Craig W. Reynolds Flocks, herds, and schools: a distributed behavioral model , 1998 .

[3]  Daniel Sanchez-Crespo Dalmau,et al.  Core Techniques and Algorithms in Game Programming , 2003 .

[4]  Esteban Walter Gonzalez Clua,et al.  Automatic Dynamic Task Distribution between CPU and GPU for Real-Time Systems , 2008, 2008 11th IEEE International Conference on Computational Science and Engineering.

[5]  David England,et al.  Game Engineering for a Multiprocessor Architecture , 2005, DiGRA Conference.

[6]  Erik Millán,et al.  Fragment shaders for agent animation using finite state machines , 2005, Simul. Model. Pract. Theory.

[7]  J. Xu OpenCL – The Open Standard for Parallel Programming of Heterogeneous Systems , 2009 .

[8]  Aura Conci,et al.  The GPU Used as a Math Co-Processor in Real Time Applications , 2007 .

[9]  Roberto Ierusalimschy,et al.  Lua 5.1 Reference Manual , 2006 .

[10]  Jens H. Krüger,et al.  GPU basierte Verfahren zur interaktiven Simulation und Darstellung von Fluid-Effekten (A GPU Framework for Interactive Simulation and Rendering of Fluid Effects) , 2008, it Inf. Technol..

[11]  Ivan S Ufimtsev,et al.  Quantum Chemistry on Graphical Processing Units. 1. Strategies for Two-Electron Integral Evaluation. , 2008, Journal of chemical theory and computation.

[12]  Esteban Walter Gonzalez Clua,et al.  An adaptative game loop architecture with automatic distribution of tasks between CPU and GPU , 2010, CIE.

[13]  Andrew Kerr,et al.  GPU VSIPL : High-Performance VSIPL Implementation for GPUs , 2008 .

[14]  Aura Conci,et al.  A new physics engine with automatic process distribution between CPU-GPU , 2008, Sandbox '08.

[15]  Esteban Walter Gonzalez Clua,et al.  A game loop architecture for the GPU used as a math coprocessor in real-time applications , 2008, CIE.

[16]  Pradeep Dubey,et al.  Larrabee: A Many-Core x86 Architecture for Visual Computing , 2009, IEEE Micro.