Belangrijkste concepten
Techniques for parallelizing large rigid body simulations to achieve scalability and load balancing.
Samenvatting
The content discusses a technique for parallelizing large rigid body simulations to exploit multiple CPU cores within a computer and across a network. It focuses on load balancing and scalability using overlapping sets of bodies for parallel computation. The method involves simulating interface bodies in multiple overlapping sets and blending their results to achieve a balanced workload distribution. The content also covers related work, system architecture, overlap algorithm, blending, weight computation, and dynamic load balancing.
Abstract
- Technique for parallelizing large rigid body simulations.
- Exploits multiple CPU cores within a computer and across a network.
- Focuses on load balancing and scalability using overlapping sets of bodies for parallel computation.
Introduction
- Convergence of mathematical models and computational power for physics-based animation.
- Emphasis on performance improvement using cloud computing technologies.
- Challenge of maintaining balanced workload distribution in chaotic simulations.
Related Work
- Treatment of constraint dynamics as mixed linear complementarity problems.
- Divide-and-conquer algorithm for systems with bilateral constraints.
- Methods for handling unilateral and bilateral constraints in stiff systems.
System Architecture
- Definitions of active bodies, static bodies, and generalized state of a rigid body.
- Splitting the system into workers for parallel computation.
- Main server's role in coordinating worker timesteps and state blending.
Overlap Algorithm
- Partitioning articulated bodies for parallel computation.
- Blending states of overlapping bodies to achieve load balancing.
- Procedure for calculating non-uniform weights based on graph geodesic distances.
Blending
- Weighted combination of position, linear velocity, and angular velocity for state blending.
- Naive quaternion averaging for rotation blending.
- Handling rotation artifacts in quaternion averaging.
Weight Computation
- Calculation of convex weights for influencing blended state.
- Use of graph geodesic distances to determine worker influence on body state.
- Procedure for computing non-uniform weights based on graph proximity.
Dynamic Load Balancing
- Handling inter-worker collisions by redistributing bodies to achieve load balance.
- Managing overlap collisions and bridge bodies to optimize workload distribution.
- Greedy heuristics for assigning bodies to workers based on load.
Statistieken
Our method demonstrates scalability with speedups of 4.10x for the Bowl scene, 3.27x for the Building scene, 5.37x for the Chain Net scene, 2.86x for the Four-way Bridge scene, and 5.03x for the Two-way Bridge scene.
Citaten
"Our method exploits overlapping sets of bodies for parallel computation."
"Our technique supports parallel simulation of both freely moving and articulated bodies."