Object-Centric Parallel Rigid Body Simulation With Timewarp

We present an object-centric formulation for parallel rigid body simulation that supports variable length integration time steps through rollbacks. We combine our object-centric simulation framework with a novel spatiotemporal data structure to reduce global synchronization and achieve interactive, real-time simulations which scale across many CPU cores. Additionally, we provide proofs that both our proposed data structure and our object-centric formulation are deadlock-free. We implement our approach with the functional programming language Erlang, and test the performance and scalability of our method over several scenarios consisting of hundreds of interacting objects.

[1]  Doug L. James,et al.  Toward high-quality modal contact sound , 2011, ACM Trans. Graph..

[2]  Eitan Grinspun,et al.  Asynchronous contact mechanics , 2009, ACM Trans. Graph..

[3]  Eitan Grinspun,et al.  Speculative parallel asynchronous contact mechanics , 2012, ACM Trans. Graph..

[4]  Laurent Grisoni,et al.  Asynchronous Interactive Physical Simulation , 2004 .

[5]  Shun-Yun Hu,et al.  VON: a scalable peer-to-peer network for virtual environments , 2006, IEEE Network.

[6]  Jérémie Allard,et al.  Multi-GPU and Multi-CPU Parallelization for Interactive Physics Simulations , 2010, Euro-Par.

[7]  Sung-Eui Yoon,et al.  PCCD: parallel continuous collision detection , 2009, SIGGRAPH '09.

[8]  Jérémie Allard,et al.  Distributed Physical Based Simulations for Large VR Applications , 2006, IEEE Virtual Reality Conference (VR 2006).

[9]  Doug L. James,et al.  Toward high-quality modal contact sound , 2011, SIGGRAPH 2011.

[10]  Jaehyuk Huh,et al.  HPCCD: Hybrid Parallel Continuous Collision Detection using CPUs and GPUs , 2009, Comput. Graph. Forum.

[11]  François Faure,et al.  Interactive Physical Simulation on Multicore Architectures , 2009, EGPGV@Eurographics.

[12]  David Harmon,et al.  Asynchronous contact mechanics , 2009, SIGGRAPH 2009.

[13]  Dinesh Manocha,et al.  Collision-streams: fast GPU-based collision detection for deformable models , 2011, SI3D.

[14]  Wolfgang Straßer,et al.  Fast and Scalable CPU/GPU Collision Detection for Rigid and Deformable Surfaces , 2010, Comput. Graph. Forum.

[15]  Keshav Pingali,et al.  The tao of parallelism in algorithms , 2011, PLDI '11.

[16]  Brian Mirtich,et al.  Timewarp rigid body simulation , 2000, SIGGRAPH.

[17]  Robert H. Halstead,et al.  Lazy task creation: a technique for increasing the granularity of parallel programs , 1990, IEEE Trans. Parallel Distributed Syst..

[18]  Joe Armstrong,et al.  Concurrent programming in ERLANG , 1993 .

[19]  Richard Tonge,et al.  Mass splitting for jitter-free parallel rigid body simulation , 2012, ACM Trans. Graph..

[20]  Robert H. Halstead,et al.  Lazy task creation: a technique for increasing the granularity of parallel programs , 1990, LISP and Functional Programming.

[21]  David R. Jefferson,et al.  Virtual time , 1985, ICPP.

[22]  Wolfgang Straßer,et al.  Asynchronous Cloth Simulation , 2008 .

[23]  Arie Shoshani,et al.  System Deadlocks , 1971, CSUR.

[24]  Bernhard Thomaszewski,et al.  Parallel techniques for physically based simulation on multi-core processor architectures , 2008, Comput. Graph..

[25]  Bernhard Thomaszewski,et al.  CGForum 2008 Cover Image , 2008, Comput. Graph. Forum.