equinor / ert

ERT - Ensemble based Reservoir Tool - is designed for running ensembles of dynamical models such as reservoir models, in order to do sensitivity analysis and data assimilation. ERT supports data assimilation using the Ensemble Smoother (ES), Ensemble Smoother with Multiple Data Assimilation (ES-MDA) and Iterative Ensemble Smoother (IES).
https://ert.readthedocs.io/en/latest/
GNU General Public License v3.0
101 stars 104 forks source link

Create a performance comparison between running JobQueue and Scheduler #6985

Closed xjules closed 7 months ago

xjules commented 8 months ago

This should include running the following experiments on rgs node(s):

JHolba commented 8 months ago

all tested with local driver. the RGS node had 6 cores.

bigpoly rgs 16m13s "ert es_mda --disable-scheduler bigpoly.ert" 15m31s "ert es_mda --enable-scheduler bigpoly.ert"

laptop ❯ hyperfine --prepare "rm -rf poly_out storage logs" "ert es_mda --enable-scheduler bigpoly.ert" "ert es_mda --disable-scheduler bigpoly.ert" Benchmark 1: ert es_mda --enable-scheduler bigpoly.ert Time (mean ± σ): 582.667 s ± 12.119 s [User: 3581.944 s, System: 1015.406 s] Range (min … max): 570.126 s … 607.157 s 10 runs

Benchmrak 2: ert es_mda --disable-scheduler bigpoly.ert Time (mean ± σ): 631.161 s ± 24.146 s [User: 3770.351 s, System: 1129.080 s] Range (min … max): 607.496 s … 670.939 s 10 runs

Summary ert es_mda --enable-scheduler bigpoly.ert ran 1.08 ± 0.05 times faster than ert es_mda --disable-scheduler bigpoly.ert

poly example rgs

disabled real 1m16.837s user 1m42.647s sys 0m42.980s

enabled real 1m7.036s user 1m17.980s sys 0m32.200s

laptop ❯ hyperfine --prepare "rm -rf poly_out storage logs" "ert es_mda --enable-scheduler poly.ert" "ert es_mda --disable-scheduler poly.ert" Benchmark 1: ert es_mda --enable-scheduler poly.ert Time (mean ± σ): 35.843 s ± 0.307 s [User: 132.677 s, System: 29.183 s] Range (min … max): 35.542 s … 36.639 s 10 runs

Benchmark 2: ert es_mda --disable-scheduler poly.ert Time (mean ± σ): 51.088 s ± 1.710 s [User: 170.195 s, System: 23.729 s] Range (min … max): 49.319 s … 54.804 s 10 runs

Summary ert es_mda --enable-scheduler poly.ert ran 1.43 ± 0.05 times faster than ert es_mda --disable-scheduler poly.ert

JHolba commented 8 months ago

drogon rgs 11m30s --enabled 12m4s --disabled

pinkwah commented 7 months ago

Closing as a successful performance comparison. Well done!