
ANumerical Uncertainty in Parallel Processing Using Computational Fluid Dynamics as Example
Author(s) -
Mark Po-Hung Lin,
Periklis Papadopoulos
Publication year - 2021
Publication title -
athens journal of technology and engineering
Language(s) - English
Resource type - Journals
eISSN - 2407-9995
pISSN - 2241-8237
DOI - 10.30958/ajte.8-2-3
Subject(s) - computer science , computational fluid dynamics , computation , aerodynamics , interface (matter) , software , computational resource , message passing interface , parallel computing , computational complexity theory , algorithm , computational science , message passing , physics , bubble , maximum bubble pressure method , mechanics , engineering , programming language , aerospace engineering
Computational methods such as Computational Fluid Dynamics (CFD) traditionally yield a single output – a single number that is much like the result one would get if one were to perform a theoretical hand calculation. However, this paper will show that computation methods have inherent uncertainty which can also be reported statistically. In numerical computation, because many factors affect the data collected, the data can be quoted in terms of standard deviations (error bars) along with a mean value to make data comparison meaningful. In cases where two data sets are obscured by uncertainty, the two data sets are said to be indistinguishable. A sample CFD problem pertaining to external aerodynamics is copied and ran on 29 identical computers in a university computer lab. The expectation is that all 29 runs should return exactly the same result; unfortunately, in a few cases the result turns out to be different. This is attributed to the parallelization scheme which partitions the mesh to run in parallel on multiple cores of the computer. The distribution of the computational load is hardware-driven depending on the available resource of each computer at the time. Things, such as load-balancing among multiple Central Processing Unit (CPU) cores using Message Passing Interface (MPI) are transparent to the user. Software algorithm such as METIS or JOSTLE is used to automatically divide up the load between different processors. As such, the user has no control over the outcome of the CFD calculation even when the same problem is computed. Because of this, numerical uncertainty arises from parallel (multicore) computing. One way to resolve this issue is to compute problems using a single core, without mesh repartitioning. However, as this paper demonstrates even this is not straight forward. Keywords: numerical uncertainty, parallelization, load-balancing, automotive aerodynamics