Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

DSD-NL 2019 Hoge resolutie rekenen door parallellisatie - Verkaik

572 views

Published on

Presentatie door Jarno Verkaik, Deltares, op de iMOD Gebruikersdag 2019, tijdens de Deltares Software Dagen - Editie 2019. Dinsdag, 18 juni 2019, Delft.

Published in: Software
  • Be the first to comment

  • Be the first to like this

DSD-NL 2019 Hoge resolutie rekenen door parallellisatie - Verkaik

  1. 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. 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
  3. 3. Gedistribueerd parallel rekenen MODFLOW 6 grid 4 weken rekentijd serieel rekenen parallel rekenen 1 week rekentijd 256 GB RAM 64 GB RAM 64 GB RAM 64 GB RAM 64 GB RAM MPI iMODGebruikersdag2019 3
  4. 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. 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. 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. 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. 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. 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
  10. 10. Globaal grondwatermodel 1 km Grondwaterstand Totaal 428M actieve cellen iMODGebruikersdag2019 10
  11. 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. 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

×