DARMA-tasking / LB-analysis-framework

Analysis framework for exploring, testing, and comparing load balancing strategies
Other
3 stars 1 forks source link

#314: allow for modification of block sharing properties during transfers #315

Closed ppebay closed 1 year ago

ppebay commented 1 year ago

Related to #314

ppebay commented 1 year ago

When load-balancing the "toy memory problem":

output_file_00

[lbsStatistics] Descriptive statistics of initial rank loads:
[lbsStatistics]     cardinality: 4  sum: 350  imbalance: 1.17143
[lbsStatistics]     minimum: 20  mean: 87.5  maximum: 190

in 4 iterations leading to:

output_file_04

[lbsStatistics] Descriptive statistics of final rank loads:
[lbsStatistics]     cardinality: 4  sum: 350  imbalance: 0.0857143
[lbsStatistics]     minimum: 80  mean: 87.5  maximum: 95

we see that the shared memory properties went from a perfectly balanced situation:

[lbsStatistics] Descriptive statistics of final rank shared memory:
[lbsStatistics]     cardinality: 4  sum: 1.92e+10  imbalance: 0
[lbsStatistics]     minimum: 4.8e+09  mean: 4.8e+09  maximum: 4.8e+09

to the following:

[lbsStatistics] Descriptive statistics of final rank shared memory:
[lbsStatistics]     cardinality: 4  sum: 1.76e+10  imbalance: 0.0909091
[lbsStatistics]     minimum: 3.2e+09  mean: 4.4e+09  maximum: 4.8e+09

i.e., shared memory decreased. These results might be numerically incorrect (and probably are) but show that the implementation now allows for modification of shared memory properties as objects are transferred.

I suggest that numerical validation be made in a separate PR and that we review this one functionally before.

@lifflander @nlslatt

ppebay commented 1 year ago

@lifflander @nlslatt I overhauled the CI; all passing now.

Ready for review when you get a chance.

Thanks!

ppebay commented 1 year ago

Please @tlamonthezie confirm whether this breaks the CI/CD or not