Runtime Mechanisms to Survive New HPC Architectures: A Use-Case in Human Respiratory Simulations

Computational Fluid and Particle Dynamics (CFPD) simulations are of paramount importance for studying and improving drug effectiveness. Computational requirements of CFPD codes demand high-performance computing (HPC) resources. For these reasons we introduce and evaluate in this paper system softwar...

Descripción completa

Detalles Bibliográficos
Autores: Garcia-Gasulla, Marta, Mantovani, Filippo|||0000-0003-3559-4825, Josep-Fabrego, Marc, Eguzkitza, Beatriz|||0000-0002-3302-6667, Houzeaux, Guillaume|||0000-0002-2592-1426
Tipo de recurso: artículo
Fecha de publicación:2019
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/131825
Acceso en línea:https://hdl.handle.net/2117/131825
https://dx.doi.org/10.1177/1094342019842919
Access Level:acceso abierto
Palabra clave:High performance computing
Computational Fluid and Particle Dynamics (CFPD)
High Performance Computing
Supercomputadors
Àrees temàtiques de la UPC::Informàtica
Descripción
Sumario:Computational Fluid and Particle Dynamics (CFPD) simulations are of paramount importance for studying and improving drug effectiveness. Computational requirements of CFPD codes demand high-performance computing (HPC) resources. For these reasons we introduce and evaluate in this paper system software techniques for improving performance and tolerate load imbalance on a state-of-the-art production CFPD code. We demonstrate benefits of these techniques on Intel-, IBM-, and Arm-based HPC technologies ranked in the Top500 supercomputers, showing the importance of using mechanisms applied at runtime to improve the performance independently of the underlying architecture. We run a real CFPD simulation of particle tracking on the human respiratory system, showing performance improvements of up to 2x, across different architectures, while applying runtime techniques and keeping constant the computational resources.