Multi-core strategies for particle methods
Williams, John R., Holmes, David, and Tilke, Peter (2010) Multi-core strategies for particle methods. In: Proceedings of the Fifth International Conference on Discrete Element Methods, pp. 11-17. From: Fifth International Conference on Discrete Element Methods, 25-26 August 2010, London, UK.
PDF (Published Version)
- Published Version
Restricted to Repository staff only
This paper discusses the implementation of particle based numerical methods on multi-core machines. In contrast to cluster computing, where memory is distributed across machines, multi-core machine can share memory across all cores. Here general strategies are developed for spatial management of particles and sub-domains that optimize computation on shared memory machines. In particular, we extend cell hashing so that cells bundle particles into orthogonal tasks that can be safely distributed across cores avoiding the use of "memory locks" while still protecting against race conditions. Adjusting task size provides for optimal load balancing and maximizing cache hits. Additionally, the way in which tasks are mapped to execution threads has a significant influence on the memory footprint and it is shown that minimizing memory usage is one of the most important factors in achieving execution speed and performance on multi-core. A novel algorithm called H-Dispatch is used to pipeline tasks to processing cores. The performance is demonstrated in speed-up and efficiency tests on a smooth particle hydrodynamics (SPH) flow simulator. An efficiency of over 90% is achieved on a 24-core machine.
|Item Type:||Conference Item (Non-Refereed Research Paper)|
|Date Deposited:||17 Oct 2011 03:32|
|FoR Codes:||09 ENGINEERING > 0915 Interdisciplinary Engineering > 091501 Computational Fluid Dynamics @ 5%
08 INFORMATION AND COMPUTING SCIENCES > 0805 Distributed Computing > 080599 Distributed Computing not elsewhere classified @ 70%
01 MATHEMATICAL SCIENCES > 0103 Numerical and Computational Mathematics > 010301 Numerical Analysis @ 25%
|SEO Codes:||97 EXPANDING KNOWLEDGE > 970109 Expanding Knowledge in Engineering @ 100%|