using decentralization and anticipation to reach this
goal. We showed how collision handling can be per-
formed in a distributed way among several processes,
without constant clock synchronization between pro-
cesses. We proposed a novel rollback algorithm to
improve the efficiency of anticipative computation.
We showed that there is potential for load bal-
ancing in SODA. We showed the limitations of our
broad-grained approach, with synchronizations still
too frequent for proper distributed computation with-
out a significant number of concurrent worlds, which
we will have to address by finding finer-grained task
decompositions. Finally, we evaluated in a case study
the expected ability of anticipation to mitigate frame-
rate drop-downs that may harm user experience.
In the future, we intend to develop specific con-
straint solvers for distributed contexts, in order to im-
prove rollback and to solve constraints in parallel with
least communication between two cores. We also
want to integrate the motion of objects into load bal-
ancing decisions, and to use the static environment for
initial territory setup. Finally, we want to explore the
efficiency of SODA for specific applications such as
indoor crowd simulation or complex factory environ-
ment simulations, with predictable flows of motions.
ACKNOWLEDGEMENTS
We address our thanks to Bruno Arnaldi and the
anonymous reviewers for their feedback, Alexan-
dra Covaci for her help in processing experiments
data and Loeiz Glondu for our insightful discussions
on linear constraint solvers. This work was partly
supported by the French Research National Agency
project named Corvette (ANR-10-CONTINT-CORD-
012).
REFERENCES
Asanovic, K., Bodik, R., Catanzaro, B. C., Gebis, J. J.,
Husbands, P., Keutzer, K., Patterson, D. A., Plishker,
W. L., Shalf, J., Williams, S. W., and Yelick, K. A.
(2006). The landscape of parallel computing research:
A view from berkeley. Technical Report UCB/EECS-
2006-183, EECS University of California, Berkeley.
Chen, T. C. L. and Verbrugge, C. (2010). A protocol for
distributed collision detection. In Proceedings of the
9th Annual Workshop on Network and Systems Sup-
port for Games, NetGames ’10, pages 6:1–6:6. IEEE
Press.
Cosenza, B. (2010). Efficient distributed load balancing for
parallel algorithms. PhD thesis, Universita degli studi
di Salerno.
Ericson, C. (2005). Real-time Collision Detection. Morgan
Kaufmann.
Fujimoto, R. (1999). Parallel and distributed simulation.
In Simulation Conference Proceedings, 1999 Winter,
volume 1, pages 122 –131 vol.1.
Hermann, E., Raffin, B., and Faure, F. (2009). Interac-
tive physical simulation on multicore architectures. In
EGPGV, pages 1–8. Eurographics Association.
Hermann, E., Raffin, B., Faure, F., Gautier, T., and Allard,
J. (2010). Multi-GPU and multi-CPU parallelization
for interactive physics simulations. Europar.
Kim, D., Heo, J.-P., and eui Yoon, S. (2008). Pccd: Parallel
continuous collision detection. Technical report, Dept.
of CS, KAIST.
Kim, D., Heo, J.-P., Huh, J., Kim, J., and Yoon, S.-E.
(2009). HPCCD: Hybrid parallel continuous collision
detection using CPUs and GPUs. Comput. Graph. Fo-
rum, 28(7):1791–1800.
Le Grand, S. (2007). Broad-phase collision detection with
cuda. GPU Gems 3 - Nvidia Corporation.
Li, R., Jiang, H., Su, H.-C., Zhang, B., and Jenness, J.
(2007). Speculative and distributed simulation of
many-particle collision systems. In 13th International
Conference on Parallel and Distributed Systems, IC-
PADS ’07, pages 1–8.
Lin, M. C. and Gottschalk, S. (1998). Collision detection
between geometric models: a survey. In 8th IMA Con-
ference on the Mathematics of Surfaces (IMA-98), vol-
ume VIII of Mathematics of Surfaces, pages 37–56.
Miller, S. and Luding, S. (2004). Event-driven molecular
dynamics in parallel. J. Comput. Phys., 193(1):306–
316.
Morgan, G. and Storey, K. (2005). Scalable collision de-
tection for massively multiplayer online games. In
Proceedings of the 19th International Conference on
Advanced Information Networking and Applications -
Volume 1, AINA ’05, pages 873–878. IEEE Computer
Society.
Pabst, S., Koch, A., and Straβer, W. (2010). Fast and
scalable cpu/gpu collision detection for rigid and de-
formable surfaces. In Comput. Graph. Forum, vol-
ume 29, pages 1605–1612.
Raffin, B. and Soares, L. (2006). Pc clusters for virtual real-
ity. In Proceedings of the IEEE conference on Virtual
Reality, VR ’06, pages 215–222.
Tang, M., Manocha, D., and Tong, R. (2009). Multi-core
collision detection between deformable models. In
Symposium on Solid and Physical Modeling, pages
355–360.
Thomaszewski, B., Pabst, S., and Blochinger, W. (2008).
Parallel techniques for physically based simulation
on multi-core processor architectures. Computers &
Graphics, 32(1):25–40.
Tonge, R., Benevolenski, F., and Voroshilov, A. (2012).
Mass splitting for jitter-free parallel rigid body sim-
ulation. ACM Trans. Graph., 31(4):105:1–105:8.
GRAPP2013-InternationalConferenceonComputerGraphicsTheoryandApplications
346