A massively parallel implementation of multilevel Monte Carlo for finite element models

The Multilevel Monte Carlo (MLMC) method has proven to be an effective variance-reduction statistical method for Uncertainty Quantification (UQ) in Partial Differential Equation (PDE) models, combining model computations at different levels to create an accurate estimate. Still, the computational co...

Descripción completa

Detalles Bibliográficos
Autores: Badia, Santiago|||0000-0003-2391-4086, Hampton, Jerrad, Principe, Ricardo Javier|||0000-0002-1478-2651
Tipo de recurso: artículo
Fecha de publicación:2023
País:España
Institución:Universitat Politècnica de Catalunya (UPC)
Repositorio:UPCommons. Portal del coneixement obert de la UPC
Idioma:inglés
OAI Identifier:oai:upcommons.upc.edu:2117/394232
Acceso en línea:https://hdl.handle.net/2117/394232
https://dx.doi.org/10.1016/j.matcom.2023.05.018
Access Level:acceso abierto
Palabra clave:Finite element method
Multilevel Monte Carlo
Uncertainty quantification
Geometric uncertainty
Stochastic partial differential equations
Computational statistics
Parallel programming
Elements finits, Mètode dels
Àrees temàtiques de la UPC::Matemàtiques i estadística::Matemàtica aplicada a les ciències
Descripción
Sumario:The Multilevel Monte Carlo (MLMC) method has proven to be an effective variance-reduction statistical method for Uncertainty Quantification (UQ) in Partial Differential Equation (PDE) models, combining model computations at different levels to create an accurate estimate. Still, the computational complexity of the resulting method is extremely high, particularly for 3D models, which requires advanced algorithms for the efficient exploitation of High Performance Computing (HPC). In this article we present a new implementation of the MLMC in massively parallel computer architectures, exploiting parallelism within and between each level of the hierarchy. The numerical approximation of the PDE is performed using the finite element method but the algorithm is quite general and could be applied to other discretization methods. The two key ingredients of the implementation are a good processor partition scheme together with a good scheduling algorithm to assign work to different processors. We introduce a multiple partition of the set of processors that permits the simultaneous execution of different levels and we develop a dynamic scheduling algorithm to exploit it. The problem of finding the optimal scheduling of distributed tasks in a parallel computer is an NP-complete problem. We propose and analyze a new greedy scheduling algorithm to assign samples and we show that it is a 2-approximation, which is the best that may be expected under general assumptions. On top of this result we design a distributed memory implementation using the Message Passing Interface (MPI) standard. Finally we present a set of numerical experiments illustrating its scalability properties.