Presentatie door Jarno Verkaik, Deltares, op de iMOD Gebruikersdag 2019, tijdens de Deltares Software Dagen - Editie 2019. Dinsdag, 18 juni 2019, Delft.
DSD-NL 2021 Probabilistic Toolkit - Deel 2 - In de praktijk - Brinkman
DSD-NL 2019 Hoge resolutie rekenen door parallellisatie - Verkaik
1. i M O D G e b r u i k e r s d a g 2 0 1 9
Pitch MODFLOW 6 ervaringen
Hoge resolutie rekenen door parallellisatie
Jarno Verkaik (Deltares, afdeling grondwaterbeheer)
SURFSara Cartesius supercomputer
(47,776 cores, 130TB RAM)
2. Waarom gedistribueerd parallel rekenen?
• Hoge resolutie MODFLOW modellen kosten doorgaans veel rekentijd en werkgeheugen, die
grofweg lineair toenemen met het aantal rekencellen.
• Dit kan een groot probleem zijn voor de waterbeheerder omdat:
• Een run meerdere weken looptijd nodig kan hebben.
• Hierdoor gevoeligheidsanalyse/kalibratie praktisch gezien onmogelijk is.
• Deze lange runs een verhoogd risico lopen om te crashen door server hiccups.
• Een run zoveel werkgeheugen kan vereisen dat er simpelweg geen machines bestaan
waarop gerekend kan worden.
• Gedistribueerd parallel rekenen is een bewezen techniek om dit probleem op te lossen en
nauwkeurigheid te behouden.
iMODGebruikersdag2019
2
4. Projecten waarin parallel MODFLOW 6 wordt ontwikkeld
➢Opdracht USGS voor parallellisatie van MODFLOW 6 (start 2017)
I.s.m. Joe Hughes (USGS), Chris Langevin (USGS), Martijn Russcher (Deltares/DSC)
➢Promotieonderzoek (start 2018)
“Towards Exascale Computing for Large Scale Groundwater Simulation”
I.s.m. Prof. Marc Bierkens (UU), Prof. Hai Xiang Lin (TUD), Gu Oude Essink (Deltares)
Doel: ontwikkelen van gedistribueerde parallelle methoden om het efficiënt rekenen met
grondwatermodellen van O(106)–O(109) cellen mogelijk te maken
iMODGebruikersdag2019
4
5. Opdracht USGS
• Code ontwikkeling waarbij het framework wordt aangepast, m.n. de exchanges
• Parallellisatie van lineaire solver via Schwarz domein decompositie
(vergelijkbaar de Parallel Krylov Solver voor iMODFLOW en iMOD-WQ)
• Eisen/randvoorwaarden vanuit USGS:
• Parallellisatie van XT3D optie voor gridovergangen
• Generiek voor toekomstige USGS modellen, zoals GWT transport
• Minimale code aanpassingen
• Eenvoudig in het gebruik
• Toepasbaar voor USGS grondwatermodel V.S. (100m-250m)
• https://github.com/verkaik/modflow6-parallel.git
Ref. Verkaik, J., 2018. Parallellisatie van MODFLOW 6. Stromingen 32, 37–46.
iMODGebruikersdag2019
5
6. • Ontwikkeling mondiaal PCR-GLOBWB grondwatermodel
met 1km x 1km resolutie, O(108) cellen
• Eerste ervaringen opdoen met deze schaal op het gebied van:
• Fysisch gebaseerde submodel opdeling
• Model generatie (pre-processing)
• Parallel rekenen
• Visualisatie van modelresultaten
→ Big data!
Typisch raster: 43200 kolommen x 21600 rijen, 3 GB binair
Globaal grondwatermodel 1 km
Ref: Verkaik, J., Sutanudjaja, E.H., Oude Essink, G.H.P., Lin, H.X., and Bierkens, M.F.P., 2019. Parallel global hydrology and water resources
PCR-GLOBWB-MODFLOWmodel at hyper-resolution scale (1 km): first results, in: EGU General Assembly Conference Abstracts. p. 13397.
iMODGebruikersdag2019
6
7. MODFLOW 6 model karakteristieken:
• Stationair, 2 modellagen, ondergrond neergeschaald van 10km
• Unstructured DISU grid met alleen “land cellen”, totaal 428M
• CHD voor zee, RIV in modellaag 1 + DRN in modellaag 1 & 2 (HydroSHEDS)
Werkwijze:
1. PCR-GLOBWB Python pre-processing: aanmaken van mondiale invoer rasters
→ moest noodgedwongen parallel in 128 deelgebieden, max. 4h rekenen per deelgebied
2. Opdeling: aanmaken ontkoppelde gebieden en submodel geometrieën (FORTRAN)
3. Aanmaken MODFLOW 6 files met opdeling (FORTRAN)
4. Serieel alle submodellen draaien: checken op invoerfouten & schatten initiële head
5. Parallel + serieel draaien, resultaten samenvoegen, visualiseren
Globaal grondwatermodel 1 km
iMODGebruikersdag2019
7
8. Globaal grondwatermodel 1 km
Kunnen we met vooraf gedefinieerde grenzen (bv. hydrologisch / bestuursgrenzen) submodellen
bepalen die voor de modelleur zinnig zijn en efficiënt zijn voor parallel rekenen?
→ Hoe deel je de wereld op in 1024 submodellen gebruik makend van 1.8M stroomgebieden?
→ Sub-optimaal optimalisatie probleem voor bepaling van beste opdeling (load + edge cuts)
→ Lumped grafen methode + METIS bibliotheek
1. Bepalen van onafhankelijke gebieden
van grondwaterstroming (continenten, eilanden)
→ ~20k gebieden
2. Grote gebieden verder opdelen, grote
stroomgebieden opdelen, kleine gebieden
clusteren, etc.
iMODGebruikersdag2019
8
9. Globaal grondwatermodel 1 km
• Resultaat opdeling is 51 MODFLOW 6 modellen:
• 38 serieel, kleine eilanden
• 13 parallel, 3 grootste op supercomputer
• Theoretische onbalans 1.5 (ideaal 1)
428M
(2 lagen)
Klein parallel +
seriële modellen
2. Amerika
120M cellen
286 rekenkernen
1min 36sec
112GB DRAM
1. Afrika+EurAzië
256M cellen
612 rekenkernen
3min 31sec
390 GB DRAM
3. Australië
20M cellen
48 rekenkernen
33 sec
13 GB DRAM
5%
28%
60%
iMODGebruikersdag2019
9
11. Conclusies
• Parallellisatie van MODFLOW 6 vormt een belangrijke basis voor (langjarige)
samenwerking met de USGS.
• MODFLOW 6 is geschikt om parallel zeer grote modellen mee door te rekenen.
• De gehanteerde submodeling aanpak binnen MODFLOW 6 is zeer krachtig:
• Het rekenen met sterk gekoppelde submodellen kan met behoud van numerieke
nauwkeurigheid.
• Fout-controle kan per submodel afgehandeld worden.
• Deze aanpak leent zich op een natuurlijke manier voor parallel rekenen.
• DISU grids hebben de voorkeur voor irreguliere gebieden omdat inactieve
cellen niet hoeven worden meegenomen, wat veel data kan schelen.
iMODGebruikersdag2019
11
12. Conclusies
• Verder biedt submodeling voor de modelleur voordelen:
• De geometrieën van de submodellen kunnen de modelleur nuttige betekenis geven in het
beheer, bijvb. fysisch of bestuurlijk.
• Het updaten en verfijnen van het model kan op submodel niveau plaatsvinden, zolang de
connecties (exchanges) naar de naburige submodellen maar niet veranderen.
Dit is een goede stap in de richting van 1 landsdekkend model voor meerdere schalen!
Tot slot:
• Zeer hoge resolutie modellen vereisen op den duur parallelle pre- en post processing
• Zeer hoge resolutie modellen vereisen tailor-made tools die het uiterste vragen qua rekentijd en
geheugengebruik. Hierin blijft het direct gebruik van low-level FORTRAN/C++ onmisbaar.
iMODGebruikersdag2019
12