| Literature DB >> 33775151 |
D Groen1,2, H Arabnejad1, V Jancauskas3, W N Edeling4, F Jansson4,5, R A Richardson2,6, J Lakhlili7, L Veen6, B Bosak8, P Kopta8, D W Wright2, N Monnier9, P Karlshoefer9, D Suleimenova1, R Sinclair2, M Vassaux2, A Nikishova10, M Bieniek2, Onnie O Luk7, M Kulczewski8, E Raffin9, D Crommelin4,11, O Hoenen7, D P Coster7, T Piontek8, P V Coveney2,10.
Abstract
We present the VECMA toolkit (VECMAtk), a flexible software environment for single and multiscale simulations that introduces directly applicable and reusable procedures for verification, validation (V&V), sensitivity analysis (SA) and uncertainty quantication (UQ). It enables users to verify key aspects of their applications, systematically compare and validate the simulation outputs against observational or benchmark data, and run simulations conveniently on any platform from the desktop to current multi-petascale computers. In this sequel to our paper on VECMAtk which we presented last year [1] we focus on a range of functional and performance improvements that we have introduced, cover newly introduced components, and applications examples from seven different domains such as conflict modelling and environmental sciences. We also present several implemented patterns for UQ/SA and V&V, and guide the reader through one example concerning COVID-19 modelling in detail. This article is part of the theme issue 'Reliability and reproducibility in computational science: implementing verification, validation and uncertainty quantification in silico'.Entities:
Keywords: multiscale simulations; uncertainty quantification; validation; verification
Year: 2021 PMID: 33775151 PMCID: PMC8059654 DOI: 10.1098/rsta.2020.0221
Source DB: PubMed Journal: Philos Trans A Math Phys Eng Sci ISSN: 1364-503X Impact factor: 4.226
Figure 1Overview of the main components, and their role within the VECMA toolkit. (Online version in colour.)
Figure 2High-level overview of the FabSim3 architecture, showcasing a few of the key plugins, patterns and back-end functionalities available in the tool. Boxes in green (darker) are completed, while boxes in yellow (lighter) are working, but subject to further extensions and improvements. (Online version in colour.)
Figure 3QCG-Now with the embedded QCG-Monitoring view. The integration with QCG-Monitoring allows users to track progress of execution of applications in a graphical way, for example presenting dynamically updated tables, images or, as in this screenshot, charts. (Online version in colour.)
Figure 4‘Tube map’ showing which VECMAtk components are used in the various exemplar applications. VECMAtk components are given in boxes, and the application tutorials are indicated using coloured lines. Note that code using the EasyVVUQ [34] library may be located either on the local desktop for ease of use or on a remote HPC resource for improved performance. Source: https://www.vecma-toolkit.eu/toolkit/. (Online version in colour.)
Figure 5‘Tube map’ showing which VECMAtk components are used by the Fusion application. (Online version in colour.)
Figure 6Tube Map showing which VECMAtk components are used in the FabFlee plugin. VECMAtk components are given in boxes which enable users to include their added values while retaining a limited deployment footprint. The black and grey lines define the FabFlee path using VECMAtk components for execution. (Online version in colour.)
Figure 7A Tube Map showing the VECMA components used in the climate application. Here ‘FabUQCampaign’ is a plugin used to run an ensemble of EasyVVUQ samples on HPC resources. Furthermore, ‘ADE’ and ‘Ocean2D’ are two example applications (advection diffusion equation and a two-dimensional ocean model) for which tutorials can be found in [54]. (Online version in colour.)
Figure 8‘Tube map’ showing which VECMAtk components are used by the UrbanAir application. (Online version in colour.)
Figure 9Time required to submit 15121/4865 jobs with FabSim3 (with/without QCG-PJ) relative to the number of job submission threads used. Graph is made using average of 10 repetition of each ensemble size. Please note that, here we only measure the job submission overhead, so, queuing time and job execution on computing nodes are not considered in our test. (a) ensemble size = 15121, QCG-PilotJob = True, (b) ensemble size = 4865, QCG-PilotJob = False. (Online version in colour.)
Comparison of the three main ensemble job submission approaches in VECMA, in terms of general usability, whether files are staged to and from the remote resource as part of the approach, the need for remote deployment work and the overall performance.
| submission overhead | |||||
|---|---|---|---|---|---|
| approach | usability | remote file stage? | remote deployment? | per 100 jobs | per 1000 jobs |
| FabSim3 only | excellent | yes | not needed | 40–90 s | not attempted |
| FabSim3 + QCG-PJ | excellent | yes | user-space only | 33–36 s | 250–300 s |
| QCG-PJ only | good | no | user-space only | <5 s | 40 s |
The list of modifications and enhancements in the development of each VECMAtk component since the first annual release in June 2019.
| VECMAtk Component | list of improvements and changes in development |
|---|---|
| FabSim3 | added support for multi-threaded job management added automated installation and configuration of FabSim3 on different OS fixed synchronizing/copying for a large number of files and folders vastly improved the performance of revamped the documentation |
| EasyVVUQ | added support for vector-valued quantities of interest developed an extensive unit testing suite added support for Daska as an execution back-end improved sparse-grid Stochastic Collocation sampler dimension-adaptive Stochastic Collocation sampler |
| QCG Pilot Job | developed the node agent for more efficient launching of jobs across many nodes added more optimal way of handling iterative jobs increased the test base and test code coverage simplified execution of bash scripts as Pilot Job’s tasks bugfixes for execution of multi-node Pilot Jobs and OMP jobs |
| MUSCLE3 | newly added; contributed by the e-MUSC project submodel coupling for spatial and/or temporal scale separation submodel instance sets and ensembles messages may contain grids, lists, dictionaries and basic types support for Python, C++, Fortran and MPI, with tutorials and API documentation automatic building of its dependencies on a variety of platforms |
| EasyVVUQ-QCGPilotJob | provided a new API that simplifies the execution of EasyVVUQ scenarios using the QCG Pilot Job system introduced a new mechanism to support custom encoders usage made available a detailed tutorial that can be helpful for new users |
| QCG-Now | developed an internal view for monitoring of applications (integration with QCG-Monitoring) provided quick-template functionality for frequently submitted tasks |
aSee https://dask.org.
Defining parameter space for the uncertain parameters of the Flu And Coronavirus Simulations (FACS).
| parameters | type | default value | uniform range |
|---|---|---|---|
| infection rate | float | 0.07 | (0.0035, 0.14) |
| mortality period | float | 8.0 | (4.0, 16.0) |
| recovery period | float | 8.0 | (4.0, 16.0) |
| mild recovery period | float | 8.05 | (4.5, 12.5) |
| incubation period | float | 3.0 | (2.0, 6.0) |
| period to hospitalization | float | 12.0 | (8.0, 16.0) |