{'fraction_non_alphanumeric': 0.014559386973180077, 'fraction_numerical': 0.0007662835249042146, 'mean_word_length': 5.3707317073170735, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Synchronization-Free Parallel Collision Detection Pipeline

We present a first parallel and adaptive collision detection pipeline running on a multi-core architecture. This pipeline integrates a first global synchronization-free parallelization of its major steps and enables to dynamically adapt the parallelism repartition during the simulation. We propose to break the sequentiality of the pipeline by simultaneously executing the two main phases (broad and narrow). We introduce and use a new buffer structure to share objects pairs between threads. To fully exploit multi-core performance, we propose a new dynamic load balancing technique to distribute threads among phases of the pipeline. This dynamic threads balancing acts on the broad and narrow phases in relation to their computation time. This technique favors the longest phase by giving it more CPU threads to run in parallel. Results show that this new generation of parallel pipeline enables to adapt computations to the simulation scenario evolution and to the run-time architecture. We tested our solution on a 8*cores architecture and performance measurements show that this first parallel pipeline is well-suited for the collision detection problem and enables to significantly reduce computation time compared to the sequential one.